tinybase 6.1.0-beta.5 → 6.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/persisters/index.d.ts +82 -0
- package/@types/persisters/with-schemas/index.d.ts +91 -0
- package/@types/store/index.d.ts +123 -1
- package/@types/store/with-schemas/index.d.ts +159 -24
- package/@types/ui-react/index.d.ts +120 -0
- package/@types/ui-react/with-schemas/index.d.ts +179 -37
- package/index.js +73 -53
- package/mergeable-store/index.js +73 -53
- package/mergeable-store/with-schemas/index.js +73 -53
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react/index.js +1 -1
- package/min/ui-react/index.js.gz +0 -0
- package/min/ui-react/with-schemas/index.js +1 -1
- package/min/ui-react/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +6 -6
- package/persisters/index.js +33 -8
- package/persisters/persister-automerge/index.js +23 -3
- package/persisters/persister-automerge/with-schemas/index.js +23 -3
- package/persisters/persister-browser/index.js +23 -3
- package/persisters/persister-browser/with-schemas/index.js +23 -3
- package/persisters/persister-cr-sqlite-wasm/index.js +33 -8
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +33 -8
- package/persisters/persister-durable-object-storage/index.js +23 -3
- package/persisters/persister-durable-object-storage/with-schemas/index.js +23 -3
- package/persisters/persister-electric-sql/index.js +33 -8
- package/persisters/persister-electric-sql/with-schemas/index.js +33 -8
- package/persisters/persister-expo-sqlite/index.js +33 -8
- package/persisters/persister-expo-sqlite/with-schemas/index.js +33 -8
- package/persisters/persister-file/index.js +23 -3
- package/persisters/persister-file/with-schemas/index.js +23 -3
- package/persisters/persister-indexed-db/index.js +23 -3
- package/persisters/persister-indexed-db/with-schemas/index.js +23 -3
- package/persisters/persister-libsql/index.js +33 -8
- package/persisters/persister-libsql/with-schemas/index.js +33 -8
- package/persisters/persister-partykit-client/index.js +23 -3
- package/persisters/persister-partykit-client/with-schemas/index.js +23 -3
- package/persisters/persister-pglite/index.js +33 -8
- package/persisters/persister-pglite/with-schemas/index.js +33 -8
- package/persisters/persister-postgres/index.js +33 -8
- package/persisters/persister-postgres/with-schemas/index.js +33 -8
- package/persisters/persister-powersync/index.js +33 -8
- package/persisters/persister-powersync/with-schemas/index.js +33 -8
- package/persisters/persister-remote/index.js +23 -3
- package/persisters/persister-remote/with-schemas/index.js +23 -3
- package/persisters/persister-sqlite-bun/index.js +33 -8
- package/persisters/persister-sqlite-bun/with-schemas/index.js +33 -8
- package/persisters/persister-sqlite-wasm/index.js +33 -8
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +33 -8
- package/persisters/persister-sqlite3/index.js +33 -8
- package/persisters/persister-sqlite3/with-schemas/index.js +33 -8
- package/persisters/persister-yjs/index.js +23 -3
- package/persisters/persister-yjs/with-schemas/index.js +23 -3
- package/persisters/with-schemas/index.js +33 -8
- package/readme.md +17 -17
- package/releases.md +60 -36
- package/store/index.js +73 -53
- package/store/with-schemas/index.js +73 -53
- package/synchronizers/index.js +27 -9
- package/synchronizers/synchronizer-broadcast-channel/index.js +27 -9
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-local/index.js +27 -9
- package/synchronizers/synchronizer-local/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-ws-client/index.js +27 -9
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-ws-server/index.js +27 -9
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +27 -9
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +27 -9
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +27 -9
- package/synchronizers/with-schemas/index.js +27 -9
- package/ui-react/index.js +84 -20
- package/ui-react/with-schemas/index.js +84 -20
- package/ui-react-dom/index.js +1 -1
- package/ui-react-dom/with-schemas/index.js +1 -1
- package/ui-react-inspector/index.js +97 -57
- package/ui-react-inspector/with-schemas/index.js +97 -57
- package/with-schemas/index.js +73 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",r=(a,t,e)=>a.replace(t,e),o=Promise,c=clearInterval,l=a=>null==a,w=(a,t,e)=>l(a)?e?.():t(a),u=t=>a(t)==s,y=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),g=a=>a.length,v=()=>{},p=async a=>o.all(a),E=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},N=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),$=(a,t)=>a.map(t),f=a=>0==g(a),h=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=a=>a.shift(),O=(a,t)=>a?.has(t)??!1,b=a=>l(a)||0==(a=>a?.size??0)(a),D=a=>[...a?.values()??[]],I=(a,t)=>a?.forEach(t),S=(a,t)=>a?.delete(t),L="_",R="_id",P="SELECT",M="WHERE",_="TABLE",F="ALTER "+_,U="FROM",j="DELETE "+U,B=P+"*"+U,J="pragma_",Y="data_version",k="schema_version",x="pragma_table_",z="CREATE "+_,G=a=>m($(((a,t="",e)=>a.split(t,e))(a,"."),(a=>`"${r(a,/"/g,'""')}"`)),"."),H=(a,t=[1])=>m($(a,(()=>"$"+t[0]++)),n),K=(a,t=i)=>M+`(${r(t,"$tableName",G(a))})`,Q=Object,V=a=>Q.getPrototypeOf(a),W=Q.entries,X=Q.keys,q=Q.freeze,Z=(a=[])=>Q.fromEntries(a),aa=(...a)=>Q.assign({},...a),ta=(a,t)=>(delete a[t],a),ea=(a,t)=>$(W(a),(([a,e])=>t(e,a))),na=(a,t)=>Z(ea(a,((a,e)=>[e,t(a,e)]))),sa=a=>Q.values(a),ia=a=>g(X(a)),ra=a=>(a=>!l(a)&&w(V(a),(a=>a==Q.prototype||l(V(a))),(()=>!0)))(a)&&0==ia(a),oa=a=>new Map(a),ca=(a,t)=>a?.get(t),la=(a,t)=>$([...a?.entries()??[]],(([a,e])=>t(e,a))),wa=(a,t,e)=>l(e)?(S(a,t),a):a?.set(t,e),ua=(a,t,e,n)=>(O(a,t)?n?.(ca(a,t)):wa(a,t,e()),ca(a,t)),ya=(a,t,e,n,s=0)=>w((e?ua:ca)(a,t[s],s>g(t)-2?e:oa),(i=>{if(s>g(t)-2)return n?.(i)&&wa(a,t[s]),i;const r=ya(i,t,e,n,s+1);return b(i)&&wa(a,t[s]),r})),da=a=>new Set(y(a)||l(a)?a:[a]),ga=(a,t)=>a?.add(t),va="ColumnName",pa="store",Ea="json",Aa=pa+"TableName",Na=pa+"Id"+va,ma=pa+va,$a="autoLoadIntervalSeconds",fa="rowId"+va,ha="tableId",Ca="tableName",Ta="deleteEmptyColumns",Oa="deleteEmptyTable",ba="condition",Da={mode:Ea,[$a]:1},Ia={load:0,save:0,[Ca]:t+"_values"},Sa=(a,t,e,n,s)=>{const i=oa();return na(a,((a,r)=>{const o=d(sa(aa(t,u(a)?{[e]:a}:a)),0,ia(t));l(o[0])||n(r,o[0])||(s(r,o[0]),wa(i,r,o))})),i},La=JSON.stringify,Ra=JSON.parse,Pa=/^\d+$/,Ma=oa(),_a=oa(),Fa=(a,t,n,s,i,r,o,c={},u=0,d=[])=>{let v,p,m,$=0,f=0,h=0;ua(Ma,d,(()=>0)),ua(_a,d,(()=>[]));const O=oa(),[D,L,R,P,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!ra(a)||!ra(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!ra(a)||!ra(t),t.setContent]:E("Store type not supported by this Persister"))(o,a,u),[_,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?T(a):null)??e+t++,t=>{Pa.test(t)&&g(a)<1e3&&C(a,t)}]})(),s=oa();return[(n,i,r,o=[],c=()=>[])=>{a??=Q;const l=t(1);return wa(s,l,[n,i,r,o,c]),ga(ya(i,r??[e],da),l),l},(t,n,...i)=>N(((a,t=[e])=>{const n=[],s=(a,e)=>e==g(t)?C(n,a):null===t[e]?I(a,(a=>s(a,e+1))):N([t[e],null],(t=>s(ca(a,t),e+1)));return s(a,0),n})(t,n),(t=>I(t,(t=>ca(s,t)[0](a,...n??[],...i))))),a=>w(ca(s,a),(([,t,i])=>(ya(t,i??[e],void 0,(t=>(S(t,a),b(t)?1:0))),wa(s,a),n(a),i))),t=>w(ca(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const o=g(r);o==g(e)?t(a,...r,...s(r)):l(e[o])?N(n[o]?.(...r)??[],(a=>i(...r,a))):i(...r,e[o])};i()}))]})(),j=a=>{a!=$&&($=a,F(O,void 0,$))},B=t=>{(D&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},J=async a=>(2!=$&&(j(1),f++,await K((async()=>{await A((async()=>{const e=await t();y(e)?B(e):a?M(a):E("Content is not an array: "+e)}),(()=>{a&&M(a)})),j(0)}))),Q),Y=async a=>(k(),await J(a),await A((async()=>p=await s((async(a,t)=>{t||a?2!=$&&(j(1),f++,B(t??a),j(0)):await J()}))),r),Q),k=async()=>(p&&(await A((()=>i(p)),r),p=void 0),Q),x=async a=>(1!=$&&(j(2),h++,await K((async()=>{await A((()=>n(L,a)),r),j(0)}))),Q),z=async()=>(G(),await x(),m=a.addDidFinishTransactionListener((()=>{const a=R();P(a)&&x(a)})),Q),G=async()=>(m&&(a.delListener(m),m=void 0),Q),H=async(a=!1)=>{const[t,e]=a?[G,k]:[k,G];return await t(),await e(),Q},K=async(...a)=>(C(ca(_a,d),...a),await(async()=>{if(!ca(Ma,d)){for(wa(Ma,d,1);!l(v=T(ca(_a,d)));)await A(v,r);wa(Ma,d,0)}})(),Q),Q={load:J,startAutoLoad:Y,stopAutoLoad:k,isAutoLoading:()=>!l(p),save:x,startAutoSave:z,stopAutoSave:G,isAutoSaving:()=>!l(m),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[z,Y]:[Y,z];return await e(a),await n(a),Q},stopAutoPersisting:H,getStatus:()=>$,addStatusListener:a=>_(a,O),delListener:t=>(U(t),a),schedule:K,getStore:()=>a,destroy:()=>(ca(_a,d).splice(0,void 0),H()),getStats:()=>({loads:f,saves:h}),...c};return q(Q)},Ua=(a,t,e,s,r,o=ja,c,w)=>{const u=oa();return[async()=>{u.clear(),$(await e(a,t),(({tn:a,cn:t})=>ga(ua(u,a,da),t)))},async(t,e,n)=>((a,t)=>O(ca(u,a),t))(t,e)?Z(h($(await a(B+G(t)+K(t,n)),(a=>[a[e],w?na(ta(a,e),w):ta(a,e)])),(([a,t])=>!l(a)&&!ra(t)))):{},async(t,e,s,w,y,d=!1,g=i)=>{const v=da();na(s??{},(a=>$(X(a??{}),(a=>ga(v,a)))));const E=D(v);if(!d&&y&&g==i&&f(E)&&O(u,t))return await a("DROP "+_+G(t)),void wa(u,t);const A=ca(u,t),N=da(D(A));if(f(E)||(O(u,t)?await p($([e,...E],(async(n,s)=>{S(N,n)||(await a(F+G(t)+"ADD"+G(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+G(t)+`(${G(e)})`),ga(A,n))}))):(await a(z+G(t)+`(${G(e)}${r} PRIMARY KEY${m($(E,(a=>n+G(a)+r)))});`),wa(u,t,da([e,...E])))),await p([...!d&&w?$(D(N),(async n=>{n!=e&&(await a(F+G(t)+"DROP"+G(n)),S(A,n))})):[]]),d)l(s)?await a(j+G(t)+K(t,g)):await p(ea(s,(async(n,s)=>{l(n)?await a(j+G(t)+K(t,g)+`AND(${G(e)}=$1)`,[s]):f(E)||await o(a,t,e,X(n),{[s]:c?$(sa(n),c):sa(n)},A)})));else if(f(E))O(u,t)&&await a(j+G(t)+K(t,g));else{const n=h(D(ca(u,t)),(a=>a!=e)),i={},r=[];na(s??{},((a,t)=>{i[t]=$(n,(t=>c?c(a?.[t]):a?.[t])),C(r,t)})),await o(a,t,e,n,i),await a(j+G(t)+K(t,g)+`AND${G(e)}NOT IN(${H(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await A((async()=>e=await t()),s),await a("END"),e}]},ja=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+G(t)+"("+((...a)=>m($(a,G),n))(e,...s)+")VALUES"+m(ea(i,(a=>"($"+r[0]+++","+H(a,r)+")")),n)+"ON CONFLICT("+G(e)+")DO UPDATE SET"+m($(s,(a=>G(a)+"=excluded."+G(a))),n),ea(i,((a,t)=>[t,...$(a,(a=>a??null))])).flat())},Ba=(a,t,e,n,s,i,r,[o,c,l],w,u,y,d,g,v)=>{const[p,E,A,N]=Ua(t,w,u,s,g,v),m=Fa(a,(()=>N((async()=>{return await p(),a=(await E(o,c))[L]?.[l]??"null",Ra(a,((a,t)=>""===t?void 0:t));var a}))),(a=>N((async()=>{var t;await p(),await A(o,c,{[L]:{[l]:(t=a()??null,La(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,y);return m},Ja=(a,t,e,n,s,i,r,[o,c,[w,u,y]],d,g,v,E,A,N,m,$)=>{const[f,C,T,O]=Ua(t,d,g,s,A,N,m,$),b=(a,t)=>p(la(c,(async([e,n,s,i,r],o)=>{t&&!(o in a)||await T(e,n,a[o],s,i,t,r)}))),D=async(a,t)=>u?await T(y,R,{[L]:a},!0,!0,t):null,I=Fa(a,(()=>O((async()=>{await f();const a=await(async()=>Z(h(await p(la(o,(async([a,t,e],n)=>[a,await C(n,t,e)]))),(a=>!ra(a[1])))))(),t=await(async()=>w?(await C(y,R))[L]:{})();return ra(a)&&l(t)?void 0:[a,t]}))),((a,t)=>O((async()=>{if(await f(),l(t)){const[t,e]=a();await b(t),await D(e)}else await b(t[0],!0),await D(t[1],!0)}))),e,n,s,r,{[E]:()=>v,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,v);return I},Ya=(a,n,s,r,o,l,w,y,g,v,p="getDb",E)=>{let N,m,$;const f=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,l),[h,C,T,b]=(a=>{const e=(a=>aa(Da,u(a)?{[Aa]:a}:a??{}))(a),n=e[$a];if(e.mode==Ea){const a=e[Aa]??t;return[1,n,[a,e[Na]??R,e[ma]??pa],da(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=d(sa(aa(Ia,o)),0,ia(Ia)),l=c[2],w=da(l),y=da(l),g=Sa(s,{[ha]:null,[fa]:R,[ba]:i},ha,(a=>O(y,a)),(a=>ga(w,a))),v=Sa(r,{[Ca]:null,[fa]:R,[Ta]:0,[Oa]:0,[ba]:null},Ca,((a,t)=>O(y,t)),((a,t)=>ga(w,t)));var p;return p=(a,t)=>t[4]??=ca(g,t[0])?.[2]??i,I(v,((a,t)=>p(0,a))),[0,n,[g,v,c],w]})(n);return(h?Ba:Ja)(a,f,(a=>{let t;const e=()=>t=setInterval((()=>A((async()=>{const[{d:t,s:e,c:n}]=await f(P+` ${Y} d,${k} s,TOTAL_CHANGES() c FROM ${J}${Y} JOIN ${J}${k}`);t==N&&e==m&&n==$||(null!=N&&a(),N=t,m=e,$=n)}))),1e3*C),n=()=>{N=m=$=null,c(t)},s=r((t=>{b.has(t)&&(n(),a(),e())}));return e(),()=>{n(),o(s)}}),(a=>a()),w,y,g,T,D(b),(async(a,t)=>await a(P+` t.name tn,c.name cn FROM ${x}list()t,${x}info(t.name)c ${M} t.schema='main'AND t.type IN('table','view')AND t.name IN(${H(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},ka="change",xa=(a,t,e,n,s)=>Ya(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ka,e),e}),(a=>t.off(ka,a)),n,s,v,3,t);export{xa as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",r=(a,t,e)=>a.replace(t,e),o=Promise,c=clearInterval,l=a=>null==a,w=(a,t,e)=>l(a)?e?.():t(a),u=t=>a(t)==s,y=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),g=a=>a.length,v=()=>{},p=async a=>o.all(a),E=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},N=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),$=(a,t)=>a.map(t),f=a=>0==g(a),h=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),T=a=>a.shift(),O=(a,t)=>a?.has(t)??!1,b=a=>l(a)||0==(a=>a?.size??0)(a),D=a=>[...a?.values()??[]],I=(a,t)=>a?.forEach(t),S=(a,t)=>a?.delete(t),L="_",R="_id",P="SELECT",M="WHERE",_="TABLE",F="ALTER "+_,U="FROM",j="DELETE "+U,B=P+"*"+U,J="pragma_",Y="data_version",k="schema_version",x="pragma_table_",z="CREATE "+_,G=a=>m($(((a,t="",e)=>a.split(t,e))(a,"."),(a=>`"${r(a,/"/g,'""')}"`)),"."),H=(a,t=[1])=>m($(a,(()=>"$"+t[0]++)),n),K=(a,t=i)=>M+`(${r(t,"$tableName",G(a))})`,Q=Object,V=a=>Q.getPrototypeOf(a),W=Q.entries,X=Q.keys,q=Q.freeze,Z=(a=[])=>Q.fromEntries(a),aa=(...a)=>Q.assign({},...a),ta=(a,t)=>(delete a[t],a),ea=(a,t)=>$(W(a),(([a,e])=>t(e,a))),na=(a,t)=>Z(ea(a,((a,e)=>[e,t(a,e)]))),sa=a=>Q.values(a),ia=a=>g(X(a)),ra=a=>(a=>!l(a)&&w(V(a),(a=>a==Q.prototype||l(V(a))),(()=>!0)))(a)&&0==ia(a),oa=a=>new Map(a),ca=(a,t)=>a?.get(t),la=(a,t)=>$([...a?.entries()??[]],(([a,e])=>t(e,a))),wa=(a,t,e)=>l(e)?(S(a,t),a):a?.set(t,e),ua=(a,t,e,n)=>(O(a,t)?n?.(ca(a,t)):wa(a,t,e()),ca(a,t)),ya=(a,t,e,n,s=0)=>w((e?ua:ca)(a,t[s],s>g(t)-2?e:oa),(i=>{if(s>g(t)-2)return n?.(i)&&wa(a,t[s]),i;const r=ya(i,t,e,n,s+1);return b(i)&&wa(a,t[s]),r})),da=a=>new Set(y(a)||l(a)?a:[a]),ga=(a,t)=>a?.add(t),va="ColumnName",pa="store",Ea="json",Aa=pa+"TableName",Na=pa+"Id"+va,ma=pa+va,$a="autoLoadIntervalSeconds",fa="rowId"+va,ha="tableId",Ca="tableName",Ta="deleteEmptyColumns",Oa="deleteEmptyTable",ba="condition",Da={mode:Ea,[$a]:1},Ia={load:0,save:0,[Ca]:t+"_values"},Sa=(a,t,e,n,s)=>{const i=oa();return na(a,((a,r)=>{const o=d(sa(aa(t,u(a)?{[e]:a}:a)),0,ia(t));l(o[0])||n(r,o[0])||(s(r,o[0]),wa(i,r,o))})),i},La=JSON.stringify,Ra=JSON.parse,Pa=/^\d+$/,Ma=oa(),_a=oa(),Fa=(a,t,n,s,i,r,o,c={},u=0,d=[])=>{let v,p,m,$=0,f=0,h=0;ua(Ma,d,(()=>0)),ua(_a,d,(()=>[]));const O=oa(),[D,L,R,P,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!ra(a)||!ra(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!ra(a)||!ra(t),t.setContent]:E("Store type not supported by this Persister"))(o,a,u),[_,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?T(a):null)??e+t++,t=>{Pa.test(t)&&g(a)<1e3&&C(a,t)}]})(),s=oa();return[(n,i,r,o=[],c=()=>[])=>{a??=Q;const l=t(1);return wa(s,l,[n,i,r,o,c]),ga(ya(i,r??[e],da),l),l},(t,n,...i)=>N(((a,t=[e])=>{const n=[],s=(a,e)=>e==g(t)?C(n,a):null===t[e]?I(a,(a=>s(a,e+1))):N([t[e],null],(t=>s(ca(a,t),e+1)));return s(a,0),n})(t,n),(t=>I(t,(t=>ca(s,t)[0](a,...n??[],...i))))),a=>w(ca(s,a),(([,t,i])=>(ya(t,i??[e],void 0,(t=>(S(t,a),b(t)?1:0))),wa(s,a),n(a),i))),t=>w(ca(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const o=g(r);o==g(e)?t(a,...r,...s(r)):l(e[o])?N(n[o]?.(...r)??[],(a=>i(...r,a))):i(...r,e[o])};i()}))]})(),j=a=>{a!=$&&($=a,F(O,void 0,$))},B=t=>{(D&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},J=async a=>(2!=$&&(j(1),f++,await K((async()=>{await A((async()=>{const e=await t();y(e)?B(e):a?M(a):E("Content is not an array: "+e)}),(()=>{a&&M(a)})),j(0)}))),Q),Y=async a=>(k(),await J(a),await A((async()=>p=await s((async(a,t)=>{t||a?2!=$&&(j(1),f++,B(t??a),j(0)):await J()}))),r),Q),k=async()=>(p&&(await A((()=>i(p)),r),p=void 0),Q),x=async a=>(1!=$&&(j(2),h++,await K((async()=>{await A((()=>n(L,a)),r),j(0)}))),Q),z=async()=>(G(),await x(),m=a.addDidFinishTransactionListener((()=>{const a=R();P(a)&&x(a)})),Q),G=async()=>(m&&(a.delListener(m),m=void 0),Q),H=async(a=!1)=>{const[t,e]=a?[G,k]:[k,G];return await t(),await e(),Q},K=async(...a)=>(C(ca(_a,d),...a),await(async()=>{if(!ca(Ma,d)){for(wa(Ma,d,1);!l(v=T(ca(_a,d)));)await A(v,r);wa(Ma,d,0)}})(),Q),Q={load:J,startAutoLoad:Y,stopAutoLoad:k,isAutoLoading:()=>!l(p),save:x,startAutoSave:z,stopAutoSave:G,isAutoSaving:()=>!l(m),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[z,Y]:[Y,z];return await e(a),await n(a),Q},stopAutoPersisting:H,getStatus:()=>$,addStatusListener:a=>_(a,O),delListener:t=>(U(t),a),schedule:K,getStore:()=>a,destroy:()=>(ca(_a,d).splice(0,void 0),H()),getStats:()=>({loads:f,saves:h}),...c};return q(Q)},Ua=(a,t,e,s,r,o=ja,c,w)=>{const u=oa();return[async()=>{u.clear(),$(await e(a,t),(({tn:a,cn:t})=>ga(ua(u,a,da),t)))},async(t,e,n)=>((a,t)=>O(ca(u,a),t))(t,e)?Z(h($(await a(B+G(t)+K(t,n)),(a=>[a[e],w?na(ta(a,e),w):ta(a,e)])),(([a,t])=>!l(a)&&!ra(t)))):{},async(t,e,s,w,y,d=!1,g=i)=>{const v=da();na(s??{},(a=>$(X(a??{}),(a=>ga(v,a)))));const E=D(v);if(!d&&y&&g==i&&f(E)&&O(u,t))return await a("DROP "+_+G(t)),void wa(u,t);const A=ca(u,t),N=da(D(A));if(f(E)||(O(u,t)?await p($([e,...E],(async(n,s)=>{S(N,n)||(await a(F+G(t)+"ADD"+G(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+G(t)+`(${G(e)})`),ga(A,n))}))):(await a(z+G(t)+`(${G(e)}${r} PRIMARY KEY${m($(E,(a=>n+G(a)+r)))});`),wa(u,t,da([e,...E])))),await p([...!d&&w?$(D(N),(async n=>{n!=e&&(await a(F+G(t)+"DROP"+G(n)),S(A,n))})):[]]),d)l(s)?await a(j+G(t)+K(t,g)):await p(ea(s,(async(n,s)=>{l(n)?await a(j+G(t)+K(t,g)+`AND(${G(e)}=$1)`,[s]):f(E)||await o(a,t,e,X(n),{[s]:c?$(sa(n),c):sa(n)},A)})));else if(f(E))O(u,t)&&await a(j+G(t)+K(t,g));else{const n=h(D(ca(u,t)),(a=>a!=e)),i={},r=[];na(s??{},((a,t)=>{i[t]=$(n,(t=>c?c(a?.[t]):a?.[t])),C(r,t)})),await o(a,t,e,n,i),await a(j+G(t)+K(t,g)+`AND${G(e)}NOT IN(${H(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await A((async()=>e=await t()),s),await a("END"),e}]},ja=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+G(t)+"("+((...a)=>m($(a,G),n))(e,...s)+")VALUES"+m(ea(i,(a=>"($"+r[0]+++","+H(a,r)+")")),n)+"ON CONFLICT("+G(e)+")DO UPDATE SET"+m($(s,(a=>G(a)+"=excluded."+G(a))),n),ea(i,((a,t)=>[t,...$(a,(a=>a??null))])).flat())},Ba=(a,t,e,n,s,i,r,[o,c,l],w,u,y,d,g,v)=>{const[p,E,A,N]=Ua(t,w,u,s,g,v),m=Fa(a,(()=>N((async()=>{return await p(),a=(await E(o,c))[L]?.[l]??"null",Ra(a,((a,t)=>""===t?void 0:t));var a}))),(a=>N((async()=>{var t;await p(),await A(o,c,{[L]:{[l]:(t=a()??null,La(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,y);return m},Ja=(a,t,e,n,s,i,r,[o,c,[w,u,y]],d,g,v,E,A,N,m,$)=>{const[f,C,T,O]=Ua(t,d,g,s,A,N,m,$),b=(a,t)=>p(la(c,(async([e,n,s,i,r],o)=>{t&&!(o in a)||await T(e,n,a[o],s,i,t,r)}))),D=async(a,t)=>u?await T(y,R,{[L]:a},!0,!0,t):null,I=Fa(a,(()=>O((async()=>{await f();const a=await(async()=>Z(h(await p(la(o,(async([a,t,e],n)=>[a,await C(n,t,e)]))),(a=>!ra(a[1])))))(),t=await(async()=>w?(await C(y,R))[L]:{})();return ra(a)&&l(t)?void 0:[a,t]}))),((a,t)=>O((async()=>{if(await f(),l(t)){const[t,e]=a();await b(t),await D(e)}else await b(t[0],!0),await D(t[1],!0)}))),e,n,s,r,{[E]:()=>v,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,v);return I},Ya=(a,n,s,r,o,l,w,y,g,v,p="getDb",E)=>{let N,m,$;const f=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,l),[h,C,T,b]=(a=>{const e=(a=>aa(Da,u(a)?{[Aa]:a}:a??{}))(a),n=e[$a];if(e.mode==Ea){const a=e[Aa]??t;return[1,n,[a,e[Na]??R,e[ma]??pa],da(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=d(sa(aa(Ia,o)),0,ia(Ia)),l=c[2],w=da(l),y=da(l),g=Sa(s,{[ha]:null,[fa]:R,[ba]:i},ha,(a=>O(y,a)),(a=>ga(w,a))),v=Sa(r,{[Ca]:null,[fa]:R,[Ta]:0,[Oa]:0,[ba]:null},Ca,((a,t)=>O(y,t)),((a,t)=>ga(w,t)));var p;return p=(a,t)=>t[4]??=ca(g,t[0])?.[2]??i,I(v,((a,t)=>p(0,a))),[0,n,[g,v,c],w]})(n);return(h?Ba:Ja)(a,f,(a=>{let t;const e=()=>t=setInterval((()=>A((async()=>{const[{d:t,s:e,c:n}]=await f(P+` ${Y} d,${k} s,TOTAL_CHANGES() c FROM ${J}${Y} JOIN ${J}${k}`);t==N&&e==m&&n==$||(null!=N&&a(),N=t,m=e,$=n)}))),1e3*C),n=()=>{N=m=$=null,c(t)},s=r((t=>{b.has(t)&&(n(),a(),e())}));return e(),()=>{n(),o(s)}}),(a=>a()),w,y,g,T,D(b),(async(a,t)=>await a(P+` t.name tn,c.name cn FROM ${x}list()t,${x}info(t.name)c ${M} t.schema='main'AND t.type IN('table','view')AND t.name IN(${H(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},ka="change",xa=(a,t,e,n,s)=>Ya(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new o(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ka,e),e}),(a=>t.off(ka,a)),n,s,v,3,t);export{xa as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},l=(t,e)=>t.forEach(e),g=(t,...e)=>t.push(...e),u=t=>t.shift(),d=t=>n(t)||0==(t=>t?.size??0)(t),y=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),h=w.entries,
|
|
1
|
+
import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},l=(t,e)=>t.forEach(e),g=(t,...e)=>t.push(...e),u=t=>t.shift(),d=t=>n(t)||0==(t=>t?.size??0)(t),y=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),h=w.entries,f=w.keys,S=w.freeze,C=(t=[])=>w.fromEntries(t),b=(t,e)=>e in t,A=(t,e)=>C(((t,e)=>((t,e)=>t.map(e))(h(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),M=t=>(t=>!n(t)&&s(v(t),(t=>t==w.prototype||n(v(t))),(()=>!0)))(t)&&0==(t=>r(f(t)))(t),O=(t,e,a)=>(b(t,e)||(t[e]=a()),t[e]),L=t=>new Map(t),J=(t,e)=>t?.get(e),N=(t,e)=>y(t,((t,a)=>e(a,t))),z=(t,e,a)=>n(a)?(p(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(J(t,e)):z(t,e,a()),J(t,e)},E=(t,e,a,n,o=0)=>s((a?D:J)(t,e[o],o>r(e)-2?a:L),(s=>{if(o>r(e)-2)return n?.(s)&&z(t,e[o]),s;const i=E(s,e,a,n,o+1);return d(s)&&z(t,e[o]),i})),m=/^\d+$/,P=t=>new Set(o(t)||n(t)?t:[t]),T=L(),j=L(),k=(t,e,a,w,v,h,f,C={},b=0,A=[])=>{let O,N,k,x=0,F=0,Y=0;D(T,A,(()=>0)),D(j,A,(()=>[]));const $=L(),[q,B,G,H,I]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!M(t)||!M(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!M(t)||!M(e),e.setContent]:i("Store type not supported by this Persister"))(f,t,b),[K,Q,R]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?u(t):null)??""+e++,e=>{m.test(e)&&r(t)<1e3&&g(t,e)}]})(),o=L();return[(a,n,s,r=[],i=()=>[])=>{t??=st;const c=e(1);var l,g;return z(o,c,[a,n,s,r,i]),l=E(n,s??[""],P),g=c,l?.add(g),c},(e,a,...n)=>l(((t,e=[""])=>{const a=[],n=(t,s)=>s==r(e)?g(a,t):null===e[s]?y(t,(t=>n(t,s+1))):l([e[s],null],(e=>n(J(t,e),s+1)));return n(t,0),a})(e,a),(e=>y(e,(e=>J(o,e)[0](t,...a??[],...n))))),t=>s(J(o,t),(([,e,n])=>(E(e,n??[""],void 0,(e=>(p(e,t),d(e)?1:0))),z(o,t),a(t),n))),e=>s(J(o,e),(([e,,a=[],s,o])=>{const i=(...c)=>{const g=r(c);g==r(a)?e(t,...c,...o(c)):n(a[g])?l(s[g]?.(...c)??[],(t=>i(...c,t))):i(...c,a[g])};i()}))]})(),U=t=>{t!=x&&(x=t,Q($,void 0,x))},V=e=>{(q&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=x&&(U(1),F++,await nt((async()=>{await c((async()=>{const a=await e();o(a)?V(a):t?I(t):i("Content is not an array: "+a)}),(()=>{t&&I(t)})),U(0)}))),st),X=async t=>(Z(),await W(t),await c((async()=>N=await w((async(t,e)=>{e||t?2!=x&&(U(1),F++,V(e??t),U(0)):await W()}))),h),st),Z=async()=>(N&&(await c((()=>v(N)),h),N=void 0),st),_=async t=>(1!=x&&(U(2),Y++,await nt((async()=>{await c((()=>a(B,t)),h),U(0)}))),st),tt=async()=>(et(),await _(),k=t.addDidFinishTransactionListener((()=>{const t=G();H(t)&&_(t)})),st),et=async()=>(k&&(t.delListener(k),k=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...t)=>(g(J(j,A),...t),await(async()=>{if(!J(T,A)){for(z(T,A,1);!n(O=u(J(j,A)));)await c(O,h);z(T,A,0)}})(),st),st={load:W,startAutoLoad:X,stopAutoLoad:Z,isAutoLoading:()=>!n(N),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!n(k),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,X]:[X,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>x,addStatusListener:t=>K(t,$),delListener:e=>(R(e),t),schedule:nt,getStore:()=>t,destroy:()=>(J(j,A).splice(0,void 0),at()),getStats:()=>({loads:F,saves:Y}),...C};return S(st)},x="delete",F=t=>[t.get(e),t.get(a)],Y=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return A(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{b(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},$=(o,i,c="tinybase",g)=>{const d=i.getMap(c);return k(o,(async()=>d.size?[d.get(e).toJSON(),d.get(a).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,l]=F(o),g=()=>{u=1};let u=1;if(s(i,(([t,e])=>{u=0,A(t,((t,e)=>u?0:n(t)?c.delete(e):s(c.get(e),(e=>A(t,((t,a)=>u?0:n(t)?e.delete(a):s(e.get(a),(e=>A(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),g)))),g))),A(e,((t,e)=>u?0:n(t)?l.delete(e):l.set(e,t)))})),u){const[t,e]=r();Y(c,void 0,t,((t,e,a)=>Y(c,e,a,((t,e,a)=>Y(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),Y(l,void 0,e,((t,e,a)=>{l.get(e)!==a&&l.set(e,a)}))}})(d,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==r(n)&&(o=n[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var o;const[i,c]=F(t),g={},d={};return l(n,(({path:t,changes:{keys:a}})=>u(t)==e?s(u(t),(e=>{const n=O(g,e,C),o=i.get(e);s(u(t),(t=>{const e=O(n,t,C),s=o.get(t);N(a,((t,{action:a})=>e[t]=a==x?null:s.get(t)))}),(()=>N(a,((t,{action:e})=>n[t]=e==x?null:o.get(t)?.toJSON()))))}),(()=>N(a,((t,{action:e})=>g[t]=e==x?null:i.get(t)?.toJSON())))):N(a,((t,{action:e})=>d[t]=e==x?null:c.get(t))))),[g,d,1]})(d,n));return d.observeDeep(n),n}),(t=>{d.unobserveDeep(t)}),g,1,{getYDoc:()=>i})};export{$ as createYjsPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},l=(t,e)=>t.forEach(e),g=(t,...e)=>t.push(...e),u=t=>t.shift(),d=t=>n(t)||0==(t=>t?.size??0)(t),y=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),h=w.entries,
|
|
1
|
+
import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},l=(t,e)=>t.forEach(e),g=(t,...e)=>t.push(...e),u=t=>t.shift(),d=t=>n(t)||0==(t=>t?.size??0)(t),y=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),h=w.entries,f=w.keys,S=w.freeze,C=(t=[])=>w.fromEntries(t),b=(t,e)=>e in t,A=(t,e)=>C(((t,e)=>((t,e)=>t.map(e))(h(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),M=t=>(t=>!n(t)&&s(v(t),(t=>t==w.prototype||n(v(t))),(()=>!0)))(t)&&0==(t=>r(f(t)))(t),O=(t,e,a)=>(b(t,e)||(t[e]=a()),t[e]),L=t=>new Map(t),J=(t,e)=>t?.get(e),N=(t,e)=>y(t,((t,a)=>e(a,t))),z=(t,e,a)=>n(a)?(p(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(J(t,e)):z(t,e,a()),J(t,e)},E=(t,e,a,n,o=0)=>s((a?D:J)(t,e[o],o>r(e)-2?a:L),(s=>{if(o>r(e)-2)return n?.(s)&&z(t,e[o]),s;const i=E(s,e,a,n,o+1);return d(s)&&z(t,e[o]),i})),m=/^\d+$/,P=t=>new Set(o(t)||n(t)?t:[t]),T=L(),j=L(),k=(t,e,a,w,v,h,f,C={},b=0,A=[])=>{let O,N,k,x=0,F=0,Y=0;D(T,A,(()=>0)),D(j,A,(()=>[]));const $=L(),[q,B,G,H,I]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!M(t)||!M(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!M(t)||!M(e),e.setContent]:i("Store type not supported by this Persister"))(f,t,b),[K,Q,R]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?u(t):null)??""+e++,e=>{m.test(e)&&r(t)<1e3&&g(t,e)}]})(),o=L();return[(a,n,s,r=[],i=()=>[])=>{t??=st;const c=e(1);var l,g;return z(o,c,[a,n,s,r,i]),l=E(n,s??[""],P),g=c,l?.add(g),c},(e,a,...n)=>l(((t,e=[""])=>{const a=[],n=(t,s)=>s==r(e)?g(a,t):null===e[s]?y(t,(t=>n(t,s+1))):l([e[s],null],(e=>n(J(t,e),s+1)));return n(t,0),a})(e,a),(e=>y(e,(e=>J(o,e)[0](t,...a??[],...n))))),t=>s(J(o,t),(([,e,n])=>(E(e,n??[""],void 0,(e=>(p(e,t),d(e)?1:0))),z(o,t),a(t),n))),e=>s(J(o,e),(([e,,a=[],s,o])=>{const i=(...c)=>{const g=r(c);g==r(a)?e(t,...c,...o(c)):n(a[g])?l(s[g]?.(...c)??[],(t=>i(...c,t))):i(...c,a[g])};i()}))]})(),U=t=>{t!=x&&(x=t,Q($,void 0,x))},V=e=>{(q&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=x&&(U(1),F++,await nt((async()=>{await c((async()=>{const a=await e();o(a)?V(a):t?I(t):i("Content is not an array: "+a)}),(()=>{t&&I(t)})),U(0)}))),st),X=async t=>(Z(),await W(t),await c((async()=>N=await w((async(t,e)=>{e||t?2!=x&&(U(1),F++,V(e??t),U(0)):await W()}))),h),st),Z=async()=>(N&&(await c((()=>v(N)),h),N=void 0),st),_=async t=>(1!=x&&(U(2),Y++,await nt((async()=>{await c((()=>a(B,t)),h),U(0)}))),st),tt=async()=>(et(),await _(),k=t.addDidFinishTransactionListener((()=>{const t=G();H(t)&&_(t)})),st),et=async()=>(k&&(t.delListener(k),k=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...t)=>(g(J(j,A),...t),await(async()=>{if(!J(T,A)){for(z(T,A,1);!n(O=u(J(j,A)));)await c(O,h);z(T,A,0)}})(),st),st={load:W,startAutoLoad:X,stopAutoLoad:Z,isAutoLoading:()=>!n(N),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!n(k),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,X]:[X,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>x,addStatusListener:t=>K(t,$),delListener:e=>(R(e),t),schedule:nt,getStore:()=>t,destroy:()=>(J(j,A).splice(0,void 0),at()),getStats:()=>({loads:F,saves:Y}),...C};return S(st)},x="delete",F=t=>[t.get(e),t.get(a)],Y=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return A(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{b(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},$=(o,i,c="tinybase",g)=>{const d=i.getMap(c);return k(o,(async()=>d.size?[d.get(e).toJSON(),d.get(a).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,l]=F(o),g=()=>{u=1};let u=1;if(s(i,(([t,e])=>{u=0,A(t,((t,e)=>u?0:n(t)?c.delete(e):s(c.get(e),(e=>A(t,((t,a)=>u?0:n(t)?e.delete(a):s(e.get(a),(e=>A(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),g)))),g))),A(e,((t,e)=>u?0:n(t)?l.delete(e):l.set(e,t)))})),u){const[t,e]=r();Y(c,void 0,t,((t,e,a)=>Y(c,e,a,((t,e,a)=>Y(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),Y(l,void 0,e,((t,e,a)=>{l.get(e)!==a&&l.set(e,a)}))}})(d,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==r(n)&&(o=n[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var o;const[i,c]=F(t),g={},d={};return l(n,(({path:t,changes:{keys:a}})=>u(t)==e?s(u(t),(e=>{const n=O(g,e,C),o=i.get(e);s(u(t),(t=>{const e=O(n,t,C),s=o.get(t);N(a,((t,{action:a})=>e[t]=a==x?null:s.get(t)))}),(()=>N(a,((t,{action:e})=>n[t]=e==x?null:o.get(t)?.toJSON()))))}),(()=>N(a,((t,{action:e})=>g[t]=e==x?null:i.get(t)?.toJSON())))):N(a,((t,{action:e})=>d[t]=e==x?null:c.get(t))))),[g,d,1]})(d,n));return d.observeDeep(n),n}),(t=>{d.unobserveDeep(t)}),g,1,{getYDoc:()=>i})};export{$ as createYjsPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",o=(a,t,e)=>a.replace(t,e),r=Promise,c=globalThis,l=clearInterval,w=a=>null==a,d=(a,t,e)=>w(a)?e?.():t(a),y=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,$=async a=>r.all(a),A=a=>{throw Error(a)},g=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==N(a),v=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),S=a=>a.shift(),I=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),b=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,M=D.keys,F=D.freeze,P=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),(([a,e])=>t(e,a))),x=(a,t)=>P(j(a,((a,e)=>[e,t(a,e)]))),B=a=>D.values(a),H=a=>N(M(a)),W=a=>(a=>!w(a)&&d(f(a),(a=>a==D.prototype||w(f(a))),(()=>!0)))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>w(e)?(b(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(I(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>d((e?z:X)(a,t[s],s>N(t)-2?e:Y),(i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const o=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),o})),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,o,r,c={},l=0,y=[])=>{let E,$,m,T=0,p=0,v=0;z(ta,y,(()=>0)),z(ea,y,(()=>[]));const I=Y(),[L,D,f,h,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:A("Store type not supported by this Persister"))(r,a,l),[P,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?S(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&R(a,t)}]})(),s=Y();return[(n,i,o,r=[],c=()=>[])=>{a??=na;const l=t(1);return k(s,l,[n,i,o,r,c]),Q(K(i,o??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?R(n,a):null===t[e]?C(a,(a=>s(a,e+1))):O([t[e],null],(t=>s(X(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>X(s,t)[0](a,...n??[],...i))))),a=>d(X(s,a),(([,t,i])=>(K(t,i??[e],void 0,(t=>(b(t,a),_(t)?1:0))),k(s,a),n(a),i))),t=>d(X(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const r=N(o);r==N(e)?t(a,...o,...s(o)):w(e[r])?O(n[r]?.(...o)??[],(a=>i(...o,a))):i(...o,e[r])};i()}))]})(),j=a=>{a!=T&&(T=a,U(I,void 0,T))},x=t=>{(L&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),p++,await aa((async()=>{await g((async()=>{const e=await t();u(e)?x(e):a?M(a):A("Content is not an array: "+e)}),(()=>{a&&M(a)})),j(0)}))),na),H=async()=>($&&(await g((()=>i($)),o),$=void 0),na),J=async a=>(1!=T&&(j(2),v++,await aa((async()=>{await g((()=>n(D,a)),o),j(0)}))),na),Z=async()=>(m&&(a.delListener(m),m=void 0),na),aa=async(...a)=>(R(X(ea,y),...a),await(async()=>{if(!X(ta,y)){for(k(ta,y,1);!w(E=S(X(ea,y)));)await g(E,o);k(ta,y,0)}})(),na),na={load:B,startAutoLoad:async a=>(H(),await B(a),await g((async()=>$=await s((async(a,t)=>{t||a?2!=T&&(j(1),p++,x(t??a),j(0)):await B()}))),o),na),stopAutoLoad:H,isAutoLoading:()=>!w($),save:J,startAutoSave:async()=>(Z(),await J(),m=a.addDidFinishTransactionListener((()=>{const a=f();h(a)&&J(a)})),na),stopAutoSave:Z,isAutoSaving:()=>!w(m),getStatus:()=>T,addStatusListener:a=>P(a,I),delListener:t=>(G(t),a),schedule:aa,getStore:()=>a,destroy:async()=>(X(ea,y).splice(0,void 0),await na.stopAutoLoad(),await na.stopAutoSave()),getStats:()=>({loads:p,saves:v}),...c};return F(na)},sa=new c.TextEncoder,ia=JSON.stringify,oa=JSON.parse,ra=a=>ia(a,((a,t)=>void 0===t?"":t)),ca="_",la="_id",wa="SELECT",da="WHERE",ya="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",$a="ALTER "+ya,Aa="FROM",ga=Ea+" "+Aa,Oa=wa+"*"+Aa,ma="pragma_",Ta="data_version",pa="schema_version",va="pragma_table_",Ra="CREATE ",Sa=Ra+ya,Ia="OR REPLACE ",_a="FUNCTION",La="$tableName",Ca=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,ba=a=>`"${o(a,/"/g,'""')}"`,Da=(...a)=>ba(m(a,"_")),fa=(a,t=[1])=>m(T(a,(()=>"$"+t[0]++)),n),ha=(a,t=i)=>da+`(${o(t,La,ba(a))})`,Ma="ColumnName",Fa="store",Pa="json",Ua=Fa+"TableName",Ga=Fa+"Id"+Ma,ja=Fa+Ma,xa="autoLoadIntervalSeconds",Ba="rowId"+Ma,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Pa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,((a,o)=>{const r=E(B(U(t,y(a)?{[e]:a}:a)),0,H(t));w(r[0])||n(o,r[0])||(s(o,r[0]),k(i,o,r))})),i},Va=a=>{const e=(a=>U(ka,y(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Pa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Fa],q(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,c=E(B(U(za,r)),0,H(za)),l=c[2],w=q(l),d=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,(a=>I(d,a)),(a=>Q(w,a))),N=Ka(o,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,((a,t)=>I(d,t)),((a,t)=>Q(w,t)));var $;return $=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,C(N,((a,t)=>$(0,a))),[0,n,[u,N,c],w]},qa=(a,t,e,s,o,r=Qa,c,l)=>{const d=Y();return[async()=>{d.clear(),T(await e(a,t),(({tn:a,cn:t})=>Q(z(d,a,q),t)))},async(t,e,n)=>((a,t)=>I(X(d,a),t))(t,e)?P(v(T(await a(Oa+ba(t)+ha(t,n)),(a=>[a[e],l?x(G(a,e),l):G(a,e)])),(([a,t])=>!w(a)&&!W(t)))):{},async(t,e,s,l,y,u=!1,E=i)=>{const N=q();x(s??{},(a=>T(M(a??{}),(a=>Q(N,a)))));const A=L(N);if(!u&&y&&E==i&&p(A)&&I(d,t))return await a("DROP "+ya+ba(t)),void k(d,t);const g=X(d,t),O=q(L(g));if(p(A)||(I(d,t)?await $(T([e,...A],(async(n,s)=>{b(O,n)||(await a($a+ba(t)+"ADD"+ba(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+ba(t)+`(${ba(e)})`),Q(g,n))}))):(await a(Sa+ba(t)+`(${ba(e)}${o} PRIMARY KEY${m(T(A,(a=>n+ba(a)+o)))});`),k(d,t,q([e,...A])))),await $([...!u&&l?T(L(O),(async n=>{n!=e&&(await a($a+ba(t)+"DROP"+ba(n)),b(g,n))})):[]]),u)w(s)?await a(ga+ba(t)+ha(t,E)):await $(j(s,(async(n,s)=>{w(n)?await a(ga+ba(t)+ha(t,E)+`AND(${ba(e)}=$1)`,[s]):p(A)||await r(a,t,e,M(n),{[s]:c?T(B(n),c):B(n)},g)})));else if(p(A))I(d,t)&&await a(ga+ba(t)+ha(t,E));else{const n=v(L(X(d,t)),(a=>a!=e)),i={},o=[];x(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),R(o,t)})),await r(a,t,e,n,i),await a(ga+ba(t)+ha(t,E)+`AND${ba(e)}NOT IN(${fa(o)})`,o)}},async t=>{let e;return await a("BEGIN"),await g((async()=>e=await t()),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const o=[1];await a(ua+" INTO"+ba(t)+"("+((...a)=>m(T(a,ba),n))(e,...s)+")VALUES"+m(j(i,(a=>"($"+o[0]+++","+fa(a,o)+")")),n)+"ON CONFLICT("+ba(e)+`)DO ${Na} SET`+m(T(s,(a=>ba(a)+"=excluded."+ba(a))),n),j(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Za=(a,t,e,n,s,i,o,[r,c,l],w,d,y,u,E,N)=>{const[$,A,g,O]=qa(t,w,d,s,E,N),m=na(a,(()=>O((async()=>{return await $(),a=(await A(r,c))[ca]?.[l]??"null",oa(a,((a,t)=>""===t?void 0:t));var a}))),(a=>O((async()=>{await $(),await g(r,c,{[ca]:{[l]:ra(a()??null)}},!0,!0)}))),e,n,s,o,{[u]:()=>y,destroy:async()=>(await m.stopAutoLoad(),await m.stopAutoSave(),i(),m)},0,y);return m},at=(a,t,e,n,s,i,o,[r,c,[l,d,y]],u,E,N,A,g,O,m,T)=>{const[p,R,S,I]=qa(t,u,E,s,g,O,m,T),_=(a,t)=>$(J(c,(async([e,n,s,i,o],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t,o)}))),L=async(a,t)=>d?await S(y,la,{[ca]:a},!0,!0,t):null,C=na(a,(()=>I((async()=>{await p();const a=await(async()=>P(v(await $(J(r,(async([a,t,e],n)=>[a,await R(n,t,e)]))),(a=>!W(a[1])))))(),t=await(async()=>l?(await R(y,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}))),((a,t)=>I((async()=>{if(await p(),w(t)){const[t,e]=a();await _(t),await L(e)}else await _(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[A]:()=>N,destroy:async()=>(await C.stopAutoLoad(),await C.stopAutoSave(),i(),C)},0,N);return C},tt=/^([cd]:)(.+)/,et=(a,n,s,r,c,l,w,y,u,E,N="getDb")=>{const A=Ca(s,l),[g,,p,v]=Va(n),R=e+(a=>{let t=2166136261;return O(sa.encode(a),(a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(ra(p)),S=t+"_"+R,_=async(a,e,n="",s="")=>{const i=Da(t,a,R);return await A(Ra+Ia+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},C=async(a,t,e,n)=>(await A(Ra+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),b=a=>`PERFORM pg_notify('${S}',${a});`,D=(a,t)=>g?i:2===t?D(a,0)+" OR "+D(a,1):o(X(p[0],a)?.[2]??i,La,0==t?"NEW":"OLD"),f=(a,e)=>$(T([ua,Ea,Na],((n,s)=>C(Ia,Da(t,"d",R,a,n),`AFTER ${n} ON${ba(a)}FOR EACH ROW WHEN(${D(a,s)})`,e))));return(g?Za:at)(a,A,(async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${da} command_tag='${Sa}' LOOP ${b("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await C("EVENT ",Da(t,"c",R),`ON ddl_command_end WHEN TAG IN('${Sa}')`,e);const n=await _("d",b("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await $(T(L(v),(async a=>(await A(Sa+` IF NOT EXISTS${ba(a)}("_id"text PRIMARY KEY)`),await f(a,n))))),[await r(S,(t=>{return d((e=t,s=tt,e?.match(s)),(async([,t,e])=>{I(v,e)&&("c:"==t&&await f(e,n),a())}));var e,s})),[e,n]]}),(async([a,t])=>{c(a),await A(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)}),w,y,u,p,L(v),(async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${da} table_schema='public'AND table_name IN(${fa(t)})`,t)),E,N,"text",void 0,(a=>ia(a)),(a=>oa(a)))},nt=(a,t,n,s,i,o,r,c,w,d,y="getDb",u)=>{let E,N,$;const A=Ca(n,o),[O,m,T,p]=Va(t);return(O?Za:at)(a,A,(a=>{let t;const e=()=>t=setInterval((()=>g((async()=>{const[{d:t,s:e,c:n}]=await A(wa+` ${Ta} d,${pa} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${pa}`);t==E&&e==N&&n==$||(null!=E&&a(),E=t,N=e,$=n)}))),1e3*m),n=()=>{E=N=$=null,l(t)},o=s((t=>{p.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),r,c,w,T,L(p),(async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${va}list()t,${va}info(t.name)c ${da} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t)),d,y,e,u,(a=>!0===a?1:!1===a?0:a),void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",r=(a,t,e)=>a.replace(t,e),o=Promise,c=globalThis,l=clearInterval,w=a=>null==a,y=(a,t,e)=>w(a)?e?.():t(a),d=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=async a=>o.all(a),$=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),R=a=>0==N(a),p=(a,t)=>a.filter(t),v=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),C=a=>[...a?.values()??[]],b=(a,t)=>a?.forEach(t),L=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,P=D.keys,M=D.freeze,F=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),(([a,e])=>t(e,a))),x=(a,t)=>F(j(a,((a,e)=>[e,t(a,e)]))),B=a=>D.values(a),H=a=>N(P(a)),W=a=>(a=>!w(a)&&y(f(a),(a=>a==D.prototype||w(f(a))),(()=>!0)))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>w(e)?(L(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(S(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>y((e?z:X)(a,t[s],s>N(t)-2?e:Y),(i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const r=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),r})),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,r,o,c={},l=0,d=[])=>{let E,g,m,T=0,R=0,p=0;z(ta,d,(()=>0)),z(ea,d,(()=>[]));const S=Y(),[C,D,f,h,P]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?I(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&v(a,t)}]})(),s=Y();return[(n,i,r,o=[],c=()=>[])=>{a??=ra;const l=t(1);return k(s,l,[n,i,r,o,c]),Q(K(i,r??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?v(n,a):null===t[e]?b(a,(a=>s(a,e+1))):O([t[e],null],(t=>s(X(a,t),e+1)));return s(a,0),n})(t,n),(t=>b(t,(t=>X(s,t)[0](a,...n??[],...i))))),a=>y(X(s,a),(([,t,i])=>(K(t,i??[e],void 0,(t=>(L(t,a),_(t)?1:0))),k(s,a),n(a),i))),t=>y(X(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):w(e[o])?O(n[o]?.(...r)??[],(a=>i(...r,a))):i(...r,e[o])};i()}))]})(),j=a=>{a!=T&&(T=a,U(S,void 0,T))},x=t=>{(C&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),R++,await ia((async()=>{await A((async()=>{const e=await t();u(e)?x(e):a?P(a):$("Content is not an array: "+e)}),(()=>{a&&P(a)})),j(0)}))),ra),H=async a=>(J(),await B(a),await A((async()=>g=await s((async(a,t)=>{t||a?2!=T&&(j(1),R++,x(t??a),j(0)):await B()}))),r),ra),J=async()=>(g&&(await A((()=>i(g)),r),g=void 0),ra),Z=async a=>(1!=T&&(j(2),p++,await ia((async()=>{await A((()=>n(D,a)),r),j(0)}))),ra),aa=async()=>(na(),await Z(),m=a.addDidFinishTransactionListener((()=>{const a=f();h(a)&&Z(a)})),ra),na=async()=>(m&&(a.delListener(m),m=void 0),ra),sa=async(a=!1)=>{const[t,e]=a?[na,J]:[J,na];return await t(),await e(),ra},ia=async(...a)=>(v(X(ea,d),...a),await(async()=>{if(!X(ta,d)){for(k(ta,d,1);!w(E=I(X(ea,d)));)await A(E,r);k(ta,d,0)}})(),ra),ra={load:B,startAutoLoad:H,stopAutoLoad:J,isAutoLoading:()=>!w(g),save:Z,startAutoSave:aa,stopAutoSave:na,isAutoSaving:()=>!w(m),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[aa,H]:[H,aa];return await e(a),await n(a),ra},stopAutoPersisting:sa,getStatus:()=>T,addStatusListener:a=>F(a,S),delListener:t=>(G(t),a),schedule:ia,getStore:()=>a,destroy:()=>(X(ea,d).splice(0,void 0),sa()),getStats:()=>({loads:R,saves:p}),...c};return M(ra)},sa=new c.TextEncoder,ia=JSON.stringify,ra=JSON.parse,oa=a=>ia(a,((a,t)=>void 0===t?"":t)),ca="_",la="_id",wa="SELECT",ya="WHERE",da="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",ga="ALTER "+da,$a="FROM",Aa=Ea+" "+$a,Oa=wa+"*"+$a,ma="pragma_",Ta="data_version",Ra="schema_version",pa="pragma_table_",va="CREATE ",Ia=va+da,Sa="OR REPLACE ",_a="FUNCTION",Ca="$tableName",ba=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,La=a=>m(T(((a,t="",e)=>a.split(t,e))(a,"."),(a=>`"${r(a,/"/g,'""')}"`)),"."),Da=(...a)=>La(m(a,"_")),fa=(a,t=[1])=>m(T(a,(()=>"$"+t[0]++)),n),ha=(a,t=i)=>ya+`(${r(t,Ca,La(a))})`,Pa="ColumnName",Ma="store",Fa="json",Ua=Ma+"TableName",Ga=Ma+"Id"+Pa,ja=Ma+Pa,xa="autoLoadIntervalSeconds",Ba="rowId"+Pa,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Fa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,((a,r)=>{const o=E(B(U(t,d(a)?{[e]:a}:a)),0,H(t));w(o[0])||n(r,o[0])||(s(r,o[0]),k(i,r,o))})),i},Va=a=>{const e=(a=>U(ka,d(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Fa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Ma],q(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=E(B(U(za,o)),0,H(za)),l=c[2],w=q(l),y=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,(a=>S(y,a)),(a=>Q(w,a))),N=Ka(r,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,((a,t)=>S(y,t)),((a,t)=>Q(w,t)));var g;return g=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,b(N,((a,t)=>g(0,a))),[0,n,[u,N,c],w]},qa=(a,t,e,s,r,o=Qa,c,l)=>{const y=Y();return[async()=>{y.clear(),T(await e(a,t),(({tn:a,cn:t})=>Q(z(y,a,q),t)))},async(t,e,n)=>((a,t)=>S(X(y,a),t))(t,e)?F(p(T(await a(Oa+La(t)+ha(t,n)),(a=>[a[e],l?x(G(a,e),l):G(a,e)])),(([a,t])=>!w(a)&&!W(t)))):{},async(t,e,s,l,d,u=!1,E=i)=>{const N=q();x(s??{},(a=>T(P(a??{}),(a=>Q(N,a)))));const $=C(N);if(!u&&d&&E==i&&R($)&&S(y,t))return await a("DROP "+da+La(t)),void k(y,t);const A=X(y,t),O=q(C(A));if(R($)||(S(y,t)?await g(T([e,...$],(async(n,s)=>{L(O,n)||(await a(ga+La(t)+"ADD"+La(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+La(t)+`(${La(e)})`),Q(A,n))}))):(await a(Ia+La(t)+`(${La(e)}${r} PRIMARY KEY${m(T($,(a=>n+La(a)+r)))});`),k(y,t,q([e,...$])))),await g([...!u&&l?T(C(O),(async n=>{n!=e&&(await a(ga+La(t)+"DROP"+La(n)),L(A,n))})):[]]),u)w(s)?await a(Aa+La(t)+ha(t,E)):await g(j(s,(async(n,s)=>{w(n)?await a(Aa+La(t)+ha(t,E)+`AND(${La(e)}=$1)`,[s]):R($)||await o(a,t,e,P(n),{[s]:c?T(B(n),c):B(n)},A)})));else if(R($))S(y,t)&&await a(Aa+La(t)+ha(t,E));else{const n=p(C(X(y,t)),(a=>a!=e)),i={},r=[];x(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),v(r,t)})),await o(a,t,e,n,i),await a(Aa+La(t)+ha(t,E)+`AND${La(e)}NOT IN(${fa(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await A((async()=>e=await t()),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const r=[1];await a(ua+" INTO"+La(t)+"("+((...a)=>m(T(a,La),n))(e,...s)+")VALUES"+m(j(i,(a=>"($"+r[0]+++","+fa(a,r)+")")),n)+"ON CONFLICT("+La(e)+`)DO ${Na} SET`+m(T(s,(a=>La(a)+"=excluded."+La(a))),n),j(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Za=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[g,$,A,O]=qa(t,w,y,s,E,N),m=na(a,(()=>O((async()=>{return await g(),a=(await $(o,c))[ca]?.[l]??"null",ra(a,((a,t)=>""===t?void 0:t));var a}))),(a=>O((async()=>{await g(),await A(o,c,{[ca]:{[l]:oa(a()??null)}},!0,!0)}))),e,n,s,r,{[u]:()=>d,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,d);return m},at=(a,t,e,n,s,i,r,[o,c,[l,y,d]],u,E,N,$,A,O,m,T)=>{const[R,v,I,S]=qa(t,u,E,s,A,O,m,T),_=(a,t)=>g(J(c,(async([e,n,s,i,r],o)=>{t&&!(o in a)||await I(e,n,a[o],s,i,t,r)}))),C=async(a,t)=>y?await I(d,la,{[ca]:a},!0,!0,t):null,b=na(a,(()=>S((async()=>{await R();const a=await(async()=>F(p(await g(J(o,(async([a,t,e],n)=>[a,await v(n,t,e)]))),(a=>!W(a[1])))))(),t=await(async()=>l?(await v(d,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}))),((a,t)=>S((async()=>{if(await R(),w(t)){const[t,e]=a();await _(t),await C(e)}else await _(t[0],!0),await C(t[1],!0)}))),e,n,s,r,{[$]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},tt=/^([cd]:)(.+)/,et=(a,n,s,o,c,l,w,d,u,E,N="getDb")=>{const $=ba(s,l),[A,,R,p]=Va(n),v=e+(a=>{let t=2166136261;return O(sa.encode(a),(a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(oa(R)),I=t+"_"+v,_=async(a,e,n="",s="")=>{const i=Da(t,a,v);return await $(va+Sa+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},b=async(a,t,e,n)=>(await $(va+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),L=a=>`PERFORM pg_notify('${I}',${a});`,D=(a,t)=>A?i:2===t?D(a,0)+" OR "+D(a,1):r(X(R[0],a)?.[2]??i,Ca,0==t?"NEW":"OLD"),f=(a,e)=>g(T([ua,Ea,Na],((n,s)=>b(Sa,Da(t,"d",v,a,n),`AFTER ${n} ON${La(a)}FOR EACH ROW WHEN(${D(a,s)})`,e))));return(A?Za:at)(a,$,(async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${ya} command_tag='${Ia}' LOOP ${L("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await b("EVENT ",Da(t,"c",v),`ON ddl_command_end WHEN TAG IN('${Ia}')`,e);const n=await _("d",L("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await g(T(C(p),(async a=>(await $(Ia+` IF NOT EXISTS${La(a)}("_id"text PRIMARY KEY)`),await f(a,n))))),[await o(I,(t=>{return y((e=t,s=tt,e?.match(s)),(async([,t,e])=>{S(p,e)&&("c:"==t&&await f(e,n),a())}));var e,s})),[e,n]]}),(async([a,t])=>{c(a),await $(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)}),w,d,u,R,C(p),(async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${ya} table_schema='public'AND table_name IN(${fa(t)})`,t)),E,N,"text",void 0,(a=>ia(a)),(a=>ra(a)))},nt=(a,t,n,s,i,r,o,c,w,y,d="getDb",u)=>{let E,N,g;const $=ba(n,r),[O,m,T,R]=Va(t);return(O?Za:at)(a,$,(a=>{let t;const e=()=>t=setInterval((()=>A((async()=>{const[{d:t,s:e,c:n}]=await $(wa+` ${Ta} d,${Ra} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${Ra}`);t==E&&e==N&&n==g||(null!=E&&a(),E=t,N=e,g=n)}))),1e3*m),n=()=>{E=N=g=null,l(t)},r=s((t=>{R.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(r)}}),(a=>a()),o,c,w,T,C(R),(async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${pa}list()t,${pa}info(t.name)c ${ya} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t)),y,d,e,u,(a=>!0===a?1:!1===a?0:a),void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
|
|
Binary file
|
package/min/store/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),p=e=>e==s||e==a,y=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),M=(e,...t)=>e.push(...t),P=t=>{const s=e(t);return p(s)||s==l&&I(t)?s:void 0},k=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),A=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),N=e=>t=>{return s=(t,s)=>t+e(s),q(t).reduce(s,0);var s},j=e=>e?.size??0,x=N(j),D=N(x),H=N(D),W=(e,t)=>e?.has(t)??!1,$=e=>m(e)||0==j(e),q=e=>[...e?.values()??[]],B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=Object,U=e=>Q.getPrototypeOf(e),X=Q.entries,Y=Q.isFrozen,Z=e=>!m(e)&&R(U(e),(e=>e==Q.prototype||m(U(e))),(()=>!0)),_=Q.keys,ee=Q.freeze,te=(e,t)=>t in e,se=(e,t)=>(delete e[t],e),ae=(e,t)=>((e=[])=>Q.fromEntries(e))(((e,t)=>z(X(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),le=e=>Z(e)&&0==(e=>E(_(e)))(e),ne=(e,t,s,a=0)=>m(e)||!Z(e)||!a&&le(e)||Y(e)?(s?.(),!1):(((e,t)=>{O(X(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||se(e,a)})),!!a||!le(e)),oe=e=>new Map(e),re=e=>[...e?.keys()??[]],ie=(e,t)=>e?.get(t),ce=(e,t)=>G(e,((e,s)=>t(s,e))),de=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),ue=(e,t,s,a)=>(W(e,t)?a?.(ie(e,t)):de(e,t,s()),ie(e,t)),he=(e,t,s,a=de)=>(ae(t,((t,a)=>s(e,a,t))),ce(e,(s=>te(t,s)?0:a(e,s))),e),fe=(e,t,s,a)=>{const l={};return G(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},ge=(e,t,s)=>fe(e,(e=>fe(e,t,s)),$,le),Te=(e,t,s)=>fe(e,(e=>ge(e,t,s)),$,le),be=(e,t)=>{const s=oe();return G(e,((e,a)=>s.set(a,t?.(e)??e))),s},ve=e=>be(e,be),Ce=e=>be(e,ve),Ve=(e,t,s,a,l=0)=>R((s?ue:ie)(e,t[l],l>E(t)-2?s:oe),(n=>{if(l>E(t)-2)return a?.(n)&&de(e,t[l]),n;const o=Ve(n,t,s,a,l+1);return $(n)&&de(e,t[l]),o})),we=JSON.stringify,Se=JSON.parse,Ie=e=>we(e,((e,t)=>t instanceof Map?Q.fromEntries([...t]):t)),me=/^\d+$/,Re=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{me.test(t)&&E(e)<1e3&&M(e,t)}]},pe=e=>new Set(L(e)||m(e)?e:[e]),ye=(e,t)=>e?.add(t),Le=e=>[e,e],Je=(e,t=x)=>t(e[0])+t(e[1]),Ee=()=>[oe(),oe()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=(e,t,s)=>de(e,t,ie(e,t)==-s?void 0:s),Me=()=>{let e,s,a=!1,n=!1,c=0,I=[];const N=oe(),q=oe(),Q=oe(),U=oe(),X=oe(),Y=oe(),Z=oe(),_=oe(),we=oe(),me=oe(),Pe=oe(),ke=oe(),Ae=oe(),Ne=oe(),je=pe(),xe=oe(),De=oe(),He=oe(),We=oe(),$e=Ee(),qe=Ee(),Be=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),at=Ee(),lt=Ee(),nt=Ee(),ot=Ee(),rt=Ee(),it=Ee(),ct=Ee(),dt=Ee(),ut=oe(),ht=Ee(),[ft,gt,Tt,bt]=(()=>{let e;const[s,a]=Re(),l=oe();return[(a,n,o,r=[],i=()=>[])=>{e??=As;const c=s(1);return de(l,c,[a,n,o,r,i]),ye(Ve(n,o??[t],pe),c),c},(s,a,...n)=>O(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?M(a,e):null===s[t]?G(e,(e=>l(e,t+1))):O([s[t],null],(s=>l(ie(e,s),t+1)));return l(e,0),a})(s,a),(t=>G(t,(t=>ie(l,t)[0](e,...a??[],...n))))),e=>R(ie(l,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(K(t,e),$(t)?1:0))),de(l,e),a(e),n))),t=>R(ie(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?O(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),vt=e=>{if(!ne(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!p(t)&&t!=l||(P(e[r])!=t&&se(e,r),0))},Ct=L,Vt=(t,s)=>(!e||W(Pe,s)||Qt(s))&&ne(t,((e,t)=>wt(s,t,e)),(()=>Qt(s))),wt=(e,t,s,a)=>ne(a?s:Rt(s,e,t),((a,l)=>R(St(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),St=(t,s,a,l)=>e?R(ie(ie(Pe,t),a),(e=>P(l)!=e[o]?Qt(t,s,a,l,e[r]):l),(()=>Qt(t,s,a,l))):m(P(l))?Qt(t,s,a,l):l,It=(e,t)=>ne(t?e:pt(e),((t,s)=>R(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),mt=(e,t)=>s?R(ie(Ae,e),(s=>P(t)!=s[o]?Ut(e,t,s[r]):t),(()=>Ut(e,t))):m(P(t))?Ut(e,t):t,Rt=(e,t,s)=>(R(ie(ke,t),(([a,l])=>{G(a,((t,s)=>{te(e,s)||(e[s]=t)})),G(l,(a=>{te(e,a)||Qt(t,s,a)}))})),e),pt=e=>(s&&(G(Ne,((t,s)=>{te(e,s)||(e[s]=t)})),G(je,(t=>{te(e,t)||Ut(t)}))),e),yt=e=>he(Pe,e,((e,t,s)=>{const a=oe(),l=pe();he(ue(Pe,t,oe),s,((e,t,s)=>{de(e,t,s),R(s[r],(e=>de(a,t,e)),(()=>ye(l,t)))})),de(ke,t,[a,l])}),((e,t)=>{de(Pe,t),de(ke,t)})),Lt=e=>he(Ae,e,((e,t,s)=>{de(Ae,t,s),R(s[r],(e=>de(Ne,t,e)),(()=>ye(je,t)))}),((e,t)=>{de(Ae,t),de(Ne,t),K(je,t)})),Jt=e=>le(e)?Ls():Is(e),Et=e=>he(He,e,((e,t,s)=>Ft(t,s)),((e,t)=>jt(t))),Ft=(e,t)=>he(ue(He,e,(()=>(Wt(e,1),de(xe,e,Re()),de(De,e,oe()),oe()))),t,((t,s,a)=>Ot(e,t,s,a)),((t,s)=>xt(e,t,s))),Ot=(e,t,s,a,l)=>he(ue(t,s,(()=>($t(e,s,1),oe()))),a,((t,a,l)=>zt(e,s,t,a,l)),((a,n)=>Dt(e,t,s,a,n,l))),zt=(e,t,s,a,l)=>{W(s,a)||qt(e,t,a,1);const n=ie(s,a);l!==n&&(Bt(e,t,a,n,l),de(s,a,l))},Mt=(e,t,s,a,l)=>R(ie(t,s),(t=>zt(e,s,t,a,l)),(()=>Ot(e,t,s,Rt({[a]:l},e,s)))),Pt=e=>le(e)?Fs():ms(e),kt=e=>he(We,e,((e,t,s)=>At(t,s)),((e,t)=>Ht(t))),At=(e,t)=>{W(We,e)||Gt(e,1);const s=ie(We,e);t!==s&&(Kt(e,s,t),de(We,e,t))},Nt=e=>ie(He,e)??Ft(e,{}),jt=e=>Ft(e,{}),xt=(e,t,s)=>{const[,a]=ie(xe,e);a(s),Ot(e,t,s,{},!0)},Dt=(e,t,s,a,l,n)=>{const o=ie(ie(ke,e)?.[0],l);if(!m(o)&&!n)return zt(e,s,a,l,o);const r=t=>{Bt(e,s,t,ie(a,t)),qt(e,s,t,-1),de(a,t)};m(o)?r(l):ce(a,r),$(a)&&($t(e,s,-1),$(de(t,s))&&(Wt(e,-1),de(He,e),de(xe,e),de(De,e)))},Ht=e=>{const t=ie(Ne,e);if(!m(t))return At(e,t);Kt(e,ie(We,e)),Gt(e,-1),de(We,e)},Wt=(e,t)=>ze(N,e,t),$t=(e,t,s)=>ze(ue(U,e,oe),t,s)&&de(Q,e,ue(Q,e,(()=>0))+s),qt=(e,t,s,a)=>{const l=ie(De,e),n=ie(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ze(ue(q,e,oe),s,a),de(l,s,n!=-a?n+a:null),ze(ue(ue(X,e,oe),t,oe),s,a)},Bt=(e,t,s,a,l)=>{ue(ue(ue(Y,e,oe),t,oe),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Gt=(e,t)=>ze(Z,e,t),Kt=(e,t,s)=>{ue(_,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Qt=(e,t,s,a,l)=>(M(ue(ue(ue(we,e,oe),t,oe),s,(()=>[])),a),l),Ut=(e,t,s)=>(M(ue(me,e,(()=>[])),t),s),Xt=(e,t,s)=>R(ie(ie(ie(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(us(e,t,s))])),Yt=e=>R(ie(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(gs(e))])),Zt=e=>$(we)||$(lt[e])?0:G(e?Ce(we):we,((t,s)=>G(t,((t,a)=>G(t,((t,l)=>gt(lt[e],[s,a,l],t))))))),_t=e=>$(me)||$(nt[e])?0:G(e?be(me):me,((t,s)=>gt(nt[e],[s],t))),es=(e,t,s,a)=>{if(!$(e))return gt(t,a,(()=>fe(e))),ce(e,((e,t)=>gt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Ts();t!=a&>($e[e],void 0,t);const s=$(Ze[e]),l=$(tt[e])&&$(st[e])&&$(Ye[e])&&$(_e[e])&&$(Qe[e])&&$(Ue[e])&&$(Xe[e])&&s&&$(Be[e])&&$(Ge[e]),n=$(at[e])&&$(et[e])&&$(Ke[e])&&$(qe[e]);if(!l||!n){const t=e?[be(N),ve(q),be(Q),ve(U),Ce(X),Ce(Y)]:[N,q,Q,U,X,Y];if(!l){es(t[0],Be[e],Ge[e]),G(t[1],((t,s)=>es(t,Qe[e],Ue[e],[s]))),G(t[2],((t,s)=>{0!=t&>(Xe[e],[s],rs(s))}));const a=pe();G(t[3],((t,l)=>{es(t,Ye[e],_e[e],[l])&&!s&&(gt(Ze[e],[l,null]),ye(a,l))})),s||G(t[5],((t,s)=>{if(!W(a,s)){const a=pe();G(t,(e=>G(e,(([t,s],l)=>s!==t?ye(a,l):K(e,l))))),G(a,(t=>gt(Ze[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,a)=>es(t,tt[e],st[e],[s,a])))))}if(!n){let s;G(t[5],((t,a)=>{let l;G(t,((t,n)=>{let o;G(t,(([t,r],i)=>{r!==t&&(gt(at[e],[a,n,i],r,t,Xt),s=l=o=1)})),o&>(et[e],[a,n],Xt)})),l&>(Ke[e],[a],Xt)})),s&>(qe[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&>(ot[e],void 0,t);const s=$(it[e])&&$(ct[e]),a=$(dt[e])&&$(rt[e]);if(!s||!a){const t=e?[be(Z),be(_)]:[Z,_];if(s||es(t[0],it[e],ct[e]),!a){let s;G(t[1],(([t,a],l)=>{a!==t&&(gt(dt[e],[l],a,t,Yt),s=1)})),s&>(rt[e],void 0,Yt)}}},as=(e,...t)=>(Ms((()=>e(...z(t,S)))),As),ls=()=>Te(He),ns=()=>re(He),os=e=>re(ie(De,S(e))),rs=e=>j(ie(He,S(e))),is=e=>re(ie(He,S(e))),cs=(e,t,s,a=0,l)=>{return z(J((o=ie(He,S(e)),r=(e,s)=>[m(t)?s:ie(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},ds=(e,t)=>re(ie(ie(He,S(e)),S(t))),us=(e,t,s)=>ie(ie(ie(He,S(e)),S(t)),S(s)),hs=()=>fe(We),fs=()=>re(We),gs=e=>ie(We,S(e)),Ts=()=>!$(He),bs=e=>W(He,S(e)),vs=(e,t)=>W(ie(De,S(e)),S(t)),Cs=(e,t)=>W(ie(He,S(e)),S(t)),Vs=(e,t,s)=>W(ie(ie(He,S(e)),S(t)),S(s)),ws=()=>!$(We),Ss=e=>W(We,S(e)),Is=e=>as((()=>(e=>ne(e,Vt,Qt))(e)?Et(e):0)),ms=e=>as((()=>It(e)?kt(e):0)),Rs=e=>(F((()=>Jt(Se(e)))),As),ps=t=>as((()=>{if((e=ne(t,(e=>ne(e,vt))))&&(yt(t),!$(He))){const e=ls();Ls(),Is(e)}})),ys=e=>as((()=>{if(s=(e=>ne(e,vt))(e)){const t=hs();zs(),Fs(),s=!0,Lt(e),ms(t)}})),Ls=()=>as((()=>Et({}))),Js=e=>as((e=>W(He,e)?jt(e):0),e),Es=(e,t)=>as(((e,t)=>R(ie(He,e),(s=>W(s,t)?xt(e,s,t):0))),e,t),Fs=()=>as((()=>kt({}))),Os=()=>as((()=>{yt({}),e=!1})),zs=()=>as((()=>{Lt({}),s=!1})),Ms=(e,t)=>{if(-1!=c){Ps();const s=e();return ks(t),s}},Ps=()=>(-1!=c&&c++,1==c&&(I[0]?.(),gt(ut)),As),ks=e=>(c>0&&(c--,0==c&&(c=1,Zt(1),$(Y)||ts(1),_t(1),$(_)||ss(1),e?.(As)&&(G(Y,((e,t)=>G(e,((e,s)=>G(e,(([e],a)=>k(As,t,s,a,e))))))),B(Y),G(_,(([e],t)=>A(As,t,e))),B(_)),gt(ht[0],void 0),c=-1,Zt(0),$(Y)||ts(0),_t(0),$(_)||ss(0),I[1]?.(),gt(ht[1],void 0),I[2]?.(),c=0,a=Ts(),n=ws(),O([N,q,Q,U,X,Y,we,Z,_,me],B))),As),As={getContent:()=>[ls(),hs()],getTables:ls,getTableIds:ns,getTable:e=>ge(ie(He,S(e))),getTableCellIds:os,getRowCount:rs,getRowIds:is,getSortedRowIds:cs,getRow:(e,t)=>fe(ie(ie(He,S(e)),S(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:fs,getValue:gs,hasTables:Ts,hasTable:bs,hasTableCell:vs,hasRow:Cs,hasCell:Vs,hasValues:ws,hasValue:Ss,getTablesJson:()=>Ie(He),getValuesJson:()=>Ie(We),getJson:()=>Ie([He,We]),getTablesSchemaJson:()=>Ie(Pe),getValuesSchemaJson:()=>Ie(Ae),getSchemaJson:()=>Ie([Pe,Ae]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=y(e)?e():e;Ct(t)&&(([e,t])=>{(le(e)?Ls:Is)(e),(le(t)?Fs:ms)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Ft(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Ot(e,Nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ms((()=>{let a;return wt(e,a,t)&&(e=S(e),Ot(e,Nt(e),a=((e,t)=>{const[s]=ie(xe,e);let a;do{a=s(t)}while(W(ie(He,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=Nt(e);ae(s,((s,l)=>Mt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>R(St(e,t,s,y(a)?a(us(e,t,s)):a),(a=>Mt(e,Nt(e),t,s,a)))),e,t,s),setValues:ms,setPartialValues:e=>as((()=>It(e,1)?ae(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>as((e=>R(mt(e,y(t)?t(gs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>as((()=>{ae(e[0],((e,t)=>m(e)?Js(t):ae(e,((e,s)=>m(e)?Es(t,s):ae(e,((e,a)=>k(As,t,s,a,e))))))),ae(e[1],((e,t)=>A(As,t,e)))})),setTablesJson:Rs,setValuesJson:e=>(F((()=>Pt(Se(e)))),As),setJson:e=>as((()=>F((()=>{const[t,s]=Se(e);Jt(t),Pt(s)}),(()=>Rs(e))))),setTablesSchema:ps,setValuesSchema:ys,setSchema:(e,t)=>as((()=>{ps(e),ys(t)})),delTables:Ls,delTable:Js,delRow:Es,delCell:(e,t,s,a)=>as(((e,t,s)=>R(ie(He,e),(l=>R(ie(l,t),(n=>W(n,s)?Dt(e,l,t,n,s,a):0))))),e,t,s),delValues:Fs,delValue:e=>as((e=>W(We,e)?Ht(e):0),e),delTablesSchema:Os,delValuesSchema:zs,delSchema:()=>as((()=>{Os(),zs()})),transaction:Ms,startTransaction:Ps,getTransactionChanges:()=>[fe(Y,((e,t)=>-1===ie(N,t)?void 0:fe(e,((e,s)=>-1===ie(ie(U,t),s)?void 0:fe(e,(([,e])=>e),(e=>Oe(e)))),$,le)),$,le),fe(_,(([,e])=>e),(e=>Oe(e))),1],getTransactionLog:()=>[!$(Y),!$(_),Te(Y,Fe,Oe),Te(we),fe(_,Fe,Oe),fe(me),fe(N),ge(U),Te(X),fe(Z)],finishTransaction:ks,forEachTable:e=>G(He,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(ie(De,S(e)),t),forEachRow:(e,t)=>G(ie(He,S(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(ie(ie(He,S(e)),S(t)),s),forEachValue:e=>ce(We,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=cs(e,t,s,a,l);return ft((()=>{const o=cs(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(As,e,t,s,a,l,r))}),Ze[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>ft(e,ut),addWillFinishTransactionListener:e=>ft(e,ht[0]),addDidFinishTransactionListener:e=>ft(e,ht[1]),callListener:e=>(bt(e),As),delListener:e=>(Tt(e),As),getListenerStats:()=>({hasTables:Je($e),tables:Je(qe),tableIds:Je(Be),hasTable:Je(Ge),table:Je(Ke),tableCellIds:Je(Qe),hasTableCell:Je(Ue,D),rowCount:Je(Xe),rowIds:Je(Ye),sortedRowIds:Je(Ze),hasRow:Je(_e,D),row:Je(et,D),cellIds:Je(tt,D),hasCell:Je(st,H),cell:Je(at,H),invalidCell:Je(lt,H),hasValues:Je(ot),values:Je(rt),valueIds:Je(it),hasValue:Je(ct),value:Je(dt),invalidValue:Je(nt),transaction:x(ut)+Je(ht)}),isMergeable:()=>!1,createStore:Me,addListener:ft,callListeners:gt,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return ae({[i+u]:[0,$e,[],()=>[Ts()]],[u]:[0,qe],[h]:[0,Be],[i+d]:[1,Ge,[ns],e=>[bs(...e)]],[d]:[1,Ke,[ns]],[d+v]:[1,Qe,[ns]],[i+d+b]:[2,Ue,[ns,os],e=>[vs(...e)]],[g]:[1,Xe,[ns]],[T]:[1,Ye,[ns]],[i+f]:[2,_e,[ns,is],e=>[Cs(...e)]],[f]:[2,et,[ns,is]],[v]:[2,tt,[ns,is]],[i+b]:[3,st,[ns,is,ds],e=>[Vs(...e)]],[b]:[3,at,[ns,is,ds],e=>Le(us(...e))],InvalidCell:[3,lt],[i+V]:[0,ot,[],()=>[ws()]],[V]:[0,rt],[w]:[0,it],[i+C]:[1,ct,[fs],e=>[Ss(...e)]],[C]:[1,dt,[fs],e=>Le(gs(e[0]))],InvalidValue:[1,nt]},(([e,t,s,a],l)=>{As["add"+l+"Listener"]=(...l)=>ft(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),ee(As)};export{Me as createStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",b=f+c,T="Cell",v=T+c,C="Value",V=C+"s",w=C+c,I=e=>t+e,S=isFinite,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),p=e=>e==s||e==l,y=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),M=(e,...t)=>e.push(...t),P=t=>{const s=e(t);return p(s)||s==a&&S(t)?s:void 0},k=(e,t,s,l,a)=>m(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),A=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),N=e=>t=>{return s=(t,s)=>t+e(s),q(t).reduce(s,0);var s},j=e=>e?.size??0,x=N(j),D=N(x),H=N(D),W=(e,t)=>e?.has(t)??!1,$=e=>m(e)||0==j(e),q=e=>[...e?.values()??[]],B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=Object,U=e=>Q.getPrototypeOf(e),X=Q.entries,Y=Q.isFrozen,Z=e=>!m(e)&&R(U(e),(e=>e==Q.prototype||m(U(e))),(()=>!0)),_=Q.keys,ee=Q.freeze,te=(e,t)=>t in e,se=(e,t)=>(delete e[t],e),le=(e,t)=>((e=[])=>Q.fromEntries(e))(((e,t)=>z(X(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ae=e=>Z(e)&&0==(e=>E(_(e)))(e),ne=(e,t,s,l=0)=>m(e)||!Z(e)||!l&&ae(e)||Y(e)?(s?.(),!1):(((e,t)=>{O(X(e),(([e,s])=>t(s,e)))})(e,((s,l)=>{t(s,l)||se(e,l)})),!!l||!ae(e)),oe=e=>new Map(e),re=e=>[...e?.keys()??[]],ie=(e,t)=>e?.get(t),ce=(e,t)=>G(e,((e,s)=>t(s,e))),de=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),ue=(e,t,s,l)=>(W(e,t)?l?.(ie(e,t)):de(e,t,s()),ie(e,t)),he=(e,t,s,l=de)=>(le(t,((t,l)=>s(e,l,t))),ce(e,(s=>te(t,s)?0:l(e,s))),e),fe=(e,t,s,l)=>{const a={};return G(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},ge=(e,t,s)=>fe(e,(e=>fe(e,t,s)),$,ae),be=(e,t,s)=>fe(e,(e=>ge(e,t,s)),$,ae),Te=(e,t)=>{const s=oe();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ve=e=>Te(e,Te),Ce=e=>Te(e,ve),Ve=(e,t,s,l,a=0)=>R((s?ue:ie)(e,t[a],a>E(t)-2?s:oe),(n=>{if(a>E(t)-2)return l?.(n)&&de(e,t[a]),n;const o=Ve(n,t,s,l,a+1);return $(n)&&de(e,t[a]),o})),we=JSON.stringify,Ie=JSON.parse,Se=e=>we(e,((e,t)=>t instanceof Map?Q.fromEntries([...t]):t)),me=/^\d+$/,Re=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{me.test(t)&&E(e)<1e3&&M(e,t)}]},pe=e=>new Set(L(e)||m(e)?e:[e]),ye=(e,t)=>e?.add(t),Le=e=>[e,e],Je=(e,t=x)=>t(e[0])+t(e[1]),Ee=()=>[oe(),oe()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=(e,t,s)=>de(e,t,ie(e,t)==-s?void 0:s),Me=()=>{let e,s,l=!1,n=!1,c=0,S=[];const N=oe(),q=oe(),Q=oe(),U=oe(),X=oe(),Y=oe(),_=oe(),we=oe(),me=oe(),Pe=oe(),ke=oe(),Ae=oe(),Ne=oe(),je=oe(),xe=pe(),De=oe(),He=oe(),We=oe(),$e=oe(),qe=Ee(),Be=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),lt=Ee(),at=Ee(),nt=Ee(),ot=Ee(),rt=Ee(),it=Ee(),ct=Ee(),dt=Ee(),ut=Ee(),ht=oe(),ft=Ee(),[gt,bt,Tt,vt]=(()=>{let e;const[s,l]=Re(),a=oe();return[(l,n,o,r=[],i=()=>[])=>{e??=js;const c=s(1);return de(a,c,[l,n,o,r,i]),ye(Ve(n,o??[t],pe),c),c},(s,l,...n)=>O(((e,s=[t])=>{const l=[],a=(e,t)=>t==E(s)?M(l,e):null===s[t]?G(e,(e=>a(e,t+1))):O([s[t],null],(s=>a(ie(e,s),t+1)));return a(e,0),l})(s,l),(t=>G(t,(t=>ie(a,t)[0](e,...l??[],...n))))),e=>R(ie(a,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(K(t,e),$(t)?1:0))),de(a,e),l(e),n))),t=>R(ie(a,t),(([t,,s=[],l,a])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...a(o)):m(s[r])?O(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),Ct=e=>{if(!ne(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!p(t)&&t!=a||(P(e[r])!=t&&se(e,r),0))},Vt=L,wt=(t,s)=>(!e||W(ke,s)||Ut(s))&&ne(t,((e,t)=>It(s,t,e)),(()=>Ut(s))),It=(e,t,s,l)=>ne(l?s:pt(s,e,t),((l,a)=>R(St(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ut(e,t))),St=(t,s,l,a)=>e?R(ie(ie(ke,t),l),(e=>P(a)!=e[o]?Ut(t,s,l,a,e[r]):a),(()=>Ut(t,s,l,a))):m(P(a))?Ut(t,s,l,a):a,mt=(e,t)=>ne(t?e:yt(e),((t,s)=>R(Rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),Rt=(e,t)=>s?R(ie(Ne,e),(s=>P(t)!=s[o]?Xt(e,t,s[r]):t),(()=>Xt(e,t))):m(P(t))?Xt(e,t):t,pt=(e,t,s)=>(R(ie(Ae,t),(([l,a])=>{G(l,((t,s)=>{te(e,s)||(e[s]=t)})),G(a,(l=>{te(e,l)||Ut(t,s,l)}))})),e),yt=e=>(s&&(G(je,((t,s)=>{te(e,s)||(e[s]=t)})),G(xe,(t=>{te(e,t)||Xt(t)}))),e),Lt=e=>he(ke,e,((e,t,s)=>{const l=oe(),a=pe();he(ue(ke,t,oe),s,((e,t,s)=>{de(e,t,s),R(s[r],(e=>de(l,t,e)),(()=>ye(a,t)))})),de(Ae,t,[l,a])}),((e,t)=>{de(ke,t),de(Ae,t)})),Jt=e=>he(Ne,e,((e,t,s)=>{de(Ne,t,s),R(s[r],(e=>de(je,t,e)),(()=>ye(xe,t)))}),((e,t)=>{de(Ne,t),de(je,t),K(xe,t)})),Et=e=>ae(e)?Es():Rs(e),Ft=e=>he(We,e,((e,t,s)=>Ot(t,s)),((e,t)=>xt(t))),Ot=(e,t)=>he(ue(We,e,(()=>($t(e,1),de(De,e,Re()),de(He,e,oe()),oe()))),t,((t,s,l)=>zt(e,t,s,l)),((t,s)=>Dt(e,t,s))),zt=(e,t,s,l,a)=>he(ue(t,s,(()=>(qt(e,s,1),oe()))),l,((t,l,a)=>Mt(e,s,t,l,a)),((l,n)=>Ht(e,t,s,l,n,a))),Mt=(e,t,s,l,a)=>{W(s,l)||Bt(e,t,l,1);const n=ie(s,l);a!==n&&(Gt(e,t,l,n,a),de(s,l,a))},Pt=(e,t,s,l,a)=>R(ie(t,s),(t=>Mt(e,s,t,l,a)),(()=>zt(e,t,s,pt({[l]:a},e,s)))),kt=e=>ae(e)?zs():ps(e),At=e=>he($e,e,((e,t,s)=>Nt(t,s)),((e,t)=>Wt(t))),Nt=(e,t)=>{W($e,e)||Kt(e,1);const s=ie($e,e);t!==s&&(Qt(e,s,t),de($e,e,t))},jt=e=>ie(We,e)??Ot(e,{}),xt=e=>Ot(e,{}),Dt=(e,t,s)=>{const[,l]=ie(De,e);l(s),zt(e,t,s,{},!0)},Ht=(e,t,s,l,a,n)=>{const o=ie(ie(Ae,e)?.[0],a);if(!m(o)&&!n)return Mt(e,s,l,a,o);const r=t=>{Gt(e,s,t,ie(l,t)),Bt(e,s,t,-1),de(l,t)};m(o)?r(a):ce(l,r),$(l)&&(qt(e,s,-1),$(de(t,s))&&($t(e,-1),de(We,e),de(De,e),de(He,e)))},Wt=e=>{const t=ie(je,e);if(!m(t))return Nt(e,t);Qt(e,ie($e,e)),Kt(e,-1),de($e,e)},$t=(e,t)=>ze(N,e,t),qt=(e,t,s)=>ze(ue(U,e,oe),t,s)&&de(Q,e,ue(Q,e,(()=>0))+s),Bt=(e,t,s,l)=>{const a=ie(He,e),n=ie(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&ze(ue(q,e,oe),s,l),de(a,s,n!=-l?n+l:null),ze(ue(ue(X,e,oe),t,oe),s,l)},Gt=(e,t,s,l,a)=>{ue(ue(ue(Y,e,oe),t,oe),s,(()=>[l,0]))[1]=a,S[3]?.(e,t,s,a)},Kt=(e,t)=>ze(_,e,t),Qt=(e,t,s)=>{ue(we,e,(()=>[t,0]))[1]=s,S[4]?.(e,s)},Ut=(e,t,s,l,a)=>(M(ue(ue(ue(me,e,oe),t,oe),s,(()=>[])),l),a),Xt=(e,t,s)=>(M(ue(Pe,e,(()=>[])),t),s),Yt=(e,t,s)=>R(ie(ie(ie(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(fs(e,t,s))])),Zt=e=>R(ie(we,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(Ts(e))])),_t=e=>$(me)||$(nt[e])?0:G(e?Ce(me):me,((t,s)=>G(t,((t,l)=>G(t,((t,a)=>bt(nt[e],[s,l,a],t))))))),es=e=>$(Pe)||$(ot[e])?0:G(e?Te(Pe):Pe,((t,s)=>bt(ot[e],[s],t))),ts=(e,t,s,l)=>{if(!$(e))return bt(t,l,(()=>fe(e))),ce(e,((e,t)=>bt(s,[...l??[],e],1==t))),1},ss=e=>{const t=vs();t!=l&&bt(qe[e],void 0,t);const s=$(_e[e]),a=$(st[e])&&$(lt[e])&&$(Ze[e])&&$(et[e])&&$(Ue[e])&&$(Xe[e])&&$(Ye[e])&&s&&$(Ge[e])&&$(Ke[e]),n=$(at[e])&&$(tt[e])&&$(Qe[e])&&$(Be[e]);if(!a||!n){const t=e?[Te(N),ve(q),Te(Q),ve(U),Ce(X),Ce(Y)]:[N,q,Q,U,X,Y];if(!a){ts(t[0],Ge[e],Ke[e]),G(t[1],((t,s)=>ts(t,Ue[e],Xe[e],[s]))),G(t[2],((t,s)=>{0!=t&&bt(Ye[e],[s],cs(s))}));const l=pe();G(t[3],((t,a)=>{ts(t,Ze[e],et[e],[a])&&!s&&(bt(_e[e],[a,null]),ye(l,a))})),s||G(t[5],((t,s)=>{if(!W(l,s)){const l=pe();G(t,(e=>G(e,(([t,s],a)=>s!==t?ye(l,a):K(e,a))))),G(l,(t=>bt(_e[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,l)=>ts(t,st[e],lt[e],[s,l])))))}if(!n){let s;G(t[5],((t,l)=>{let a;G(t,((t,n)=>{let o;G(t,(([t,r],i)=>{r!==t&&(bt(at[e],[l,n,i],r,t,Yt),s=a=o=1)})),o&&bt(tt[e],[l,n],Yt)})),a&&bt(Qe[e],[l],Yt)})),s&&bt(Be[e],void 0,Yt)}}},ls=e=>{const t=Ss();t!=n&&bt(rt[e],void 0,t);const s=$(ct[e])&&$(dt[e]),l=$(ut[e])&&$(it[e]);if(!s||!l){const t=e?[Te(_),Te(we)]:[_,we];if(s||ts(t[0],ct[e],dt[e]),!l){let s;G(t[1],(([t,l],a)=>{l!==t&&(bt(ut[e],[a],l,t,Zt),s=1)})),s&&bt(it[e],void 0,Zt)}}},as=(e,...t)=>(ks((()=>e(...z(t,I)))),js),ns=(e,t,s,l,a)=>{let n=us(e,t,...s);return gt((()=>{const a=us(e,t,...s);var o,r,i;r=n,E(o=a)===E(r)&&(i=(e,t)=>r[t]===e,o.every(i))||(n=a,l(js,e,t,...s,n))}),_e[a?1:0],[e,t],[rs])},os=()=>be(We),rs=()=>re(We),is=e=>re(ie(He,I(e))),cs=e=>j(ie(We,I(e))),ds=e=>re(ie(We,I(e))),us=(e,t,s,l=0,a)=>{return Z(e)?us(e.tableId,e.cellId,e.descending,e.offset,e.limit):z(J((o=ie(We,I(e)),r=(e,s)=>[m(t)?s:ie(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),l,m(a)?a:l+a),(([,e])=>e));var n,o,r},hs=(e,t)=>re(ie(ie(We,I(e)),I(t))),fs=(e,t,s)=>ie(ie(ie(We,I(e)),I(t)),I(s)),gs=()=>fe($e),bs=()=>re($e),Ts=e=>ie($e,I(e)),vs=()=>!$(We),Cs=e=>W(We,I(e)),Vs=(e,t)=>W(ie(He,I(e)),I(t)),ws=(e,t)=>W(ie(We,I(e)),I(t)),Is=(e,t,s)=>W(ie(ie(We,I(e)),I(t)),I(s)),Ss=()=>!$($e),ms=e=>W($e,I(e)),Rs=e=>as((()=>(e=>ne(e,wt,Ut))(e)?Ft(e):0)),ps=e=>as((()=>mt(e)?At(e):0)),ys=e=>(F((()=>Et(Ie(e)))),js),Ls=t=>as((()=>{if((e=ne(t,(e=>ne(e,Ct))))&&(Lt(t),!$(We))){const e=os();Es(),Rs(e)}})),Js=e=>as((()=>{if(s=(e=>ne(e,Ct))(e)){const t=gs();Ps(),zs(),s=!0,Jt(e),ps(t)}})),Es=()=>as((()=>Ft({}))),Fs=e=>as((e=>W(We,e)?xt(e):0),e),Os=(e,t)=>as(((e,t)=>R(ie(We,e),(s=>W(s,t)?Dt(e,s,t):0))),e,t),zs=()=>as((()=>At({}))),Ms=()=>as((()=>{Lt({}),e=!1})),Ps=()=>as((()=>{Jt({}),s=!1})),ks=(e,t)=>{if(-1!=c){As();const s=e();return Ns(t),s}},As=()=>(-1!=c&&c++,1==c&&(S[0]?.(),bt(ht)),js),Ns=e=>(c>0&&(c--,0==c&&(c=1,_t(1),$(Y)||ss(1),es(1),$(we)||ls(1),e?.(js)&&(G(Y,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>k(js,t,s,l,e))))))),B(Y),G(we,(([e],t)=>A(js,t,e))),B(we)),bt(ft[0],void 0),c=-1,_t(0),$(Y)||ss(0),es(0),$(we)||ls(0),S[1]?.(),bt(ft[1],void 0),S[2]?.(),c=0,l=vs(),n=Ss(),O([N,q,Q,U,X,Y,me,_,we,Pe],B))),js),js={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>ge(ie(We,I(e))),getTableCellIds:is,getRowCount:cs,getRowIds:ds,getSortedRowIds:us,getRow:(e,t)=>fe(ie(ie(We,I(e)),I(t))),getCellIds:hs,getCell:fs,getValues:gs,getValueIds:bs,getValue:Ts,hasTables:vs,hasTable:Cs,hasTableCell:Vs,hasRow:ws,hasCell:Is,hasValues:Ss,hasValue:ms,getTablesJson:()=>Se(We),getValuesJson:()=>Se($e),getJson:()=>Se([We,$e]),getTablesSchemaJson:()=>Se(ke),getValuesSchemaJson:()=>Se(Ne),getSchemaJson:()=>Se([ke,Ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=y(e)?e():e;Vt(t)&&(([e,t])=>{(ae(e)?Es:Rs)(e),(ae(t)?zs:ps)(t)})(t)})),setTables:Rs,setTable:(e,t)=>as((e=>wt(t,e)?Ot(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>It(e,t,s)?zt(e,jt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ks((()=>{let l;return It(e,l,t)&&(e=I(e),zt(e,jt(e),l=((e,t)=>{const[s]=ie(De,e);let l;do{l=s(t)}while(W(ie(We,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(It(e,t,s,1)){const l=jt(e);le(s,((s,a)=>Pt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>as(((e,t,s)=>R(St(e,t,s,y(l)?l(fs(e,t,s)):l),(l=>Pt(e,jt(e),t,s,l)))),e,t,s),setValues:ps,setPartialValues:e=>as((()=>mt(e,1)?le(e,((e,t)=>Nt(t,e))):0)),setValue:(e,t)=>as((e=>R(Rt(e,y(t)?t(Ts(e)):t),(t=>Nt(e,t)))),e),applyChanges:e=>as((()=>{le(e[0],((e,t)=>m(e)?Fs(t):le(e,((e,s)=>m(e)?Os(t,s):le(e,((e,l)=>k(js,t,s,l,e))))))),le(e[1],((e,t)=>A(js,t,e)))})),setTablesJson:ys,setValuesJson:e=>(F((()=>kt(Ie(e)))),js),setJson:e=>as((()=>F((()=>{const[t,s]=Ie(e);Et(t),kt(s)}),(()=>ys(e))))),setTablesSchema:Ls,setValuesSchema:Js,setSchema:(e,t)=>as((()=>{Ls(e),Js(t)})),delTables:Es,delTable:Fs,delRow:Os,delCell:(e,t,s,l)=>as(((e,t,s)=>R(ie(We,e),(a=>R(ie(a,t),(n=>W(n,s)?Ht(e,a,t,n,s,l):0))))),e,t,s),delValues:zs,delValue:e=>as((e=>W($e,e)?Wt(e):0),e),delTablesSchema:Ms,delValuesSchema:Ps,delSchema:()=>as((()=>{Ms(),Ps()})),transaction:ks,startTransaction:As,getTransactionChanges:()=>[fe(Y,((e,t)=>-1===ie(N,t)?void 0:fe(e,((e,s)=>-1===ie(ie(U,t),s)?void 0:fe(e,(([,e])=>e),(e=>Oe(e)))),$,ae)),$,ae),fe(we,(([,e])=>e),(e=>Oe(e))),1],getTransactionLog:()=>[!$(Y),!$(we),be(Y,Fe,Oe),be(me),fe(we,Fe,Oe),fe(Pe),fe(N),ge(U),be(X),fe(_)],finishTransaction:Ns,forEachTable:e=>G(We,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(ie(He,I(e)),t),forEachRow:(e,t)=>G(ie(We,I(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(ie(ie(We,I(e)),I(t)),s),forEachValue:e=>ce($e,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>Z(e)?ns(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ns(e,t,[s,l,a],n,o),addStartTransactionListener:e=>gt(e,ht),addWillFinishTransactionListener:e=>gt(e,ft[0]),addDidFinishTransactionListener:e=>gt(e,ft[1]),callListener:e=>(vt(e),js),delListener:e=>(Tt(e),js),getListenerStats:()=>({hasTables:Je(qe),tables:Je(Be),tableIds:Je(Ge),hasTable:Je(Ke),table:Je(Qe),tableCellIds:Je(Ue),hasTableCell:Je(Xe,D),rowCount:Je(Ye),rowIds:Je(Ze),sortedRowIds:Je(_e),hasRow:Je(et,D),row:Je(tt,D),cellIds:Je(st,D),hasCell:Je(lt,H),cell:Je(at,H),invalidCell:Je(nt,H),hasValues:Je(rt),values:Je(it),valueIds:Je(ct),hasValue:Je(dt),value:Je(ut),invalidValue:Je(ot),transaction:x(ht)+Je(ft)}),isMergeable:()=>!1,createStore:Me,addListener:gt,callListeners:bt,setInternalListeners:(e,t,s,l,a)=>S=[e,t,s,l,a]};return le({[i+u]:[0,qe,[],()=>[vs()]],[u]:[0,Be],[h]:[0,Ge],[i+d]:[1,Ke,[rs],e=>[Cs(...e)]],[d]:[1,Qe,[rs]],[d+v]:[1,Ue,[rs]],[i+d+T]:[2,Xe,[rs,is],e=>[Vs(...e)]],[g]:[1,Ye,[rs]],[b]:[1,Ze,[rs]],[i+f]:[2,et,[rs,ds],e=>[ws(...e)]],[f]:[2,tt,[rs,ds]],[v]:[2,st,[rs,ds]],[i+T]:[3,lt,[rs,ds,hs],e=>[Is(...e)]],[T]:[3,at,[rs,ds,hs],e=>Le(fs(...e))],InvalidCell:[3,nt],[i+V]:[0,rt,[],()=>[Ss()]],[V]:[0,it],[w]:[0,ct],[i+C]:[1,dt,[bs],e=>[ms(...e)]],[C]:[1,ut,[bs],e=>Le(Ts(e[0]))],InvalidValue:[1,ot]},(([e,t,s,l],a)=>{js["add"+a+"Listener"]=(...a)=>gt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,l)})),ee(js)};export{Me as createStore};
|
package/min/store/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),p=e=>e==s||e==a,y=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),M=(e,...t)=>e.push(...t),P=t=>{const s=e(t);return p(s)||s==l&&I(t)?s:void 0},k=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),A=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),N=e=>t=>{return s=(t,s)=>t+e(s),q(t).reduce(s,0);var s},j=e=>e?.size??0,x=N(j),D=N(x),H=N(D),W=(e,t)=>e?.has(t)??!1,$=e=>m(e)||0==j(e),q=e=>[...e?.values()??[]],B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=Object,U=e=>Q.getPrototypeOf(e),X=Q.entries,Y=Q.isFrozen,Z=e=>!m(e)&&R(U(e),(e=>e==Q.prototype||m(U(e))),(()=>!0)),_=Q.keys,ee=Q.freeze,te=(e,t)=>t in e,se=(e,t)=>(delete e[t],e),ae=(e,t)=>((e=[])=>Q.fromEntries(e))(((e,t)=>z(X(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),le=e=>Z(e)&&0==(e=>E(_(e)))(e),ne=(e,t,s,a=0)=>m(e)||!Z(e)||!a&&le(e)||Y(e)?(s?.(),!1):(((e,t)=>{O(X(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||se(e,a)})),!!a||!le(e)),oe=e=>new Map(e),re=e=>[...e?.keys()??[]],ie=(e,t)=>e?.get(t),ce=(e,t)=>G(e,((e,s)=>t(s,e))),de=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),ue=(e,t,s,a)=>(W(e,t)?a?.(ie(e,t)):de(e,t,s()),ie(e,t)),he=(e,t,s,a=de)=>(ae(t,((t,a)=>s(e,a,t))),ce(e,(s=>te(t,s)?0:a(e,s))),e),fe=(e,t,s,a)=>{const l={};return G(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},ge=(e,t,s)=>fe(e,(e=>fe(e,t,s)),$,le),Te=(e,t,s)=>fe(e,(e=>ge(e,t,s)),$,le),be=(e,t)=>{const s=oe();return G(e,((e,a)=>s.set(a,t?.(e)??e))),s},ve=e=>be(e,be),Ce=e=>be(e,ve),Ve=(e,t,s,a,l=0)=>R((s?ue:ie)(e,t[l],l>E(t)-2?s:oe),(n=>{if(l>E(t)-2)return a?.(n)&&de(e,t[l]),n;const o=Ve(n,t,s,a,l+1);return $(n)&&de(e,t[l]),o})),we=JSON.stringify,Se=JSON.parse,Ie=e=>we(e,((e,t)=>t instanceof Map?Q.fromEntries([...t]):t)),me=/^\d+$/,Re=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{me.test(t)&&E(e)<1e3&&M(e,t)}]},pe=e=>new Set(L(e)||m(e)?e:[e]),ye=(e,t)=>e?.add(t),Le=e=>[e,e],Je=(e,t=x)=>t(e[0])+t(e[1]),Ee=()=>[oe(),oe()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=(e,t,s)=>de(e,t,ie(e,t)==-s?void 0:s),Me=()=>{let e,s,a=!1,n=!1,c=0,I=[];const N=oe(),q=oe(),Q=oe(),U=oe(),X=oe(),Y=oe(),Z=oe(),_=oe(),we=oe(),me=oe(),Pe=oe(),ke=oe(),Ae=oe(),Ne=oe(),je=pe(),xe=oe(),De=oe(),He=oe(),We=oe(),$e=Ee(),qe=Ee(),Be=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),at=Ee(),lt=Ee(),nt=Ee(),ot=Ee(),rt=Ee(),it=Ee(),ct=Ee(),dt=Ee(),ut=oe(),ht=Ee(),[ft,gt,Tt,bt]=(()=>{let e;const[s,a]=Re(),l=oe();return[(a,n,o,r=[],i=()=>[])=>{e??=As;const c=s(1);return de(l,c,[a,n,o,r,i]),ye(Ve(n,o??[t],pe),c),c},(s,a,...n)=>O(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?M(a,e):null===s[t]?G(e,(e=>l(e,t+1))):O([s[t],null],(s=>l(ie(e,s),t+1)));return l(e,0),a})(s,a),(t=>G(t,(t=>ie(l,t)[0](e,...a??[],...n))))),e=>R(ie(l,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(K(t,e),$(t)?1:0))),de(l,e),a(e),n))),t=>R(ie(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?O(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),vt=e=>{if(!ne(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!p(t)&&t!=l||(P(e[r])!=t&&se(e,r),0))},Ct=L,Vt=(t,s)=>(!e||W(Pe,s)||Qt(s))&&ne(t,((e,t)=>wt(s,t,e)),(()=>Qt(s))),wt=(e,t,s,a)=>ne(a?s:Rt(s,e,t),((a,l)=>R(St(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),St=(t,s,a,l)=>e?R(ie(ie(Pe,t),a),(e=>P(l)!=e[o]?Qt(t,s,a,l,e[r]):l),(()=>Qt(t,s,a,l))):m(P(l))?Qt(t,s,a,l):l,It=(e,t)=>ne(t?e:pt(e),((t,s)=>R(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),mt=(e,t)=>s?R(ie(Ae,e),(s=>P(t)!=s[o]?Ut(e,t,s[r]):t),(()=>Ut(e,t))):m(P(t))?Ut(e,t):t,Rt=(e,t,s)=>(R(ie(ke,t),(([a,l])=>{G(a,((t,s)=>{te(e,s)||(e[s]=t)})),G(l,(a=>{te(e,a)||Qt(t,s,a)}))})),e),pt=e=>(s&&(G(Ne,((t,s)=>{te(e,s)||(e[s]=t)})),G(je,(t=>{te(e,t)||Ut(t)}))),e),yt=e=>he(Pe,e,((e,t,s)=>{const a=oe(),l=pe();he(ue(Pe,t,oe),s,((e,t,s)=>{de(e,t,s),R(s[r],(e=>de(a,t,e)),(()=>ye(l,t)))})),de(ke,t,[a,l])}),((e,t)=>{de(Pe,t),de(ke,t)})),Lt=e=>he(Ae,e,((e,t,s)=>{de(Ae,t,s),R(s[r],(e=>de(Ne,t,e)),(()=>ye(je,t)))}),((e,t)=>{de(Ae,t),de(Ne,t),K(je,t)})),Jt=e=>le(e)?Ls():Is(e),Et=e=>he(He,e,((e,t,s)=>Ft(t,s)),((e,t)=>jt(t))),Ft=(e,t)=>he(ue(He,e,(()=>(Wt(e,1),de(xe,e,Re()),de(De,e,oe()),oe()))),t,((t,s,a)=>Ot(e,t,s,a)),((t,s)=>xt(e,t,s))),Ot=(e,t,s,a,l)=>he(ue(t,s,(()=>($t(e,s,1),oe()))),a,((t,a,l)=>zt(e,s,t,a,l)),((a,n)=>Dt(e,t,s,a,n,l))),zt=(e,t,s,a,l)=>{W(s,a)||qt(e,t,a,1);const n=ie(s,a);l!==n&&(Bt(e,t,a,n,l),de(s,a,l))},Mt=(e,t,s,a,l)=>R(ie(t,s),(t=>zt(e,s,t,a,l)),(()=>Ot(e,t,s,Rt({[a]:l},e,s)))),Pt=e=>le(e)?Fs():ms(e),kt=e=>he(We,e,((e,t,s)=>At(t,s)),((e,t)=>Ht(t))),At=(e,t)=>{W(We,e)||Gt(e,1);const s=ie(We,e);t!==s&&(Kt(e,s,t),de(We,e,t))},Nt=e=>ie(He,e)??Ft(e,{}),jt=e=>Ft(e,{}),xt=(e,t,s)=>{const[,a]=ie(xe,e);a(s),Ot(e,t,s,{},!0)},Dt=(e,t,s,a,l,n)=>{const o=ie(ie(ke,e)?.[0],l);if(!m(o)&&!n)return zt(e,s,a,l,o);const r=t=>{Bt(e,s,t,ie(a,t)),qt(e,s,t,-1),de(a,t)};m(o)?r(l):ce(a,r),$(a)&&($t(e,s,-1),$(de(t,s))&&(Wt(e,-1),de(He,e),de(xe,e),de(De,e)))},Ht=e=>{const t=ie(Ne,e);if(!m(t))return At(e,t);Kt(e,ie(We,e)),Gt(e,-1),de(We,e)},Wt=(e,t)=>ze(N,e,t),$t=(e,t,s)=>ze(ue(U,e,oe),t,s)&&de(Q,e,ue(Q,e,(()=>0))+s),qt=(e,t,s,a)=>{const l=ie(De,e),n=ie(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ze(ue(q,e,oe),s,a),de(l,s,n!=-a?n+a:null),ze(ue(ue(X,e,oe),t,oe),s,a)},Bt=(e,t,s,a,l)=>{ue(ue(ue(Y,e,oe),t,oe),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Gt=(e,t)=>ze(Z,e,t),Kt=(e,t,s)=>{ue(_,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Qt=(e,t,s,a,l)=>(M(ue(ue(ue(we,e,oe),t,oe),s,(()=>[])),a),l),Ut=(e,t,s)=>(M(ue(me,e,(()=>[])),t),s),Xt=(e,t,s)=>R(ie(ie(ie(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(us(e,t,s))])),Yt=e=>R(ie(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(gs(e))])),Zt=e=>$(we)||$(lt[e])?0:G(e?Ce(we):we,((t,s)=>G(t,((t,a)=>G(t,((t,l)=>gt(lt[e],[s,a,l],t))))))),_t=e=>$(me)||$(nt[e])?0:G(e?be(me):me,((t,s)=>gt(nt[e],[s],t))),es=(e,t,s,a)=>{if(!$(e))return gt(t,a,(()=>fe(e))),ce(e,((e,t)=>gt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Ts();t!=a&>($e[e],void 0,t);const s=$(Ze[e]),l=$(tt[e])&&$(st[e])&&$(Ye[e])&&$(_e[e])&&$(Qe[e])&&$(Ue[e])&&$(Xe[e])&&s&&$(Be[e])&&$(Ge[e]),n=$(at[e])&&$(et[e])&&$(Ke[e])&&$(qe[e]);if(!l||!n){const t=e?[be(N),ve(q),be(Q),ve(U),Ce(X),Ce(Y)]:[N,q,Q,U,X,Y];if(!l){es(t[0],Be[e],Ge[e]),G(t[1],((t,s)=>es(t,Qe[e],Ue[e],[s]))),G(t[2],((t,s)=>{0!=t&>(Xe[e],[s],rs(s))}));const a=pe();G(t[3],((t,l)=>{es(t,Ye[e],_e[e],[l])&&!s&&(gt(Ze[e],[l,null]),ye(a,l))})),s||G(t[5],((t,s)=>{if(!W(a,s)){const a=pe();G(t,(e=>G(e,(([t,s],l)=>s!==t?ye(a,l):K(e,l))))),G(a,(t=>gt(Ze[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,a)=>es(t,tt[e],st[e],[s,a])))))}if(!n){let s;G(t[5],((t,a)=>{let l;G(t,((t,n)=>{let o;G(t,(([t,r],i)=>{r!==t&&(gt(at[e],[a,n,i],r,t,Xt),s=l=o=1)})),o&>(et[e],[a,n],Xt)})),l&>(Ke[e],[a],Xt)})),s&>(qe[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&>(ot[e],void 0,t);const s=$(it[e])&&$(ct[e]),a=$(dt[e])&&$(rt[e]);if(!s||!a){const t=e?[be(Z),be(_)]:[Z,_];if(s||es(t[0],it[e],ct[e]),!a){let s;G(t[1],(([t,a],l)=>{a!==t&&(gt(dt[e],[l],a,t,Yt),s=1)})),s&>(rt[e],void 0,Yt)}}},as=(e,...t)=>(Ms((()=>e(...z(t,S)))),As),ls=()=>Te(He),ns=()=>re(He),os=e=>re(ie(De,S(e))),rs=e=>j(ie(He,S(e))),is=e=>re(ie(He,S(e))),cs=(e,t,s,a=0,l)=>{return z(J((o=ie(He,S(e)),r=(e,s)=>[m(t)?s:ie(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},ds=(e,t)=>re(ie(ie(He,S(e)),S(t))),us=(e,t,s)=>ie(ie(ie(He,S(e)),S(t)),S(s)),hs=()=>fe(We),fs=()=>re(We),gs=e=>ie(We,S(e)),Ts=()=>!$(He),bs=e=>W(He,S(e)),vs=(e,t)=>W(ie(De,S(e)),S(t)),Cs=(e,t)=>W(ie(He,S(e)),S(t)),Vs=(e,t,s)=>W(ie(ie(He,S(e)),S(t)),S(s)),ws=()=>!$(We),Ss=e=>W(We,S(e)),Is=e=>as((()=>(e=>ne(e,Vt,Qt))(e)?Et(e):0)),ms=e=>as((()=>It(e)?kt(e):0)),Rs=e=>(F((()=>Jt(Se(e)))),As),ps=t=>as((()=>{if((e=ne(t,(e=>ne(e,vt))))&&(yt(t),!$(He))){const e=ls();Ls(),Is(e)}})),ys=e=>as((()=>{if(s=(e=>ne(e,vt))(e)){const t=hs();zs(),Fs(),s=!0,Lt(e),ms(t)}})),Ls=()=>as((()=>Et({}))),Js=e=>as((e=>W(He,e)?jt(e):0),e),Es=(e,t)=>as(((e,t)=>R(ie(He,e),(s=>W(s,t)?xt(e,s,t):0))),e,t),Fs=()=>as((()=>kt({}))),Os=()=>as((()=>{yt({}),e=!1})),zs=()=>as((()=>{Lt({}),s=!1})),Ms=(e,t)=>{if(-1!=c){Ps();const s=e();return ks(t),s}},Ps=()=>(-1!=c&&c++,1==c&&(I[0]?.(),gt(ut)),As),ks=e=>(c>0&&(c--,0==c&&(c=1,Zt(1),$(Y)||ts(1),_t(1),$(_)||ss(1),e?.(As)&&(G(Y,((e,t)=>G(e,((e,s)=>G(e,(([e],a)=>k(As,t,s,a,e))))))),B(Y),G(_,(([e],t)=>A(As,t,e))),B(_)),gt(ht[0],void 0),c=-1,Zt(0),$(Y)||ts(0),_t(0),$(_)||ss(0),I[1]?.(),gt(ht[1],void 0),I[2]?.(),c=0,a=Ts(),n=ws(),O([N,q,Q,U,X,Y,we,Z,_,me],B))),As),As={getContent:()=>[ls(),hs()],getTables:ls,getTableIds:ns,getTable:e=>ge(ie(He,S(e))),getTableCellIds:os,getRowCount:rs,getRowIds:is,getSortedRowIds:cs,getRow:(e,t)=>fe(ie(ie(He,S(e)),S(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:fs,getValue:gs,hasTables:Ts,hasTable:bs,hasTableCell:vs,hasRow:Cs,hasCell:Vs,hasValues:ws,hasValue:Ss,getTablesJson:()=>Ie(He),getValuesJson:()=>Ie(We),getJson:()=>Ie([He,We]),getTablesSchemaJson:()=>Ie(Pe),getValuesSchemaJson:()=>Ie(Ae),getSchemaJson:()=>Ie([Pe,Ae]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=y(e)?e():e;Ct(t)&&(([e,t])=>{(le(e)?Ls:Is)(e),(le(t)?Fs:ms)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Ft(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Ot(e,Nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ms((()=>{let a;return wt(e,a,t)&&(e=S(e),Ot(e,Nt(e),a=((e,t)=>{const[s]=ie(xe,e);let a;do{a=s(t)}while(W(ie(He,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=Nt(e);ae(s,((s,l)=>Mt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>R(St(e,t,s,y(a)?a(us(e,t,s)):a),(a=>Mt(e,Nt(e),t,s,a)))),e,t,s),setValues:ms,setPartialValues:e=>as((()=>It(e,1)?ae(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>as((e=>R(mt(e,y(t)?t(gs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>as((()=>{ae(e[0],((e,t)=>m(e)?Js(t):ae(e,((e,s)=>m(e)?Es(t,s):ae(e,((e,a)=>k(As,t,s,a,e))))))),ae(e[1],((e,t)=>A(As,t,e)))})),setTablesJson:Rs,setValuesJson:e=>(F((()=>Pt(Se(e)))),As),setJson:e=>as((()=>F((()=>{const[t,s]=Se(e);Jt(t),Pt(s)}),(()=>Rs(e))))),setTablesSchema:ps,setValuesSchema:ys,setSchema:(e,t)=>as((()=>{ps(e),ys(t)})),delTables:Ls,delTable:Js,delRow:Es,delCell:(e,t,s,a)=>as(((e,t,s)=>R(ie(He,e),(l=>R(ie(l,t),(n=>W(n,s)?Dt(e,l,t,n,s,a):0))))),e,t,s),delValues:Fs,delValue:e=>as((e=>W(We,e)?Ht(e):0),e),delTablesSchema:Os,delValuesSchema:zs,delSchema:()=>as((()=>{Os(),zs()})),transaction:Ms,startTransaction:Ps,getTransactionChanges:()=>[fe(Y,((e,t)=>-1===ie(N,t)?void 0:fe(e,((e,s)=>-1===ie(ie(U,t),s)?void 0:fe(e,(([,e])=>e),(e=>Oe(e)))),$,le)),$,le),fe(_,(([,e])=>e),(e=>Oe(e))),1],getTransactionLog:()=>[!$(Y),!$(_),Te(Y,Fe,Oe),Te(we),fe(_,Fe,Oe),fe(me),fe(N),ge(U),Te(X),fe(Z)],finishTransaction:ks,forEachTable:e=>G(He,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(ie(De,S(e)),t),forEachRow:(e,t)=>G(ie(He,S(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(ie(ie(He,S(e)),S(t)),s),forEachValue:e=>ce(We,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=cs(e,t,s,a,l);return ft((()=>{const o=cs(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(As,e,t,s,a,l,r))}),Ze[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>ft(e,ut),addWillFinishTransactionListener:e=>ft(e,ht[0]),addDidFinishTransactionListener:e=>ft(e,ht[1]),callListener:e=>(bt(e),As),delListener:e=>(Tt(e),As),getListenerStats:()=>({hasTables:Je($e),tables:Je(qe),tableIds:Je(Be),hasTable:Je(Ge),table:Je(Ke),tableCellIds:Je(Qe),hasTableCell:Je(Ue,D),rowCount:Je(Xe),rowIds:Je(Ye),sortedRowIds:Je(Ze),hasRow:Je(_e,D),row:Je(et,D),cellIds:Je(tt,D),hasCell:Je(st,H),cell:Je(at,H),invalidCell:Je(lt,H),hasValues:Je(ot),values:Je(rt),valueIds:Je(it),hasValue:Je(ct),value:Je(dt),invalidValue:Je(nt),transaction:x(ut)+Je(ht)}),isMergeable:()=>!1,createStore:Me,addListener:ft,callListeners:gt,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return ae({[i+u]:[0,$e,[],()=>[Ts()]],[u]:[0,qe],[h]:[0,Be],[i+d]:[1,Ge,[ns],e=>[bs(...e)]],[d]:[1,Ke,[ns]],[d+v]:[1,Qe,[ns]],[i+d+b]:[2,Ue,[ns,os],e=>[vs(...e)]],[g]:[1,Xe,[ns]],[T]:[1,Ye,[ns]],[i+f]:[2,_e,[ns,is],e=>[Cs(...e)]],[f]:[2,et,[ns,is]],[v]:[2,tt,[ns,is]],[i+b]:[3,st,[ns,is,ds],e=>[Vs(...e)]],[b]:[3,at,[ns,is,ds],e=>Le(us(...e))],InvalidCell:[3,lt],[i+V]:[0,ot,[],()=>[ws()]],[V]:[0,rt],[w]:[0,it],[i+C]:[1,ct,[fs],e=>[Ss(...e)]],[C]:[1,dt,[fs],e=>Le(gs(e[0]))],InvalidValue:[1,nt]},(([e,t,s,a],l)=>{As["add"+l+"Listener"]=(...l)=>ft(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),ee(As)};export{Me as createStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),a=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",b=f+c,T="Cell",v=T+c,C="Value",V=C+"s",w=C+c,I=e=>t+e,S=isFinite,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),p=e=>e==s||e==l,y=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),M=(e,...t)=>e.push(...t),P=t=>{const s=e(t);return p(s)||s==a&&S(t)?s:void 0},k=(e,t,s,l,a)=>m(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),A=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),N=e=>t=>{return s=(t,s)=>t+e(s),q(t).reduce(s,0);var s},j=e=>e?.size??0,x=N(j),D=N(x),H=N(D),W=(e,t)=>e?.has(t)??!1,$=e=>m(e)||0==j(e),q=e=>[...e?.values()??[]],B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=Object,U=e=>Q.getPrototypeOf(e),X=Q.entries,Y=Q.isFrozen,Z=e=>!m(e)&&R(U(e),(e=>e==Q.prototype||m(U(e))),(()=>!0)),_=Q.keys,ee=Q.freeze,te=(e,t)=>t in e,se=(e,t)=>(delete e[t],e),le=(e,t)=>((e=[])=>Q.fromEntries(e))(((e,t)=>z(X(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ae=e=>Z(e)&&0==(e=>E(_(e)))(e),ne=(e,t,s,l=0)=>m(e)||!Z(e)||!l&&ae(e)||Y(e)?(s?.(),!1):(((e,t)=>{O(X(e),(([e,s])=>t(s,e)))})(e,((s,l)=>{t(s,l)||se(e,l)})),!!l||!ae(e)),oe=e=>new Map(e),re=e=>[...e?.keys()??[]],ie=(e,t)=>e?.get(t),ce=(e,t)=>G(e,((e,s)=>t(s,e))),de=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),ue=(e,t,s,l)=>(W(e,t)?l?.(ie(e,t)):de(e,t,s()),ie(e,t)),he=(e,t,s,l=de)=>(le(t,((t,l)=>s(e,l,t))),ce(e,(s=>te(t,s)?0:l(e,s))),e),fe=(e,t,s,l)=>{const a={};return G(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;l?.(s)||(a[n]=s)}})),a},ge=(e,t,s)=>fe(e,(e=>fe(e,t,s)),$,ae),be=(e,t,s)=>fe(e,(e=>ge(e,t,s)),$,ae),Te=(e,t)=>{const s=oe();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ve=e=>Te(e,Te),Ce=e=>Te(e,ve),Ve=(e,t,s,l,a=0)=>R((s?ue:ie)(e,t[a],a>E(t)-2?s:oe),(n=>{if(a>E(t)-2)return l?.(n)&&de(e,t[a]),n;const o=Ve(n,t,s,l,a+1);return $(n)&&de(e,t[a]),o})),we=JSON.stringify,Ie=JSON.parse,Se=e=>we(e,((e,t)=>t instanceof Map?Q.fromEntries([...t]):t)),me=/^\d+$/,Re=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{me.test(t)&&E(e)<1e3&&M(e,t)}]},pe=e=>new Set(L(e)||m(e)?e:[e]),ye=(e,t)=>e?.add(t),Le=e=>[e,e],Je=(e,t=x)=>t(e[0])+t(e[1]),Ee=()=>[oe(),oe()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=(e,t,s)=>de(e,t,ie(e,t)==-s?void 0:s),Me=()=>{let e,s,l=!1,n=!1,c=0,S=[];const N=oe(),q=oe(),Q=oe(),U=oe(),X=oe(),Y=oe(),_=oe(),we=oe(),me=oe(),Pe=oe(),ke=oe(),Ae=oe(),Ne=oe(),je=oe(),xe=pe(),De=oe(),He=oe(),We=oe(),$e=oe(),qe=Ee(),Be=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),lt=Ee(),at=Ee(),nt=Ee(),ot=Ee(),rt=Ee(),it=Ee(),ct=Ee(),dt=Ee(),ut=Ee(),ht=oe(),ft=Ee(),[gt,bt,Tt,vt]=(()=>{let e;const[s,l]=Re(),a=oe();return[(l,n,o,r=[],i=()=>[])=>{e??=js;const c=s(1);return de(a,c,[l,n,o,r,i]),ye(Ve(n,o??[t],pe),c),c},(s,l,...n)=>O(((e,s=[t])=>{const l=[],a=(e,t)=>t==E(s)?M(l,e):null===s[t]?G(e,(e=>a(e,t+1))):O([s[t],null],(s=>a(ie(e,s),t+1)));return a(e,0),l})(s,l),(t=>G(t,(t=>ie(a,t)[0](e,...l??[],...n))))),e=>R(ie(a,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(K(t,e),$(t)?1:0))),de(a,e),l(e),n))),t=>R(ie(a,t),(([t,,s=[],l,a])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...a(o)):m(s[r])?O(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),Ct=e=>{if(!ne(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!p(t)&&t!=a||(P(e[r])!=t&&se(e,r),0))},Vt=L,wt=(t,s)=>(!e||W(ke,s)||Ut(s))&&ne(t,((e,t)=>It(s,t,e)),(()=>Ut(s))),It=(e,t,s,l)=>ne(l?s:pt(s,e,t),((l,a)=>R(St(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Ut(e,t))),St=(t,s,l,a)=>e?R(ie(ie(ke,t),l),(e=>P(a)!=e[o]?Ut(t,s,l,a,e[r]):a),(()=>Ut(t,s,l,a))):m(P(a))?Ut(t,s,l,a):a,mt=(e,t)=>ne(t?e:yt(e),((t,s)=>R(Rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Xt())),Rt=(e,t)=>s?R(ie(Ne,e),(s=>P(t)!=s[o]?Xt(e,t,s[r]):t),(()=>Xt(e,t))):m(P(t))?Xt(e,t):t,pt=(e,t,s)=>(R(ie(Ae,t),(([l,a])=>{G(l,((t,s)=>{te(e,s)||(e[s]=t)})),G(a,(l=>{te(e,l)||Ut(t,s,l)}))})),e),yt=e=>(s&&(G(je,((t,s)=>{te(e,s)||(e[s]=t)})),G(xe,(t=>{te(e,t)||Xt(t)}))),e),Lt=e=>he(ke,e,((e,t,s)=>{const l=oe(),a=pe();he(ue(ke,t,oe),s,((e,t,s)=>{de(e,t,s),R(s[r],(e=>de(l,t,e)),(()=>ye(a,t)))})),de(Ae,t,[l,a])}),((e,t)=>{de(ke,t),de(Ae,t)})),Jt=e=>he(Ne,e,((e,t,s)=>{de(Ne,t,s),R(s[r],(e=>de(je,t,e)),(()=>ye(xe,t)))}),((e,t)=>{de(Ne,t),de(je,t),K(xe,t)})),Et=e=>ae(e)?Es():Rs(e),Ft=e=>he(We,e,((e,t,s)=>Ot(t,s)),((e,t)=>xt(t))),Ot=(e,t)=>he(ue(We,e,(()=>($t(e,1),de(De,e,Re()),de(He,e,oe()),oe()))),t,((t,s,l)=>zt(e,t,s,l)),((t,s)=>Dt(e,t,s))),zt=(e,t,s,l,a)=>he(ue(t,s,(()=>(qt(e,s,1),oe()))),l,((t,l,a)=>Mt(e,s,t,l,a)),((l,n)=>Ht(e,t,s,l,n,a))),Mt=(e,t,s,l,a)=>{W(s,l)||Bt(e,t,l,1);const n=ie(s,l);a!==n&&(Gt(e,t,l,n,a),de(s,l,a))},Pt=(e,t,s,l,a)=>R(ie(t,s),(t=>Mt(e,s,t,l,a)),(()=>zt(e,t,s,pt({[l]:a},e,s)))),kt=e=>ae(e)?zs():ps(e),At=e=>he($e,e,((e,t,s)=>Nt(t,s)),((e,t)=>Wt(t))),Nt=(e,t)=>{W($e,e)||Kt(e,1);const s=ie($e,e);t!==s&&(Qt(e,s,t),de($e,e,t))},jt=e=>ie(We,e)??Ot(e,{}),xt=e=>Ot(e,{}),Dt=(e,t,s)=>{const[,l]=ie(De,e);l(s),zt(e,t,s,{},!0)},Ht=(e,t,s,l,a,n)=>{const o=ie(ie(Ae,e)?.[0],a);if(!m(o)&&!n)return Mt(e,s,l,a,o);const r=t=>{Gt(e,s,t,ie(l,t)),Bt(e,s,t,-1),de(l,t)};m(o)?r(a):ce(l,r),$(l)&&(qt(e,s,-1),$(de(t,s))&&($t(e,-1),de(We,e),de(De,e),de(He,e)))},Wt=e=>{const t=ie(je,e);if(!m(t))return Nt(e,t);Qt(e,ie($e,e)),Kt(e,-1),de($e,e)},$t=(e,t)=>ze(N,e,t),qt=(e,t,s)=>ze(ue(U,e,oe),t,s)&&de(Q,e,ue(Q,e,(()=>0))+s),Bt=(e,t,s,l)=>{const a=ie(He,e),n=ie(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&ze(ue(q,e,oe),s,l),de(a,s,n!=-l?n+l:null),ze(ue(ue(X,e,oe),t,oe),s,l)},Gt=(e,t,s,l,a)=>{ue(ue(ue(Y,e,oe),t,oe),s,(()=>[l,0]))[1]=a,S[3]?.(e,t,s,a)},Kt=(e,t)=>ze(_,e,t),Qt=(e,t,s)=>{ue(we,e,(()=>[t,0]))[1]=s,S[4]?.(e,s)},Ut=(e,t,s,l,a)=>(M(ue(ue(ue(me,e,oe),t,oe),s,(()=>[])),l),a),Xt=(e,t,s)=>(M(ue(Pe,e,(()=>[])),t),s),Yt=(e,t,s)=>R(ie(ie(ie(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(fs(e,t,s))])),Zt=e=>R(ie(we,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(Ts(e))])),_t=e=>$(me)||$(nt[e])?0:G(e?Ce(me):me,((t,s)=>G(t,((t,l)=>G(t,((t,a)=>bt(nt[e],[s,l,a],t))))))),es=e=>$(Pe)||$(ot[e])?0:G(e?Te(Pe):Pe,((t,s)=>bt(ot[e],[s],t))),ts=(e,t,s,l)=>{if(!$(e))return bt(t,l,(()=>fe(e))),ce(e,((e,t)=>bt(s,[...l??[],e],1==t))),1},ss=e=>{const t=vs();t!=l&&bt(qe[e],void 0,t);const s=$(_e[e]),a=$(st[e])&&$(lt[e])&&$(Ze[e])&&$(et[e])&&$(Ue[e])&&$(Xe[e])&&$(Ye[e])&&s&&$(Ge[e])&&$(Ke[e]),n=$(at[e])&&$(tt[e])&&$(Qe[e])&&$(Be[e]);if(!a||!n){const t=e?[Te(N),ve(q),Te(Q),ve(U),Ce(X),Ce(Y)]:[N,q,Q,U,X,Y];if(!a){ts(t[0],Ge[e],Ke[e]),G(t[1],((t,s)=>ts(t,Ue[e],Xe[e],[s]))),G(t[2],((t,s)=>{0!=t&&bt(Ye[e],[s],cs(s))}));const l=pe();G(t[3],((t,a)=>{ts(t,Ze[e],et[e],[a])&&!s&&(bt(_e[e],[a,null]),ye(l,a))})),s||G(t[5],((t,s)=>{if(!W(l,s)){const l=pe();G(t,(e=>G(e,(([t,s],a)=>s!==t?ye(l,a):K(e,a))))),G(l,(t=>bt(_e[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,l)=>ts(t,st[e],lt[e],[s,l])))))}if(!n){let s;G(t[5],((t,l)=>{let a;G(t,((t,n)=>{let o;G(t,(([t,r],i)=>{r!==t&&(bt(at[e],[l,n,i],r,t,Yt),s=a=o=1)})),o&&bt(tt[e],[l,n],Yt)})),a&&bt(Qe[e],[l],Yt)})),s&&bt(Be[e],void 0,Yt)}}},ls=e=>{const t=Ss();t!=n&&bt(rt[e],void 0,t);const s=$(ct[e])&&$(dt[e]),l=$(ut[e])&&$(it[e]);if(!s||!l){const t=e?[Te(_),Te(we)]:[_,we];if(s||ts(t[0],ct[e],dt[e]),!l){let s;G(t[1],(([t,l],a)=>{l!==t&&(bt(ut[e],[a],l,t,Zt),s=1)})),s&&bt(it[e],void 0,Zt)}}},as=(e,...t)=>(ks((()=>e(...z(t,I)))),js),ns=(e,t,s,l,a)=>{let n=us(e,t,...s);return gt((()=>{const a=us(e,t,...s);var o,r,i;r=n,E(o=a)===E(r)&&(i=(e,t)=>r[t]===e,o.every(i))||(n=a,l(js,e,t,...s,n))}),_e[a?1:0],[e,t],[rs])},os=()=>be(We),rs=()=>re(We),is=e=>re(ie(He,I(e))),cs=e=>j(ie(We,I(e))),ds=e=>re(ie(We,I(e))),us=(e,t,s,l=0,a)=>{return Z(e)?us(e.tableId,e.cellId,e.descending,e.offset,e.limit):z(J((o=ie(We,I(e)),r=(e,s)=>[m(t)?s:ie(e,I(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),l,m(a)?a:l+a),(([,e])=>e));var n,o,r},hs=(e,t)=>re(ie(ie(We,I(e)),I(t))),fs=(e,t,s)=>ie(ie(ie(We,I(e)),I(t)),I(s)),gs=()=>fe($e),bs=()=>re($e),Ts=e=>ie($e,I(e)),vs=()=>!$(We),Cs=e=>W(We,I(e)),Vs=(e,t)=>W(ie(He,I(e)),I(t)),ws=(e,t)=>W(ie(We,I(e)),I(t)),Is=(e,t,s)=>W(ie(ie(We,I(e)),I(t)),I(s)),Ss=()=>!$($e),ms=e=>W($e,I(e)),Rs=e=>as((()=>(e=>ne(e,wt,Ut))(e)?Ft(e):0)),ps=e=>as((()=>mt(e)?At(e):0)),ys=e=>(F((()=>Et(Ie(e)))),js),Ls=t=>as((()=>{if((e=ne(t,(e=>ne(e,Ct))))&&(Lt(t),!$(We))){const e=os();Es(),Rs(e)}})),Js=e=>as((()=>{if(s=(e=>ne(e,Ct))(e)){const t=gs();Ps(),zs(),s=!0,Jt(e),ps(t)}})),Es=()=>as((()=>Ft({}))),Fs=e=>as((e=>W(We,e)?xt(e):0),e),Os=(e,t)=>as(((e,t)=>R(ie(We,e),(s=>W(s,t)?Dt(e,s,t):0))),e,t),zs=()=>as((()=>At({}))),Ms=()=>as((()=>{Lt({}),e=!1})),Ps=()=>as((()=>{Jt({}),s=!1})),ks=(e,t)=>{if(-1!=c){As();const s=e();return Ns(t),s}},As=()=>(-1!=c&&c++,1==c&&(S[0]?.(),bt(ht)),js),Ns=e=>(c>0&&(c--,0==c&&(c=1,_t(1),$(Y)||ss(1),es(1),$(we)||ls(1),e?.(js)&&(G(Y,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>k(js,t,s,l,e))))))),B(Y),G(we,(([e],t)=>A(js,t,e))),B(we)),bt(ft[0],void 0),c=-1,_t(0),$(Y)||ss(0),es(0),$(we)||ls(0),S[1]?.(),bt(ft[1],void 0),S[2]?.(),c=0,l=vs(),n=Ss(),O([N,q,Q,U,X,Y,me,_,we,Pe],B))),js),js={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>ge(ie(We,I(e))),getTableCellIds:is,getRowCount:cs,getRowIds:ds,getSortedRowIds:us,getRow:(e,t)=>fe(ie(ie(We,I(e)),I(t))),getCellIds:hs,getCell:fs,getValues:gs,getValueIds:bs,getValue:Ts,hasTables:vs,hasTable:Cs,hasTableCell:Vs,hasRow:ws,hasCell:Is,hasValues:Ss,hasValue:ms,getTablesJson:()=>Se(We),getValuesJson:()=>Se($e),getJson:()=>Se([We,$e]),getTablesSchemaJson:()=>Se(ke),getValuesSchemaJson:()=>Se(Ne),getSchemaJson:()=>Se([ke,Ne]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=y(e)?e():e;Vt(t)&&(([e,t])=>{(ae(e)?Es:Rs)(e),(ae(t)?zs:ps)(t)})(t)})),setTables:Rs,setTable:(e,t)=>as((e=>wt(t,e)?Ot(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>It(e,t,s)?zt(e,jt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ks((()=>{let l;return It(e,l,t)&&(e=I(e),zt(e,jt(e),l=((e,t)=>{const[s]=ie(De,e);let l;do{l=s(t)}while(W(ie(We,e),l));return l})(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(It(e,t,s,1)){const l=jt(e);le(s,((s,a)=>Pt(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>as(((e,t,s)=>R(St(e,t,s,y(l)?l(fs(e,t,s)):l),(l=>Pt(e,jt(e),t,s,l)))),e,t,s),setValues:ps,setPartialValues:e=>as((()=>mt(e,1)?le(e,((e,t)=>Nt(t,e))):0)),setValue:(e,t)=>as((e=>R(Rt(e,y(t)?t(Ts(e)):t),(t=>Nt(e,t)))),e),applyChanges:e=>as((()=>{le(e[0],((e,t)=>m(e)?Fs(t):le(e,((e,s)=>m(e)?Os(t,s):le(e,((e,l)=>k(js,t,s,l,e))))))),le(e[1],((e,t)=>A(js,t,e)))})),setTablesJson:ys,setValuesJson:e=>(F((()=>kt(Ie(e)))),js),setJson:e=>as((()=>F((()=>{const[t,s]=Ie(e);Et(t),kt(s)}),(()=>ys(e))))),setTablesSchema:Ls,setValuesSchema:Js,setSchema:(e,t)=>as((()=>{Ls(e),Js(t)})),delTables:Es,delTable:Fs,delRow:Os,delCell:(e,t,s,l)=>as(((e,t,s)=>R(ie(We,e),(a=>R(ie(a,t),(n=>W(n,s)?Ht(e,a,t,n,s,l):0))))),e,t,s),delValues:zs,delValue:e=>as((e=>W($e,e)?Wt(e):0),e),delTablesSchema:Ms,delValuesSchema:Ps,delSchema:()=>as((()=>{Ms(),Ps()})),transaction:ks,startTransaction:As,getTransactionChanges:()=>[fe(Y,((e,t)=>-1===ie(N,t)?void 0:fe(e,((e,s)=>-1===ie(ie(U,t),s)?void 0:fe(e,(([,e])=>e),(e=>Oe(e)))),$,ae)),$,ae),fe(we,(([,e])=>e),(e=>Oe(e))),1],getTransactionLog:()=>[!$(Y),!$(we),be(Y,Fe,Oe),be(me),fe(we,Fe,Oe),fe(Pe),fe(N),ge(U),be(X),fe(_)],finishTransaction:Ns,forEachTable:e=>G(We,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(ie(He,I(e)),t),forEachRow:(e,t)=>G(ie(We,I(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(ie(ie(We,I(e)),I(t)),s),forEachValue:e=>ce($e,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>Z(e)?ns(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,s):ns(e,t,[s,l,a],n,o),addStartTransactionListener:e=>gt(e,ht),addWillFinishTransactionListener:e=>gt(e,ft[0]),addDidFinishTransactionListener:e=>gt(e,ft[1]),callListener:e=>(vt(e),js),delListener:e=>(Tt(e),js),getListenerStats:()=>({hasTables:Je(qe),tables:Je(Be),tableIds:Je(Ge),hasTable:Je(Ke),table:Je(Qe),tableCellIds:Je(Ue),hasTableCell:Je(Xe,D),rowCount:Je(Ye),rowIds:Je(Ze),sortedRowIds:Je(_e),hasRow:Je(et,D),row:Je(tt,D),cellIds:Je(st,D),hasCell:Je(lt,H),cell:Je(at,H),invalidCell:Je(nt,H),hasValues:Je(rt),values:Je(it),valueIds:Je(ct),hasValue:Je(dt),value:Je(ut),invalidValue:Je(ot),transaction:x(ht)+Je(ft)}),isMergeable:()=>!1,createStore:Me,addListener:gt,callListeners:bt,setInternalListeners:(e,t,s,l,a)=>S=[e,t,s,l,a]};return le({[i+u]:[0,qe,[],()=>[vs()]],[u]:[0,Be],[h]:[0,Ge],[i+d]:[1,Ke,[rs],e=>[Cs(...e)]],[d]:[1,Qe,[rs]],[d+v]:[1,Ue,[rs]],[i+d+T]:[2,Xe,[rs,is],e=>[Vs(...e)]],[g]:[1,Ye,[rs]],[b]:[1,Ze,[rs]],[i+f]:[2,et,[rs,ds],e=>[ws(...e)]],[f]:[2,tt,[rs,ds]],[v]:[2,st,[rs,ds]],[i+T]:[3,lt,[rs,ds,hs],e=>[Is(...e)]],[T]:[3,at,[rs,ds,hs],e=>Le(fs(...e))],InvalidCell:[3,nt],[i+V]:[0,rt,[],()=>[Ss()]],[V]:[0,it],[w]:[0,ct],[i+C]:[1,dt,[bs],e=>[ms(...e)]],[C]:[1,ut,[bs],e=>Le(Ts(e[0]))],InvalidValue:[1,ot]},(([e,t,s,l],a)=>{js["add"+a+"Listener"]=(...a)=>gt(a[e],t[a[e+1]?1:0],e>0?J(a,0,e):void 0,s,l)})),ee(js)};export{Me as createStore};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),f=(t,e)=>t?.forEach(e),h=(t,e)=>t?.delete(e),p=Object,b=t=>p.getPrototypeOf(t),v=p.entries,C=p.keys,M=p.freeze,A=(t,e)=>u(v(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(b(t),(t=>t==p.prototype||o(b(t))),(()=>!0)))(t)&&0==(t=>c(C(t)))(t),D=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),H=t=>new Map(t),T=(t,e)=>t?.get(e),m=(t,e,a)=>o(a)?(h(t,e),t):t?.set(e,a),L=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(T(t,e)):m(t,e,a()),T(t,e)},P=(t,e,a,n,s=0)=>r((a?L:T)(t,e[s],s>c(e)-2?a:H),(o=>{if(s>c(e)-2)return n?.(o)&&m(t,e[s]),o;const r=P(o,e,a,n,s+1);return w(o)&&m(t,e[s]),r})),G=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),R=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),E=(t=16)=>{return e=(t,e)=>t+G[63&e],R(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],z=(t,e)=>((t??"")>(e??"")?t:e)??"",O=(t="")=>V(((t=[])=>p.fromEntries(t))(),t),$=/^\d+$/,j=t=>new Set(i(t)||o(t)?t:[t]),k=H(),x=H(),F=(t,e,a,n,s,p,b,v={},C=0,A=[])=>{let D,G,R,E=0,V=0,z=0;L(k,A,(()=>0)),L(x,A,(()=>[]));const O=H(),[F,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(b,t,C),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{$.test(e)&&c(t)<1e3&&y(t,e)}]})(),n=H();return[(a,s,o,r=[],i=()=>[])=>{t??=st;const c=e(1);var l,g;return m(n,c,[a,s,o,r,i]),l=P(s,o??[""],j),g=c,l?.add(g),c},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?y(a,t):null===e[s]?f(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(T(t,e),s+1)));return n(t,0),a})(e,a),(e=>f(e,(e=>T(n,e)[0](t,...a??[],...s))))),t=>r(T(n,t),(([,e,s])=>(P(e,s??[""],void 0,(e=>(h(e,t),w(e)?1:0))),m(n,t),a(t),s))),e=>r(T(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?u(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),Q=t=>{t!=E&&(E=t,J(O,void 0,E))},W=e=>{(F&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=E&&(Q(1),V++,await nt((async()=>{await g((async()=>{const a=await e();i(a)?W(a):t?B(t):l("Content is not an array: "+a)}),(()=>{t&&B(t)})),Q(0)}))),st),Y=async t=>(Z(),await X(t),await g((async()=>G=await n((async(t,e)=>{e||t?2!=E&&(Q(1),V++,W(e??t),Q(0)):await X()}))),p),st),Z=async()=>(G&&(await g((()=>s(G)),p),G=void 0),st),_=async t=>(1!=E&&(Q(2),z++,await nt((async()=>{await g((()=>a(N,t)),p),Q(0)}))),st),tt=async()=>(et(),await _(),R=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&_(t)})),st),et=async()=>(R&&(t.delListener(R),R=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...t)=>(y(T(x,A),...t),await(async()=>{if(!T(k,A)){for(m(k,A,1);!o(D=d(T(x,A)));)await g(D,p);m(k,A,0)}})(),st),st={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!o(G),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!o(R),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,Y]:[Y,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>E,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:nt,getStore:()=>t,destroy:()=>(T(x,A).splice(0,void 0),at()),getStats:()=>({loads:V,saves:z}),...v};return M(st)},N={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},U=(t,a,n,s,i,c,l,u,y={})=>{let d,w=0,f=0,p=0;const b=H(),v=()=>E(11),C=(t,e,n,s)=>{f++,c?.(t,e,n,s),a(t,e,n,s)},M=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+E(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{h(b,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);m(b,r,[t,(t,a)=>{clearTimeout(c),h(b,r),e([t,a,s])}]),C(t,r,a,n)})),L=(t,[e,a])=>{A(e,(([e,a],n)=>{const s=D(t[0],n,O);A(e,(([t,e],a)=>{const n=D(s[0],a,O);A(t,(([t,e],a)=>n[0][a]=V(t,e))),n[1]=z(n[1],e)})),s[1]=z(s[1],a)})),t[1]=z(t[1],a)},P=(e=null,a,n=v())=>g((async()=>{o(a)&&([a,e,n]=await M(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=O();if(i!=s){const[a,s]=(await M(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!S(s)){const[a,o]=(await M(e,5,t.getMergeableRowHashes(s),n))[0];if(L(l,a),!S(o)){const a=(await M(e,6,t.getMergeableCellHashes(o),n))[0];L(l,a)}}}return[l,c==r?O():(await M(e,7,t.getMergeableValueHashes(),n))[0],1]}),u),G=F(t,(async()=>{const t=await P();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?C(null,v(),3,a):C(null,v(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(w=1,await G.startAutoPersisting(t)),stopSync:async()=>(w=0,await G.stopAutoPersisting(),G),destroy:async()=>(await G.stopSync(),s(),G),getSynchronizerStats:()=>({sends:f,receives:p}),...y},1);return n(((e,a,n,s)=>{const i=w||G.isAutoLoading();p++,l?.(e,a,n,s),0==n?r(T(b,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?P(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&i?d?.(void 0,s):r(1==n&&(w||G.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{C(e,a,0,t)}))})),G};export{N as Message,U as createCustomSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,s=Math,n=s.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,s=Math,n=s.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),f=Object,b=t=>f.getPrototypeOf(t),v=f.entries,M=f.keys,C=f.freeze,A=(t,e)=>u(v(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(b(t),(t=>t==f.prototype||o(b(t))),(()=>!0)))(t)&&0==(t=>c(M(t)))(t),m=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),L=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),P=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(T(t,e)):H(t,e,a()),T(t,e)},D=(t,e,a,s,n=0)=>r((a?P:T)(t,e[n],n>c(e)-2?a:L),(o=>{if(n>c(e)-2)return s?.(o)&&H(t,e[n]),o;const r=D(o,e,a,s,n+1);return w(o)&&H(t,e[n]),r})),E=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),z=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>n(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+E[63&e],z(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],N=(t,e)=>((t??"")>(e??"")?t:e)??"",O=(t="")=>V(((t=[])=>f.fromEntries(t))(),t),$=/^\d+$/,j=t=>new Set(i(t)||o(t)?t:[t]),k=L(),x=L(),B=(t,e,a,s,n,f,b,v={},M=0,A=[])=>{let m,E,z,R=0,V=0,N=0;P(k,A,(()=>0)),P(x,A,(()=>[]));const O=L(),[B,F,U,q,G]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(b,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{$.test(e)&&c(t)<1e3&&y(t,e)}]})(),s=L();return[(a,n,o,r=[],i=()=>[])=>{t??=nt;const c=e(1);var l,g;return H(s,c,[a,n,o,r,i]),l=D(n,o??[""],j),g=c,l?.add(g),c},(e,a,...n)=>u(((t,e=[""])=>{const a=[],s=(t,n)=>n==c(e)?y(a,t):null===e[n]?h(t,(t=>s(t,n+1))):u([e[n],null],(e=>s(T(t,e),n+1)));return s(t,0),a})(e,a),(e=>h(e,(e=>T(s,e)[0](t,...a??[],...n))))),t=>r(T(s,t),(([,e,n])=>(D(e,n??[""],void 0,(e=>(p(e,t),w(e)?1:0))),H(s,t),a(t),n))),e=>r(T(s,e),(([e,,a=[],s,n])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...n(i)):o(a[l])?u(s[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),Q=t=>{t!=R&&(R=t,J(O,void 0,R))},W=e=>{(B&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=R&&(Q(1),V++,await st((async()=>{await g((async()=>{const a=await e();i(a)?W(a):t?G(t):l("Content is not an array: "+a)}),(()=>{t&&G(t)})),Q(0)}))),nt),Y=async t=>(Z(),await X(t),await g((async()=>E=await s((async(t,e)=>{e||t?2!=R&&(Q(1),V++,W(e??t),Q(0)):await X()}))),f),nt),Z=async()=>(E&&(await g((()=>n(E)),f),E=void 0),nt),_=async t=>(1!=R&&(Q(2),N++,await st((async()=>{await g((()=>a(F,t)),f),Q(0)}))),nt),tt=async()=>(et(),await _(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&_(t)})),nt),et=async()=>(z&&(t.delListener(z),z=void 0),nt),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),nt},st=async(...t)=>(y(T(x,A),...t),await(async()=>{if(!T(k,A)){for(H(k,A,1);!o(m=d(T(x,A)));)await g(m,f);H(k,A,0)}})(),nt),nt={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!o(E),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!o(z),startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[tt,Y]:[Y,tt];return await a(t),await s(t),nt},stopAutoPersisting:at,getStatus:()=>R,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:st,getStore:()=>t,destroy:()=>(T(x,A).splice(0,void 0),at()),getStats:()=>({loads:V,saves:N}),...v};return C(nt)},F=(t,a,s,n,i)=>{const c=R(),l=new BroadcastChannel(a);return((t,a,s,n,i,c,l,u,y={})=>{let d,w=0,h=0,f=0;const b=L(),v=()=>R(11),M=(t,e,s,n)=>{h++,c?.(t,e,s,n),a(t,e,s,n)},C=async(t,a,s,n)=>new e(((e,o)=>{const r=n+"."+R(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(b,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(b,r,[t,(t,a)=>{clearTimeout(c),p(b,r),e([t,a,n])}]),M(t,r,a,s)})),P=(t,[e,a])=>{A(e,(([e,a],s)=>{const n=m(t[0],s,O);A(e,(([t,e],a)=>{const s=m(n[0],a,O);A(t,(([t,e],a)=>s[0][a]=V(t,e))),s[1]=N(s[1],e)})),n[1]=N(n[1],a)})),t[1]=N(t[1],a)},D=(e=null,a,s=v())=>g((async()=>{o(a)&&([a,e,s]=await C(null,1,"",s));const[n,r]=a,[i,c]=t.getMergeableContentHashes();let l=O();if(i!=n){const[a,n]=(await C(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!S(n)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(n),s))[0];if(P(l,a),!S(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),s))[0];P(l,a)}}}return[l,c==r?O():(await C(e,7,t.getMergeableValueHashes(),s))[0],1]}),u),E=B(t,(async()=>{const t=await D();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,v(),3,a):M(null,v(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(w=1,await E.startAutoPersisting(t)),stopSync:async()=>(w=0,await E.stopAutoPersisting(),E),destroy:async()=>(await E.stopSync(),n(),E),getSynchronizerStats:()=>({sends:h,receives:f}),...y},1);return s(((e,a,s,n)=>{const i=w||E.isAutoLoading();f++,l?.(e,a,s,n),0==s?r(T(b,a),(([t,a])=>o(t)||t==e?a(n,e):0)):2==s&&i?D(e,n,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==s&&i?d?.(void 0,n):r(1==s&&(w||E.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,(t=>{M(e,a,0,t)}))})),E})(t,((t,e,a,s)=>l.postMessage([c,t,e,a,s])),(t=>{l.onmessage=({data:[e,a,s,n,r]})=>o(a)||a==c?t(e,s,n,r):0}),(()=>{l.close()}),.01,s,n,i,{getChannelName:()=>a})};export{F as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,s=Math,n=s.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,s=Math,n=s.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),f=Object,b=t=>f.getPrototypeOf(t),v=f.entries,M=f.keys,C=f.freeze,A=(t,e)=>u(v(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(b(t),(t=>t==f.prototype||o(b(t))),(()=>!0)))(t)&&0==(t=>c(M(t)))(t),m=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),L=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),P=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(T(t,e)):H(t,e,a()),T(t,e)},D=(t,e,a,s,n=0)=>r((a?P:T)(t,e[n],n>c(e)-2?a:L),(o=>{if(n>c(e)-2)return s?.(o)&&H(t,e[n]),o;const r=D(o,e,a,s,n+1);return w(o)&&H(t,e[n]),r})),E=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),z=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>n(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+E[63&e],z(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],N=(t,e)=>((t??"")>(e??"")?t:e)??"",O=(t="")=>V(((t=[])=>f.fromEntries(t))(),t),$=/^\d+$/,j=t=>new Set(i(t)||o(t)?t:[t]),k=L(),x=L(),B=(t,e,a,s,n,f,b,v={},M=0,A=[])=>{let m,E,z,R=0,V=0,N=0;P(k,A,(()=>0)),P(x,A,(()=>[]));const O=L(),[B,F,U,q,G]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(b,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{$.test(e)&&c(t)<1e3&&y(t,e)}]})(),s=L();return[(a,n,o,r=[],i=()=>[])=>{t??=nt;const c=e(1);var l,g;return H(s,c,[a,n,o,r,i]),l=D(n,o??[""],j),g=c,l?.add(g),c},(e,a,...n)=>u(((t,e=[""])=>{const a=[],s=(t,n)=>n==c(e)?y(a,t):null===e[n]?h(t,(t=>s(t,n+1))):u([e[n],null],(e=>s(T(t,e),n+1)));return s(t,0),a})(e,a),(e=>h(e,(e=>T(s,e)[0](t,...a??[],...n))))),t=>r(T(s,t),(([,e,n])=>(D(e,n??[""],void 0,(e=>(p(e,t),w(e)?1:0))),H(s,t),a(t),n))),e=>r(T(s,e),(([e,,a=[],s,n])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...n(i)):o(a[l])?u(s[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),Q=t=>{t!=R&&(R=t,J(O,void 0,R))},W=e=>{(B&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=R&&(Q(1),V++,await st((async()=>{await g((async()=>{const a=await e();i(a)?W(a):t?G(t):l("Content is not an array: "+a)}),(()=>{t&&G(t)})),Q(0)}))),nt),Y=async t=>(Z(),await X(t),await g((async()=>E=await s((async(t,e)=>{e||t?2!=R&&(Q(1),V++,W(e??t),Q(0)):await X()}))),f),nt),Z=async()=>(E&&(await g((()=>n(E)),f),E=void 0),nt),_=async t=>(1!=R&&(Q(2),N++,await st((async()=>{await g((()=>a(F,t)),f),Q(0)}))),nt),tt=async()=>(et(),await _(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&_(t)})),nt),et=async()=>(z&&(t.delListener(z),z=void 0),nt),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),nt},st=async(...t)=>(y(T(x,A),...t),await(async()=>{if(!T(k,A)){for(H(k,A,1);!o(m=d(T(x,A)));)await g(m,f);H(k,A,0)}})(),nt),nt={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!o(E),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!o(z),startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[tt,Y]:[Y,tt];return await a(t),await s(t),nt},stopAutoPersisting:at,getStatus:()=>R,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:st,getStore:()=>t,destroy:()=>(T(x,A).splice(0,void 0),at()),getStats:()=>({loads:V,saves:N}),...v};return C(nt)},F=(t,a,s,n,i)=>{const c=R(),l=new BroadcastChannel(a);return((t,a,s,n,i,c,l,u,y={})=>{let d,w=0,h=0,f=0;const b=L(),v=()=>R(11),M=(t,e,s,n)=>{h++,c?.(t,e,s,n),a(t,e,s,n)},C=async(t,a,s,n)=>new e(((e,o)=>{const r=n+"."+R(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(b,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(b,r,[t,(t,a)=>{clearTimeout(c),p(b,r),e([t,a,n])}]),M(t,r,a,s)})),P=(t,[e,a])=>{A(e,(([e,a],s)=>{const n=m(t[0],s,O);A(e,(([t,e],a)=>{const s=m(n[0],a,O);A(t,(([t,e],a)=>s[0][a]=V(t,e))),s[1]=N(s[1],e)})),n[1]=N(n[1],a)})),t[1]=N(t[1],a)},D=(e=null,a,s=v())=>g((async()=>{o(a)&&([a,e,s]=await C(null,1,"",s));const[n,r]=a,[i,c]=t.getMergeableContentHashes();let l=O();if(i!=n){const[a,n]=(await C(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!S(n)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(n),s))[0];if(P(l,a),!S(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),s))[0];P(l,a)}}}return[l,c==r?O():(await C(e,7,t.getMergeableValueHashes(),s))[0],1]}),u),E=B(t,(async()=>{const t=await D();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,v(),3,a):M(null,v(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(w=1,await E.startAutoPersisting(t)),stopSync:async()=>(w=0,await E.stopAutoPersisting(),E),destroy:async()=>(await E.stopSync(),n(),E),getSynchronizerStats:()=>({sends:h,receives:f}),...y},1);return s(((e,a,s,n)=>{const i=w||E.isAutoLoading();f++,l?.(e,a,s,n),0==s?r(T(b,a),(([t,a])=>o(t)||t==e?a(n,e):0)):2==s&&i?D(e,n,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==s&&i?d?.(void 0,n):r(1==s&&(w||E.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,(t=>{M(e,a,0,t)}))})),E})(t,((t,e,a,s)=>l.postMessage([c,t,e,a,s])),(t=>{l.onmessage=({data:[e,a,s,n,r]})=>o(a)||a==c?t(e,s,n,r):0}),(()=>{l.close()}),.01,s,n,i,{getChannelName:()=>a})};export{F as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,
|
|
1
|
+
const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,r=s.floor,o=t=>null==t,i=(t,e,a)=>o(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,g=t=>{throw Error(t)},u=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},y=(t,e)=>t.forEach(e),d=(t,...e)=>t.push(...e),w=t=>t.shift(),h=t=>o(t)||0==(t=>t?.size??0)(t),p=(t,e)=>t?.forEach(e),f=(t,e)=>t?.delete(e),v=Object,b=t=>v.getPrototypeOf(t),M=v.entries,C=v.keys,A=v.freeze,S=(t,e)=>y(M(t),(([t,a])=>e(a,t))),m=t=>(t=>!o(t)&&i(b(t),(t=>t==v.prototype||o(b(t))),(()=>!0)))(t)&&0==(t=>l(C(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),T=t=>new Map(t),H=(t,e)=>t?.get(e),P=(t,e,a)=>o(a)?(f(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.(H(t,e)):P(t,e,a()),H(t,e)},E=(t,e,a,n,s=0)=>i((a?D:H)(t,e[s],s>l(e)-2?a:T),(r=>{if(s>l(e)-2)return n?.(r)&&P(t,e[s]),r;const o=E(r,e,a,n,s+1);return h(r)&&P(t,e[s]),o})),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),R=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>r(256*s.random()))))(t),V=(t=16)=>{return e=(t,e)=>t+z[63&e],R(new Uint8Array(t)).reduce(e,"");var e},O=(t,e)=>e?[t,e]:[t],$=(t,e)=>((t??"")>(e??"")?t:e)??"",j=(t="")=>O(((t=[])=>v.fromEntries(t))(),t),k=/^\d+$/,x=t=>new Set(c(t)||o(t)?t:[t]),F=T(),N=T(),U=(t,e,a,n,s,r,v,b={},M=0,C=[])=>{let S,L,z,R=0,V=0,O=0;D(F,C,(()=>0)),D(N,C,(()=>[]));const $=T(),[j,U,q,B,G]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!m(t)||!m(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!m(t)||!m(e),e.setContent]:g("Store type not supported by this Persister"))(v,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?w(t):null)??""+e++,e=>{k.test(e)&&l(t)<1e3&&d(t,e)}]})(),n=T();return[(a,s,r,o=[],i=()=>[])=>{t??=st;const c=e(1);var l,g;return P(n,c,[a,s,r,o,i]),l=E(s,r??[""],x),g=c,l?.add(g),c},(e,a,...s)=>y(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?d(a,t):null===e[s]?p(t,(t=>n(t,s+1))):y([e[s],null],(e=>n(H(t,e),s+1)));return n(t,0),a})(e,a),(e=>p(e,(e=>H(n,e)[0](t,...a??[],...s))))),t=>i(H(n,t),(([,e,s])=>(E(e,s??[""],void 0,(e=>(f(e,t),h(e)?1:0))),P(n,t),a(t),s))),e=>i(H(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):o(a[c])?y(n[c]?.(...i)??[],(t=>r(...i,t))):r(...i,a[c])};r()}))]})(),Q=t=>{t!=R&&(R=t,J($,void 0,R))},W=e=>{(j&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=R&&(Q(1),V++,await nt((async()=>{await u((async()=>{const a=await e();c(a)?W(a):t?G(t):g("Content is not an array: "+a)}),(()=>{t&&G(t)})),Q(0)}))),st),Y=async t=>(Z(),await X(t),await u((async()=>L=await n((async(t,e)=>{e||t?2!=R&&(Q(1),V++,W(e??t),Q(0)):await X()}))),r),st),Z=async()=>(L&&(await u((()=>s(L)),r),L=void 0),st),_=async t=>(1!=R&&(Q(2),O++,await nt((async()=>{await u((()=>a(U,t)),r),Q(0)}))),st),tt=async()=>(et(),await _(),z=t.addDidFinishTransactionListener((()=>{const t=q();B(t)&&_(t)})),st),et=async()=>(z&&(t.delListener(z),z=void 0),st),at=async(t=!1)=>{const[e,a]=t?[et,Z]:[Z,et];return await e(),await a(),st},nt=async(...t)=>(d(H(N,C),...t),await(async()=>{if(!H(F,C)){for(P(F,C,1);!o(S=w(H(N,C)));)await u(S,r);P(F,C,0)}})(),st),st={load:X,startAutoLoad:Y,stopAutoLoad:Z,isAutoLoading:()=>!o(L),save:_,startAutoSave:tt,stopAutoSave:et,isAutoSaving:()=>!o(z),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[tt,Y]:[Y,tt];return await a(t),await n(t),st},stopAutoPersisting:at,getStatus:()=>R,addStatusListener:t=>I(t,$),delListener:e=>(K(e),t),schedule:nt,getStore:()=>t,destroy:()=>(H(N,C).splice(0,void 0),at()),getStats:()=>({loads:V,saves:O}),...b};return A(st)},q=T(),B=(t,a,s,r)=>{const c=V();return((t,a,s,r,c,l,g,y,d={})=>{let w,h=0,p=0,v=0;const b=T(),M=()=>V(11),C=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},A=async(t,a,s,r)=>new e(((e,o)=>{const i=r+"."+V(4),l=n((()=>{f(b,i),o(`No response from ${t??"anyone"} to ${i}, `+a)}),c);P(b,i,[t,(t,a)=>{clearTimeout(l),f(b,i),e([t,a,r])}]),C(t,i,a,s)})),D=(t,[e,a])=>{S(e,(([e,a],n)=>{const s=L(t[0],n,j);S(e,(([t,e],a)=>{const n=L(s[0],a,j);S(t,(([t,e],a)=>n[0][a]=O(t,e))),n[1]=$(n[1],e)})),s[1]=$(s[1],a)})),t[1]=$(t[1],a)},E=(e=null,a,n=M())=>u((async()=>{o(a)&&([a,e,n]=await A(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=j();if(i!=s){const[a,s]=(await A(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!m(s)){const[a,r]=(await A(e,5,t.getMergeableRowHashes(s),n))[0];if(D(l,a),!m(r)){const a=(await A(e,6,t.getMergeableCellHashes(r),n))[0];D(l,a)}}}return[l,c==r?j():(await A(e,7,t.getMergeableValueHashes(),n))[0],1]}),y),z=U(t,(async()=>{const t=await E();return!t||m(t[0][0])&&m(t[1][0])?void 0:t}),(async(e,a)=>a?C(null,M(),3,a):C(null,M(),2,t.getMergeableContentHashes())),(t=>w=t),(()=>w=void 0),y,2,{startSync:async t=>(h=1,await z.startAutoPersisting(t)),stopSync:async()=>(h=0,await z.stopAutoPersisting(),z),destroy:async()=>(await z.stopSync(),r(),z),getSynchronizerStats:()=>({sends:p,receives:v}),...d},1);return s(((e,a,n,s)=>{const r=h||z.isAutoLoading();v++,g?.(e,a,n,s),0==n?i(H(b,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&r?E(e,s,a??void 0).then((t=>{w?.(void 0,t)})).catch(y):3==n&&r?w?.(void 0,s):i(1==n&&(h||z.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{C(e,a,0,t)}))})),z})(t,((t,e,a,s)=>n((()=>{return o(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,p(q,((t,e)=>n(e,t)))):H(q,t)?.(c,e,a,s);var n}))),(t=>{P(q,c,t)}),(()=>{f(q,c)}),.01,a,s,r)};export{B as createLocalSynchronizer};
|