tinybase 8.5.0-beta.2 → 8.5.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/ui-react-dom-charts/index.d.ts +369 -49
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +396 -70
- package/common/index.js +1 -1
- package/common/with-schemas/index.js +1 -1
- package/index.js +3 -2
- package/mergeable-store/index.js +3 -2
- package/mergeable-store/with-schemas/index.js +3 -2
- 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/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/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-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-sql-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-sql-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-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-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-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/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/with-schemas/index.js +1 -1
- package/min/persisters/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-dom-charts/index.js +1 -1
- package/min/ui-react-dom-charts/index.js.gz +0 -0
- package/min/ui-react-dom-charts/with-schemas/index.js +1 -1
- package/min/ui-react-dom-charts/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/omni/index.js +7 -6
- package/omni/with-schemas/index.js +7 -6
- package/package.json +10 -10
- package/persisters/index.js +1 -1
- package/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/persisters/persister-durable-object-sql-storage/index.js +1 -1
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
- package/persisters/persister-electric-sql/index.js +1 -1
- package/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/persisters/persister-expo-sqlite/index.js +1 -1
- package/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/persisters/persister-libsql/index.js +1 -1
- package/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/persisters/persister-pglite/index.js +1 -1
- package/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/persisters/persister-postgres/index.js +1 -1
- package/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/persisters/persister-powersync/index.js +1 -1
- package/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/persisters/persister-react-native-sqlite/index.js +1 -1
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/persisters/persister-remote/index.js +3 -3
- package/persisters/persister-remote/with-schemas/index.js +3 -3
- package/persisters/persister-sqlite-bun/index.js +1 -1
- package/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/persisters/persister-sqlite-wasm/index.js +1 -1
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/persisters/persister-sqlite3/index.js +1 -1
- package/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/persisters/with-schemas/index.js +1 -1
- package/readme.md +13 -13
- package/releases.md +57 -57
- package/synchronizers/index.js +2 -1
- package/synchronizers/synchronizer-broadcast-channel/index.js +2 -1
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +2 -1
- package/synchronizers/synchronizer-local/index.js +2 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +2 -1
- package/synchronizers/synchronizer-ws-client/index.js +2 -1
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +2 -1
- package/synchronizers/synchronizer-ws-server/index.js +2 -1
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +2 -1
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +2 -1
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +2 -1
- package/synchronizers/with-schemas/index.js +2 -1
- package/ui-react-dom-charts/index.js +753 -306
- package/ui-react-dom-charts/with-schemas/index.js +753 -306
- package/with-schemas/index.js +3 -2
|
@@ -1 +1 @@
|
|
|
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=a=>(t,e,n)=>a(t)?n?.():e(t),l=clearInterval,w=a=>null==a,y=a=>void 0===a,u=a=>null===a,d=c(w),v=c(y),p=t=>a(t)==s,E=a=>Array.isArray(a),A=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),h=(a,t="")=>a.join(t),D=(a,t)=>a.map(t),I=a=>0==N(a),S=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),_=a=>a.shift(),b=(a,t)=>a?.has(t)??!1,C=a=>y(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],R=(a,t)=>a?.forEach(t),P=(a,t)=>a?.delete(t),M="_",F="_id",U="SELECT",j="WHERE",B="TABLE",J="ALTER "+B,Y="FROM",k="DELETE "+Y,x=U+"*"+Y,z="pragma_",G="data_version",H="schema_version",K="pragma_table_",Q="CREATE "+B,V=a=>h(D(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>h(D(a,()=>"$"+t[0]++),n),X=(a,t=i)=>j+`(${r(t,"$tableName",V(a))})`,q=Object,Z=a=>q.getPrototypeOf(a),aa=q.entries,ta=a=>!w(a)&&d(Z(a),a=>a==q.prototype||w(Z(a)),()=>!0),ea=q.keys,na=q.freeze,sa=(a=[])=>q.fromEntries(a),ia=(...a)=>q.assign({},...a),ra=(a,t)=>(delete a[t],a),oa=(a,t)=>D(aa(a),([a,e])=>t(e,a)),ca=(a,t)=>sa(oa(a,(a,e)=>[e,t(a,e)])),la=a=>q.values(a),wa=a=>N(ea(a)),ya=a=>ta(a)&&0==wa(a),ua=Map,da=a=>new ua(a),va=(a,t)=>a?.get(t),pa=(a,t)=>D([...a?.entries()??[]],([a,e])=>t(e,a)),Ea=(a,t,e)=>y(e)?(P(a,t),a):a?.set(t,e),Aa=(a,t,e,n)=>(b(a,t)?n?.(va(a,t)):Ea(a,t,e()),va(a,t)),Na=(a,t,e,n,s=0)=>v((e?Aa:va)(a,t[s],s>N(t)-2?e:da),i=>{if(s>N(t)-2)return n?.(i)&&Ea(a,t[s]),i;const r=Na(i,t,e,n,s+1);return C(i)&&Ea(a,t[s]),r}),ga=a=>new Set(E(a)||y(a)?a:[a]),ma=(a,t)=>a?.add(t),$a="ColumnName",fa="store",Oa="json",ha=fa+"TableName",Da=fa+"Id"+$a,Ia=fa+$a,Sa="autoLoadIntervalSeconds",Ta="rowId"+$a,_a="tableId",ba="tableName",Ca="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",Pa={mode:Oa,[Sa]:1},Ma={load:0,save:0,[ba]:t+"_values"},Fa=(a,t,e,n,s)=>{const i=da();return ca(a,(a,r)=>{const o=A(la(ia(t,p(a)?{[e]:a}:a)),0,wa(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Ea(i,r,o))}),i},Ua=JSON.stringify,ja=JSON.parse,Ba=a=>""===a?void 0:E(a)?D(a,Ba):ta(a)?ca(a,Ba):a,Ja=/^\d+$/,Ya=da(),ka=da(),xa=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let d,p,A,g=0,m=0,h=0;Aa(Ya,w,()=>0),Aa(ka,w,()=>[]);const D=da(),[I,S,b,L,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!ya(a)||!ya(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!ya(a)||!ya(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,j]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?_(a):null)??e+t++,t=>{Ja.test(t)&&N(a)<1e3&&T(a,t)}]})(),s=da();return[(n,i,r,o=[],c=()=>[])=>{a??=X;const l=t(1);return Ea(s,l,[n,i,r,o,c]),ma(Na(i,r??[e],ga),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?T(n,a):u(t[e])?R(a,a=>s(a,e+1)):O([t[e],null],t=>s(va(a,t),e+1));return s(a,0),n})(t,n),t=>R(t,t=>va(s,t)[0](a,...n??[],...i))),a=>v(va(s,a),([,t,i])=>(Na(t,i??[e],void 0,t=>(P(t,a),C(t)?1:0)),Ea(s,a),n(a),i)),t=>v(va(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):u(e[o])?O(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),B=a=>{a!=g&&(g=a,U(D,void 0,g))},J=t=>{(I&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async()=>{Q()&&a.__?.[0]?.()&&await G()},k=async a=>(2!=g&&(B(1),m++,await W(async()=>{await f(async()=>{const e=await t();E(e)?J(e):a?M(a):$("Content is not an array: "+e)},()=>{a&&M(a)}),B(0),await Y()})),X),x=async a=>(z(),await k(a),await f(async()=>p=await s(async(a,t)=>{t||a?2!=g&&(B(1),m++,J(t??a),B(0),await Y()):await k()}),r),X),z=async()=>(p&&(await f(()=>i(p),r),p=void 0),X),G=async a=>(1!=g&&(B(2),h++,await W(async()=>{await f(()=>n(S,a),r),B(0)})),X),H=async()=>(K(),await G(),A=a.addDidFinishTransactionListener(()=>{const a=b();L(a)&&G(a)}),X),K=async()=>(A&&(a.delListener(A),A=void 0),X),Q=()=>!y(A),V=async(a=!1)=>{const[t,e]=a?[K,z]:[z,K];return await t(),await e(),X},W=async(...a)=>(T(va(ka,w),...a),await(async()=>{if(!va(Ya,w)){for(Ea(Ya,w,1);!y(d=_(va(ka,w)));)await f(d,r);Ea(Ya,w,0)}})(),X),X={load:k,startAutoLoad:x,stopAutoLoad:z,isAutoLoading:()=>!y(p),save:G,startAutoSave:H,stopAutoSave:K,isAutoSaving:Q,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[H,x]:[x,H];return await e(a),await n(a),X},stopAutoPersisting:V,getStatus:()=>g,addStatusListener:a=>F(a,D),delListener:t=>(j(t),a),schedule:W,getStore:()=>a,destroy:()=>(va(ka,w).splice(0,void 0),V()),getStats:()=>({loads:m,saves:h}),...c};return na(X)},za=(a,t,e,s,r,o=Ga,c,l)=>{const w=da();return[async()=>{w.clear(),D(await e(a,t),({tn:a,cn:t})=>ma(Aa(w,a,ga),t))},async(t,e,n)=>((a,t)=>b(va(w,a),t))(t,e)?sa(S(D(await a(x+V(t)+X(t,n)),a=>[a[e],l?ca(ra(a,e),l):ra(a,e)]),
|
|
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=a=>(t,e,n)=>a(t)?n?.():e(t),l=clearInterval,w=a=>null==a,y=a=>void 0===a,u=a=>null===a,d=c(w),v=c(y),p=t=>a(t)==s,E=a=>Array.isArray(a),A=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),h=(a,t="")=>a.join(t),D=(a,t)=>a.map(t),I=a=>0==N(a),S=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),_=a=>a.shift(),b=(a,t)=>a?.has(t)??!1,C=a=>y(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],R=(a,t)=>a?.forEach(t),P=(a,t)=>a?.delete(t),M="_",F="_id",U="SELECT",j="WHERE",B="TABLE",J="ALTER "+B,Y="FROM",k="DELETE "+Y,x=U+"*"+Y,z="pragma_",G="data_version",H="schema_version",K="pragma_table_",Q="CREATE "+B,V=a=>h(D(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>h(D(a,()=>"$"+t[0]++),n),X=(a,t=i)=>j+`(${r(t,"$tableName",V(a))})`,q=Object,Z=a=>q.getPrototypeOf(a),aa=q.entries,ta=a=>!w(a)&&d(Z(a),a=>a==q.prototype||w(Z(a)),()=>!0),ea=q.keys,na=q.freeze,sa=(a=[])=>q.fromEntries(a),ia=(...a)=>q.assign({},...a),ra=(a,t)=>(delete a[t],a),oa=(a,t)=>D(aa(a),([a,e])=>t(e,a)),ca=(a,t)=>sa(oa(a,(a,e)=>[e,t(a,e)])),la=a=>q.values(a),wa=a=>N(ea(a)),ya=a=>ta(a)&&0==wa(a),ua=Map,da=a=>new ua(a),va=(a,t)=>a?.get(t),pa=(a,t)=>D([...a?.entries()??[]],([a,e])=>t(e,a)),Ea=(a,t,e)=>y(e)?(P(a,t),a):a?.set(t,e),Aa=(a,t,e,n)=>(b(a,t)?n?.(va(a,t)):Ea(a,t,e()),va(a,t)),Na=(a,t,e,n,s=0)=>v((e?Aa:va)(a,t[s],s>N(t)-2?e:da),i=>{if(s>N(t)-2)return n?.(i)&&Ea(a,t[s]),i;const r=Na(i,t,e,n,s+1);return C(i)&&Ea(a,t[s]),r}),ga=a=>new Set(E(a)||y(a)?a:[a]),ma=(a,t)=>a?.add(t),$a="ColumnName",fa="store",Oa="json",ha=fa+"TableName",Da=fa+"Id"+$a,Ia=fa+$a,Sa="autoLoadIntervalSeconds",Ta="rowId"+$a,_a="tableId",ba="tableName",Ca="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",Pa={mode:Oa,[Sa]:1},Ma={load:0,save:0,[ba]:t+"_values"},Fa=(a,t,e,n,s)=>{const i=da();return ca(a,(a,r)=>{const o=A(la(ia(t,p(a)?{[e]:a}:a)),0,wa(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Ea(i,r,o))}),i},Ua=JSON.stringify,ja=JSON.parse,Ba=a=>""===a?void 0:E(a)?D(a,Ba):ta(a)?ca(a,Ba):a,Ja=/^\d+$/,Ya=da(),ka=da(),xa=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let d,p,A,g=0,m=0,h=0;Aa(Ya,w,()=>0),Aa(ka,w,()=>[]);const D=da(),[I,S,b,L,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!ya(a)||!ya(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!ya(a)||!ya(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,j]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?_(a):null)??e+t++,t=>{Ja.test(t)&&N(a)<1e3&&T(a,t)}]})(),s=da();return[(n,i,r,o=[],c=()=>[])=>{a??=X;const l=t(1);return Ea(s,l,[n,i,r,o,c]),ma(Na(i,r??[e],ga),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?T(n,a):u(t[e])?R(a,a=>s(a,e+1)):O([t[e],null],t=>s(va(a,t),e+1));return s(a,0),n})(t,n),t=>R(t,t=>va(s,t)[0](a,...n??[],...i))),a=>v(va(s,a),([,t,i])=>(Na(t,i??[e],void 0,t=>(P(t,a),C(t)?1:0)),Ea(s,a),n(a),i)),t=>v(va(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):u(e[o])?O(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),B=a=>{a!=g&&(g=a,U(D,void 0,g))},J=t=>{(I&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async()=>{Q()&&a.__?.[0]?.()&&await G()},k=async a=>(2!=g&&(B(1),m++,await W(async()=>{await f(async()=>{const e=await t();E(e)?J(e):a?M(a):$("Content is not an array: "+e)},()=>{a&&M(a)}),B(0),await Y()})),X),x=async a=>(z(),await k(a),await f(async()=>p=await s(async(a,t)=>{t||a?2!=g&&(B(1),m++,J(t??a),B(0),await Y()):await k()}),r),X),z=async()=>(p&&(await f(()=>i(p),r),p=void 0),X),G=async a=>(1!=g&&(B(2),h++,await W(async()=>{await f(()=>n(S,a),r),B(0)})),X),H=async()=>(K(),await G(),A=a.addDidFinishTransactionListener(()=>{const a=b();L(a)&&G(a)}),X),K=async()=>(A&&(a.delListener(A),A=void 0),X),Q=()=>!y(A),V=async(a=!1)=>{const[t,e]=a?[K,z]:[z,K];return await t(),await e(),X},W=async(...a)=>(T(va(ka,w),...a),await(async()=>{if(!va(Ya,w)){for(Ea(Ya,w,1);!y(d=_(va(ka,w)));)await f(d,r);Ea(Ya,w,0)}})(),X),X={load:k,startAutoLoad:x,stopAutoLoad:z,isAutoLoading:()=>!y(p),save:G,startAutoSave:H,stopAutoSave:K,isAutoSaving:Q,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[H,x]:[x,H];return await e(a),await n(a),X},stopAutoPersisting:V,getStatus:()=>g,addStatusListener:a=>F(a,D),delListener:t=>(j(t),a),schedule:W,getStore:()=>a,destroy:()=>(va(ka,w).splice(0,void 0),V()),getStats:()=>({loads:m,saves:h}),...c};return na(X)},za=(a,t,e,s,r,o=Ga,c,l)=>{const w=da();return[async()=>{w.clear(),D(await e(a,t),({tn:a,cn:t})=>ma(Aa(w,a,ga),t))},async(t,e,n)=>((a,t)=>b(va(w,a),t))(t,e)?sa(S(D(await a(x+V(t)+X(t,n)),a=>[a[e],l?ca(ra(a,e),l):ra(a,e)]),a=>!y(a[0])&&!ya(a[1]))):{},async(t,e,s,l,u,d=!1,v=i)=>{const p=ga();ca(s??{},a=>D(ea(a??{}),a=>ma(p,a)));const E=L(p);if(!d&&u&&v==i&&I(E)&&b(w,t))return await a("DROP "+B+V(t)),void Ea(w,t);const A=va(w,t),N=ga(L(A));if(I(E)||(b(w,t)?await m(D([e,...E],async(n,s)=>{P(N,n)||(await a(J+V(t)+"ADD"+V(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+V(t)+`(${V(e)})`),ma(A,n))})):(await a(Q+V(t)+`(${V(e)}${r} PRIMARY KEY${h(D(E,a=>n+V(a)+r))});`),Ea(w,t,ga([e,...E])))),await m([...!d&&l?D(L(N),async n=>{n!=e&&(await a(J+V(t)+"DROP"+V(n)),P(A,n))}):[]]),d)y(s)?await a(k+V(t)+X(t,v)):await m(oa(s,async(n,s)=>{y(n)?await a(k+V(t)+X(t,v)+`AND(${V(e)}=$1)`,[s]):I(E)||await o(a,t,e,ea(n),{[s]:c?D(la(n),c):la(n)},A)}));else if(I(E))b(w,t)&&await a(k+V(t)+X(t,v));else{const n=S(L(va(w,t)),a=>a!=e),i={},r=[];ca(s??{},(a,t)=>{i[t]=D(n,t=>c?c(a?.[t]):a?.[t]),T(r,t)}),await o(a,t,e,n,i),await a(k+V(t)+X(t,v)+`AND${V(e)}NOT IN(${W(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await f(async()=>e=await t(),s),await a("END"),e}]},Ga=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+V(t)+"("+((...a)=>h(D(a,V),n))(e,...s)+")VALUES"+h(oa(i,a=>"($"+r[0]+++","+W(a,r)+")"),n)+"ON CONFLICT("+V(e)+")DO UPDATE SET"+h(D(s,a=>V(a)+"=excluded."+V(a)),n),oa(i,(a,t)=>[t,...D(a,a=>a??null)]).flat())},Ha=(a,t,e,n,s,i,r,[o,c,l],w,u,d,v,p,E)=>{const[A,N,g,m]=za(t,w,u,s,p,E),$=xa(a,()=>m(async()=>{return await A(),a=(await N(o,c))[M]?.[l]??"null",Ba(ja(a));var a}),a=>m(async()=>{var t;await A(),await g(o,c,{[M]:{[l]:(t=a()??null,Ua(t,(a,t)=>y(t)?"":t))}},!0,!0)}),e,n,s,r,{[v]:()=>d,destroy:async()=>(await $.stopAutoPersisting(),i(),$)},0,d);return $},Ka=(a,t,e,n,s,i,r,[o,c,[l,w,u]],d,v,p,E,A,N,g,$)=>{const[f,O,h,D]=za(t,d,v,s,A,N,g,$),I=(a,t)=>m(pa(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await h(e,n,a[o],s,i,t,r)})),T=async(a,t)=>w?await h(u,F,{[M]:a},!0,!0,t):null,_=xa(a,()=>D(async()=>{await f();const a=await(async()=>sa(S(await m(pa(o,async([a,t,e],n)=>[a,await O(n,t,e)])),a=>!ya(a[1]))))(),t=await(async()=>l?(await O(u,F))[M]:{})();return ya(a)&&y(t)?void 0:[a,t]}),(a,t)=>D(async()=>{if(await f(),y(t)){const[t,e]=a();await I(t),await T(e)}else await I(t[0],!0),await T(t[1],!0)}),e,n,s,r,{[E]:()=>p,destroy:async()=>(await _.stopAutoPersisting(),i(),_)},0,p);return _},Qa=(a,n,s,r,o,c,y,u,d,v,E="getDb",N)=>{let g,m,$;const O=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[h,D,I,S]=(a=>{const e=(a=>ia(Pa,p(a)?{[ha]:a}:a??{}))(a),n=e[Sa];if(e.mode==Oa){const a=e[ha]??t;return[1,n,[a,e[Da]??F,e[Ia]??fa],ga(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=A(la(ia(Ma,o)),0,wa(Ma)),l=c[2],w=ga(l),y=ga(l),u=Fa(s,{[_a]:null,[Ta]:F,[Ra]:i},_a,a=>b(y,a),a=>ma(w,a)),d=Fa(r,{[ba]:null,[Ta]:F,[Ca]:0,[La]:0,[Ra]:null},ba,(a,t)=>b(y,t),(a,t)=>ma(w,t));var v;return v=(a,t)=>t[4]??=va(u,t[0])?.[2]??i,R(d,(a,t)=>v(0,a)),[0,n,[u,d,c],w]})(n);return(h?Ha:Ka)(a,O,a=>{let t;const e=()=>t=setInterval(()=>f(async()=>{const[{d:t,s:e,c:n}]=await O(U+` ${G} d,${H} s,TOTAL_CHANGES() c FROM ${z}${G} JOIN ${z}${H}`);t==g&&e==m&&n==$||(w(g)||a(),g=t,m=e,$=n)}),1e3*D),n=()=>{g=m=$=null,l(t)},s=r(t=>{S.has(t)&&(n(),a(),e())});return e(),()=>{n(),o(s)}},a=>a(),y,u,d,I,L(S),async(a,t)=>await a(U+` t.name tn,c.name cn FROM ${K}list()t,${K}info(t.name)c ${j} t.schema='main'AND t.type IN('table','view')AND t.name IN(${W(t)})ORDER BY t.name,c.name`,t),v,E,e,N,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},Va="change",Wa=(a,t,e,n,s)=>Qa(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(Va,e),e},a=>t.off(Va,a),n,s,g,3,t);export{Wa as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
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=a=>(t,e,n)=>a(t)?n?.():e(t),l=clearInterval,w=a=>null==a,y=a=>void 0===a,u=a=>null===a,d=c(w),v=c(y),p=t=>a(t)==s,E=a=>Array.isArray(a),A=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),h=(a,t="")=>a.join(t),D=(a,t)=>a.map(t),I=a=>0==N(a),S=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),_=a=>a.shift(),b=(a,t)=>a?.has(t)??!1,C=a=>y(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],R=(a,t)=>a?.forEach(t),P=(a,t)=>a?.delete(t),M="_",F="_id",U="SELECT",j="WHERE",B="TABLE",J="ALTER "+B,Y="FROM",k="DELETE "+Y,x=U+"*"+Y,z="pragma_",G="data_version",H="schema_version",K="pragma_table_",Q="CREATE "+B,V=a=>h(D(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>h(D(a,()=>"$"+t[0]++),n),X=(a,t=i)=>j+`(${r(t,"$tableName",V(a))})`,q=Object,Z=a=>q.getPrototypeOf(a),aa=q.entries,ta=a=>!w(a)&&d(Z(a),a=>a==q.prototype||w(Z(a)),()=>!0),ea=q.keys,na=q.freeze,sa=(a=[])=>q.fromEntries(a),ia=(...a)=>q.assign({},...a),ra=(a,t)=>(delete a[t],a),oa=(a,t)=>D(aa(a),([a,e])=>t(e,a)),ca=(a,t)=>sa(oa(a,(a,e)=>[e,t(a,e)])),la=a=>q.values(a),wa=a=>N(ea(a)),ya=a=>ta(a)&&0==wa(a),ua=Map,da=a=>new ua(a),va=(a,t)=>a?.get(t),pa=(a,t)=>D([...a?.entries()??[]],([a,e])=>t(e,a)),Ea=(a,t,e)=>y(e)?(P(a,t),a):a?.set(t,e),Aa=(a,t,e,n)=>(b(a,t)?n?.(va(a,t)):Ea(a,t,e()),va(a,t)),Na=(a,t,e,n,s=0)=>v((e?Aa:va)(a,t[s],s>N(t)-2?e:da),i=>{if(s>N(t)-2)return n?.(i)&&Ea(a,t[s]),i;const r=Na(i,t,e,n,s+1);return C(i)&&Ea(a,t[s]),r}),ga=a=>new Set(E(a)||y(a)?a:[a]),ma=(a,t)=>a?.add(t),$a="ColumnName",fa="store",Oa="json",ha=fa+"TableName",Da=fa+"Id"+$a,Ia=fa+$a,Sa="autoLoadIntervalSeconds",Ta="rowId"+$a,_a="tableId",ba="tableName",Ca="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",Pa={mode:Oa,[Sa]:1},Ma={load:0,save:0,[ba]:t+"_values"},Fa=(a,t,e,n,s)=>{const i=da();return ca(a,(a,r)=>{const o=A(la(ia(t,p(a)?{[e]:a}:a)),0,wa(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Ea(i,r,o))}),i},Ua=JSON.stringify,ja=JSON.parse,Ba=a=>""===a?void 0:E(a)?D(a,Ba):ta(a)?ca(a,Ba):a,Ja=/^\d+$/,Ya=da(),ka=da(),xa=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let d,p,A,g=0,m=0,h=0;Aa(Ya,w,()=>0),Aa(ka,w,()=>[]);const D=da(),[I,S,b,L,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!ya(a)||!ya(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!ya(a)||!ya(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,j]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?_(a):null)??e+t++,t=>{Ja.test(t)&&N(a)<1e3&&T(a,t)}]})(),s=da();return[(n,i,r,o=[],c=()=>[])=>{a??=X;const l=t(1);return Ea(s,l,[n,i,r,o,c]),ma(Na(i,r??[e],ga),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?T(n,a):u(t[e])?R(a,a=>s(a,e+1)):O([t[e],null],t=>s(va(a,t),e+1));return s(a,0),n})(t,n),t=>R(t,t=>va(s,t)[0](a,...n??[],...i))),a=>v(va(s,a),([,t,i])=>(Na(t,i??[e],void 0,t=>(P(t,a),C(t)?1:0)),Ea(s,a),n(a),i)),t=>v(va(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):u(e[o])?O(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),B=a=>{a!=g&&(g=a,U(D,void 0,g))},J=t=>{(I&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async()=>{Q()&&a.__?.[0]?.()&&await G()},k=async a=>(2!=g&&(B(1),m++,await W(async()=>{await f(async()=>{const e=await t();E(e)?J(e):a?M(a):$("Content is not an array: "+e)},()=>{a&&M(a)}),B(0),await Y()})),X),x=async a=>(z(),await k(a),await f(async()=>p=await s(async(a,t)=>{t||a?2!=g&&(B(1),m++,J(t??a),B(0),await Y()):await k()}),r),X),z=async()=>(p&&(await f(()=>i(p),r),p=void 0),X),G=async a=>(1!=g&&(B(2),h++,await W(async()=>{await f(()=>n(S,a),r),B(0)})),X),H=async()=>(K(),await G(),A=a.addDidFinishTransactionListener(()=>{const a=b();L(a)&&G(a)}),X),K=async()=>(A&&(a.delListener(A),A=void 0),X),Q=()=>!y(A),V=async(a=!1)=>{const[t,e]=a?[K,z]:[z,K];return await t(),await e(),X},W=async(...a)=>(T(va(ka,w),...a),await(async()=>{if(!va(Ya,w)){for(Ea(Ya,w,1);!y(d=_(va(ka,w)));)await f(d,r);Ea(Ya,w,0)}})(),X),X={load:k,startAutoLoad:x,stopAutoLoad:z,isAutoLoading:()=>!y(p),save:G,startAutoSave:H,stopAutoSave:K,isAutoSaving:Q,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[H,x]:[x,H];return await e(a),await n(a),X},stopAutoPersisting:V,getStatus:()=>g,addStatusListener:a=>F(a,D),delListener:t=>(j(t),a),schedule:W,getStore:()=>a,destroy:()=>(va(ka,w).splice(0,void 0),V()),getStats:()=>({loads:m,saves:h}),...c};return na(X)},za=(a,t,e,s,r,o=Ga,c,l)=>{const w=da();return[async()=>{w.clear(),D(await e(a,t),({tn:a,cn:t})=>ma(Aa(w,a,ga),t))},async(t,e,n)=>((a,t)=>b(va(w,a),t))(t,e)?sa(S(D(await a(x+V(t)+X(t,n)),a=>[a[e],l?ca(ra(a,e),l):ra(a,e)]),
|
|
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=a=>(t,e,n)=>a(t)?n?.():e(t),l=clearInterval,w=a=>null==a,y=a=>void 0===a,u=a=>null===a,d=c(w),v=c(y),p=t=>a(t)==s,E=a=>Array.isArray(a),A=(a,t,e)=>a.slice(t,e),N=a=>a.length,g=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),h=(a,t="")=>a.join(t),D=(a,t)=>a.map(t),I=a=>0==N(a),S=(a,t)=>a.filter(t),T=(a,...t)=>a.push(...t),_=a=>a.shift(),b=(a,t)=>a?.has(t)??!1,C=a=>y(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],R=(a,t)=>a?.forEach(t),P=(a,t)=>a?.delete(t),M="_",F="_id",U="SELECT",j="WHERE",B="TABLE",J="ALTER "+B,Y="FROM",k="DELETE "+Y,x=U+"*"+Y,z="pragma_",G="data_version",H="schema_version",K="pragma_table_",Q="CREATE "+B,V=a=>h(D(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>h(D(a,()=>"$"+t[0]++),n),X=(a,t=i)=>j+`(${r(t,"$tableName",V(a))})`,q=Object,Z=a=>q.getPrototypeOf(a),aa=q.entries,ta=a=>!w(a)&&d(Z(a),a=>a==q.prototype||w(Z(a)),()=>!0),ea=q.keys,na=q.freeze,sa=(a=[])=>q.fromEntries(a),ia=(...a)=>q.assign({},...a),ra=(a,t)=>(delete a[t],a),oa=(a,t)=>D(aa(a),([a,e])=>t(e,a)),ca=(a,t)=>sa(oa(a,(a,e)=>[e,t(a,e)])),la=a=>q.values(a),wa=a=>N(ea(a)),ya=a=>ta(a)&&0==wa(a),ua=Map,da=a=>new ua(a),va=(a,t)=>a?.get(t),pa=(a,t)=>D([...a?.entries()??[]],([a,e])=>t(e,a)),Ea=(a,t,e)=>y(e)?(P(a,t),a):a?.set(t,e),Aa=(a,t,e,n)=>(b(a,t)?n?.(va(a,t)):Ea(a,t,e()),va(a,t)),Na=(a,t,e,n,s=0)=>v((e?Aa:va)(a,t[s],s>N(t)-2?e:da),i=>{if(s>N(t)-2)return n?.(i)&&Ea(a,t[s]),i;const r=Na(i,t,e,n,s+1);return C(i)&&Ea(a,t[s]),r}),ga=a=>new Set(E(a)||y(a)?a:[a]),ma=(a,t)=>a?.add(t),$a="ColumnName",fa="store",Oa="json",ha=fa+"TableName",Da=fa+"Id"+$a,Ia=fa+$a,Sa="autoLoadIntervalSeconds",Ta="rowId"+$a,_a="tableId",ba="tableName",Ca="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",Pa={mode:Oa,[Sa]:1},Ma={load:0,save:0,[ba]:t+"_values"},Fa=(a,t,e,n,s)=>{const i=da();return ca(a,(a,r)=>{const o=A(la(ia(t,p(a)?{[e]:a}:a)),0,wa(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Ea(i,r,o))}),i},Ua=JSON.stringify,ja=JSON.parse,Ba=a=>""===a?void 0:E(a)?D(a,Ba):ta(a)?ca(a,Ba):a,Ja=/^\d+$/,Ya=da(),ka=da(),xa=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let d,p,A,g=0,m=0,h=0;Aa(Ya,w,()=>0),Aa(ka,w,()=>[]);const D=da(),[I,S,b,L,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!ya(a)||!ya(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!ya(a)||!ya(t),t.setContent]:$("Store type not supported by this Persister"))(o,a,l),[F,U,j]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?_(a):null)??e+t++,t=>{Ja.test(t)&&N(a)<1e3&&T(a,t)}]})(),s=da();return[(n,i,r,o=[],c=()=>[])=>{a??=X;const l=t(1);return Ea(s,l,[n,i,r,o,c]),ma(Na(i,r??[e],ga),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?T(n,a):u(t[e])?R(a,a=>s(a,e+1)):O([t[e],null],t=>s(va(a,t),e+1));return s(a,0),n})(t,n),t=>R(t,t=>va(s,t)[0](a,...n??[],...i))),a=>v(va(s,a),([,t,i])=>(Na(t,i??[e],void 0,t=>(P(t,a),C(t)?1:0)),Ea(s,a),n(a),i)),t=>v(va(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=N(r);o==N(e)?t(a,...r,...s(r)):u(e[o])?O(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),B=a=>{a!=g&&(g=a,U(D,void 0,g))},J=t=>{(I&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async()=>{Q()&&a.__?.[0]?.()&&await G()},k=async a=>(2!=g&&(B(1),m++,await W(async()=>{await f(async()=>{const e=await t();E(e)?J(e):a?M(a):$("Content is not an array: "+e)},()=>{a&&M(a)}),B(0),await Y()})),X),x=async a=>(z(),await k(a),await f(async()=>p=await s(async(a,t)=>{t||a?2!=g&&(B(1),m++,J(t??a),B(0),await Y()):await k()}),r),X),z=async()=>(p&&(await f(()=>i(p),r),p=void 0),X),G=async a=>(1!=g&&(B(2),h++,await W(async()=>{await f(()=>n(S,a),r),B(0)})),X),H=async()=>(K(),await G(),A=a.addDidFinishTransactionListener(()=>{const a=b();L(a)&&G(a)}),X),K=async()=>(A&&(a.delListener(A),A=void 0),X),Q=()=>!y(A),V=async(a=!1)=>{const[t,e]=a?[K,z]:[z,K];return await t(),await e(),X},W=async(...a)=>(T(va(ka,w),...a),await(async()=>{if(!va(Ya,w)){for(Ea(Ya,w,1);!y(d=_(va(ka,w)));)await f(d,r);Ea(Ya,w,0)}})(),X),X={load:k,startAutoLoad:x,stopAutoLoad:z,isAutoLoading:()=>!y(p),save:G,startAutoSave:H,stopAutoSave:K,isAutoSaving:Q,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[H,x]:[x,H];return await e(a),await n(a),X},stopAutoPersisting:V,getStatus:()=>g,addStatusListener:a=>F(a,D),delListener:t=>(j(t),a),schedule:W,getStore:()=>a,destroy:()=>(va(ka,w).splice(0,void 0),V()),getStats:()=>({loads:m,saves:h}),...c};return na(X)},za=(a,t,e,s,r,o=Ga,c,l)=>{const w=da();return[async()=>{w.clear(),D(await e(a,t),({tn:a,cn:t})=>ma(Aa(w,a,ga),t))},async(t,e,n)=>((a,t)=>b(va(w,a),t))(t,e)?sa(S(D(await a(x+V(t)+X(t,n)),a=>[a[e],l?ca(ra(a,e),l):ra(a,e)]),a=>!y(a[0])&&!ya(a[1]))):{},async(t,e,s,l,u,d=!1,v=i)=>{const p=ga();ca(s??{},a=>D(ea(a??{}),a=>ma(p,a)));const E=L(p);if(!d&&u&&v==i&&I(E)&&b(w,t))return await a("DROP "+B+V(t)),void Ea(w,t);const A=va(w,t),N=ga(L(A));if(I(E)||(b(w,t)?await m(D([e,...E],async(n,s)=>{P(N,n)||(await a(J+V(t)+"ADD"+V(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+V(t)+`(${V(e)})`),ma(A,n))})):(await a(Q+V(t)+`(${V(e)}${r} PRIMARY KEY${h(D(E,a=>n+V(a)+r))});`),Ea(w,t,ga([e,...E])))),await m([...!d&&l?D(L(N),async n=>{n!=e&&(await a(J+V(t)+"DROP"+V(n)),P(A,n))}):[]]),d)y(s)?await a(k+V(t)+X(t,v)):await m(oa(s,async(n,s)=>{y(n)?await a(k+V(t)+X(t,v)+`AND(${V(e)}=$1)`,[s]):I(E)||await o(a,t,e,ea(n),{[s]:c?D(la(n),c):la(n)},A)}));else if(I(E))b(w,t)&&await a(k+V(t)+X(t,v));else{const n=S(L(va(w,t)),a=>a!=e),i={},r=[];ca(s??{},(a,t)=>{i[t]=D(n,t=>c?c(a?.[t]):a?.[t]),T(r,t)}),await o(a,t,e,n,i),await a(k+V(t)+X(t,v)+`AND${V(e)}NOT IN(${W(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await f(async()=>e=await t(),s),await a("END"),e}]},Ga=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+V(t)+"("+((...a)=>h(D(a,V),n))(e,...s)+")VALUES"+h(oa(i,a=>"($"+r[0]+++","+W(a,r)+")"),n)+"ON CONFLICT("+V(e)+")DO UPDATE SET"+h(D(s,a=>V(a)+"=excluded."+V(a)),n),oa(i,(a,t)=>[t,...D(a,a=>a??null)]).flat())},Ha=(a,t,e,n,s,i,r,[o,c,l],w,u,d,v,p,E)=>{const[A,N,g,m]=za(t,w,u,s,p,E),$=xa(a,()=>m(async()=>{return await A(),a=(await N(o,c))[M]?.[l]??"null",Ba(ja(a));var a}),a=>m(async()=>{var t;await A(),await g(o,c,{[M]:{[l]:(t=a()??null,Ua(t,(a,t)=>y(t)?"":t))}},!0,!0)}),e,n,s,r,{[v]:()=>d,destroy:async()=>(await $.stopAutoPersisting(),i(),$)},0,d);return $},Ka=(a,t,e,n,s,i,r,[o,c,[l,w,u]],d,v,p,E,A,N,g,$)=>{const[f,O,h,D]=za(t,d,v,s,A,N,g,$),I=(a,t)=>m(pa(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await h(e,n,a[o],s,i,t,r)})),T=async(a,t)=>w?await h(u,F,{[M]:a},!0,!0,t):null,_=xa(a,()=>D(async()=>{await f();const a=await(async()=>sa(S(await m(pa(o,async([a,t,e],n)=>[a,await O(n,t,e)])),a=>!ya(a[1]))))(),t=await(async()=>l?(await O(u,F))[M]:{})();return ya(a)&&y(t)?void 0:[a,t]}),(a,t)=>D(async()=>{if(await f(),y(t)){const[t,e]=a();await I(t),await T(e)}else await I(t[0],!0),await T(t[1],!0)}),e,n,s,r,{[E]:()=>p,destroy:async()=>(await _.stopAutoPersisting(),i(),_)},0,p);return _},Qa=(a,n,s,r,o,c,y,u,d,v,E="getDb",N)=>{let g,m,$;const O=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[h,D,I,S]=(a=>{const e=(a=>ia(Pa,p(a)?{[ha]:a}:a??{}))(a),n=e[Sa];if(e.mode==Oa){const a=e[ha]??t;return[1,n,[a,e[Da]??F,e[Ia]??fa],ga(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=A(la(ia(Ma,o)),0,wa(Ma)),l=c[2],w=ga(l),y=ga(l),u=Fa(s,{[_a]:null,[Ta]:F,[Ra]:i},_a,a=>b(y,a),a=>ma(w,a)),d=Fa(r,{[ba]:null,[Ta]:F,[Ca]:0,[La]:0,[Ra]:null},ba,(a,t)=>b(y,t),(a,t)=>ma(w,t));var v;return v=(a,t)=>t[4]??=va(u,t[0])?.[2]??i,R(d,(a,t)=>v(0,a)),[0,n,[u,d,c],w]})(n);return(h?Ha:Ka)(a,O,a=>{let t;const e=()=>t=setInterval(()=>f(async()=>{const[{d:t,s:e,c:n}]=await O(U+` ${G} d,${H} s,TOTAL_CHANGES() c FROM ${z}${G} JOIN ${z}${H}`);t==g&&e==m&&n==$||(w(g)||a(),g=t,m=e,$=n)}),1e3*D),n=()=>{g=m=$=null,l(t)},s=r(t=>{S.has(t)&&(n(),a(),e())});return e(),()=>{n(),o(s)}},a=>a(),y,u,d,I,L(S),async(a,t)=>await a(U+` t.name tn,c.name cn FROM ${K}list()t,${K}info(t.name)c ${j} t.schema='main'AND t.type IN('table','view')AND t.name IN(${W(t)})ORDER BY t.name,c.name`,t),v,E,e,N,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},Va="change",Wa=(a,t,e,n,s)=>Qa(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(Va,e),e},a=>t.off(Va,a),n,s,g,3,t);export{Wa as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
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=a=>(t,e,n)=>a(t)?n?.():e(t),l=globalThis,w=clearInterval,y=a=>null==a,d=a=>void 0===a,u=a=>null===a,E=c(y),N=c(d),$=t=>a(t)==s,A=a=>Array.isArray(a),O=(a,t,e)=>a.slice(t,e),m=a=>a.length,_=async a=>o.all(a),g=a=>{throw Error(a)},R=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},T=(a,t)=>a.forEach(t),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),I=a=>0==m(a),S=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),b=a=>a.shift(),D=(a,t)=>a?.has(t)??!1,C=a=>d(a)||0==(a=>a?.size??0)(a),f=a=>[...a?.values()??[]],h=(a,t)=>a?.forEach(t),P=(a,t)=>a?.delete(t),F=Object,M=a=>F.getPrototypeOf(a),U=F.entries,G=a=>!y(a)&&E(M(a),a=>a==F.prototype||y(M(a)),()=>!0),j=F.keys,x=F.freeze,B=(a=[])=>F.fromEntries(a),H=(...a)=>F.assign({},...a),W=(a,t)=>(delete a[t],a),Y=(a,t)=>v(U(a),([a,e])=>t(e,a)),X=(a,t)=>B(Y(a,(a,e)=>[e,t(a,e)])),J=a=>F.values(a),k=a=>m(j(a)),z=a=>G(a)&&0==k(a),K=Map,V=a=>new K(a),q=(a,t)=>a?.get(t),Q=(a,t)=>v([...a?.entries()??[]],([a,e])=>t(e,a)),Z=(a,t,e)=>d(e)?(P(a,t),a):a?.set(t,e),aa=(a,t,e,n)=>(D(a,t)?n?.(q(a,t)):Z(a,t,e()),q(a,t)),ta=(a,t,e,n,s=0)=>N((e?aa:q)(a,t[s],s>m(t)-2?e:V),i=>{if(s>m(t)-2)return n?.(i)&&Z(a,t[s]),i;const r=ta(i,t,e,n,s+1);return C(i)&&Z(a,t[s]),r}),ea=/^\d+$/,na=a=>new Set(A(a)||d(a)?a:[a]),sa=(a,t)=>a?.add(t),ia={Idle:0,Loading:1,Saving:2},ra={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},oa=V(),ca=V(),la=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let y,E,$,O=0,_=0,p=0;aa(oa,w,()=>0),aa(ca,w,()=>[]);const v=V(),[I,S,D,f,F]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!z(a)||!z(t),t.setContent]:g("Store type not supported by this Persister"))(o,a,l),[M,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?b(a):null)??e+t++,t=>{ea.test(t)&&m(a)<1e3&&L(a,t)}]})(),s=V();return[(n,i,r,o=[],c=()=>[])=>{a??=la;const l=t(1);return Z(s,l,[n,i,r,o,c]),sa(ta(i,r??[e],na),l),l},(t,n,...i)=>T(((a,t=[e])=>{const n=[],s=(a,e)=>e==m(t)?L(n,a):u(t[e])?h(a,a=>s(a,e+1)):T([t[e],null],t=>s(q(a,t),e+1));return s(a,0),n})(t,n),t=>h(t,t=>q(s,t)[0](a,...n??[],...i))),a=>N(q(s,a),([,t,i])=>(ta(t,i??[e],void 0,t=>(P(t,a),C(t)?1:0)),Z(s,a),n(a),i)),t=>N(q(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=m(r);o==m(e)?t(a,...r,...s(r)):u(e[o])?T(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),j=a=>{a!=O&&(O=a,U(v,void 0,O))},B=t=>{(I&&A(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},H=async()=>{Q()&&a.__?.[0]?.()&&await J()},W=async a=>(2!=O&&(j(1),_++,await ra(async()=>{await R(async()=>{const e=await t();A(e)?B(e):a?F(a):g("Content is not an array: "+e)},()=>{a&&F(a)}),j(0),await H()})),la),Y=async a=>(X(),await W(a),await R(async()=>E=await s(async(a,t)=>{t||a?2!=O&&(j(1),_++,B(t??a),j(0),await H()):await W()}),r),la),X=async()=>(E&&(await R(()=>i(E),r),E=void 0),la),J=async a=>(1!=O&&(j(2),p++,await ra(async()=>{await R(()=>n(S,a),r),j(0)})),la),k=async()=>(K(),await J(),$=a.addDidFinishTransactionListener(()=>{const a=D();f(a)&&J(a)}),la),K=async()=>($&&(a.delListener($),$=void 0),la),Q=()=>!d($),ia=async(a=!1)=>{const[t,e]=a?[K,X]:[X,K];return await t(),await e(),la},ra=async(...a)=>(L(q(ca,w),...a),await(async()=>{if(!q(oa,w)){for(Z(oa,w,1);!d(y=b(q(ca,w)));)await R(y,r);Z(oa,w,0)}})(),la),la={load:W,startAutoLoad:Y,stopAutoLoad:X,isAutoLoading:()=>!d(E),save:J,startAutoSave:k,stopAutoSave:K,isAutoSaving:Q,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[k,Y]:[Y,k];return await e(a),await n(a),la},stopAutoPersisting:ia,getStatus:()=>O,addStatusListener:a=>M(a,v),delListener:t=>(G(t),a),schedule:ra,getStore:()=>a,destroy:()=>(q(ca,w).splice(0,void 0),ia()),getStats:()=>({loads:_,saves:p}),...c};return x(la)},wa=JSON.stringify,ya=JSON.parse,da=a=>wa(a,(a,t)=>d(t)?"":t),ua=a=>""===a?void 0:A(a)?v(a,ua):G(a)?X(a,ua):a,Ea=new l.TextEncoder,Na="_",$a="_id",Aa="SELECT",Oa="WHERE",ma="TABLE",_a="INSERT",ga="DELETE",Ra="UPDATE",Ta="ALTER "+ma,pa="FROM",va=ga+" "+pa,Ia=Aa+"*"+pa,Sa="pragma_",La="data_version",ba="schema_version",Da="pragma_table_",Ca="CREATE ",fa=Ca+ma,ha="OR REPLACE ",Pa="FUNCTION",Fa="$tableName",Ma=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,Ua=a=>p(v(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Ga=(...a)=>Ua(p(a,"_")),ja=(a,t=[1])=>p(v(a,()=>"$"+t[0]++),n),xa=(a,t=i)=>Oa+`(${r(t,Fa,Ua(a))})`,Ba="ColumnName",Ha="store",Wa="json",Ya=Ha+"TableName",Xa=Ha+"Id"+Ba,Ja=Ha+Ba,ka="autoLoadIntervalSeconds",za="rowId"+Ba,Ka="tableId",Va="tableName",qa="deleteEmptyColumns",Qa="deleteEmptyTable",Za="condition",at={mode:Wa,[ka]:1},tt={load:0,save:0,[Va]:t+"_values"},et=(a,t,e,n,s)=>{const i=V();return X(a,(a,r)=>{const o=O(J(H(t,$(a)?{[e]:a}:a)),0,k(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Z(i,r,o))}),i},nt=a=>{const e=(a=>H(at,$(a)?{[Ya]:a}:a??{}))(a),n=e[ka];if(e.mode==Wa){const a=e[Ya]??t;return[1,n,[a,e[Xa]??$a,e[Ja]??Ha],na(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=O(J(H(tt,o)),0,k(tt)),l=c[2],w=na(l),y=na(l),d=et(s,{[Ka]:null,[za]:$a,[Za]:i},Ka,a=>D(y,a),a=>sa(w,a)),u=et(r,{[Va]:null,[za]:$a,[qa]:0,[Qa]:0,[Za]:null},Va,(a,t)=>D(y,t),(a,t)=>sa(w,t));var E;return E=(a,t)=>t[4]??=q(d,t[0])?.[2]??i,h(u,(a,t)=>E(0,a)),[0,n,[d,u,c],w]},st=(a,t,e,s,r,o=it,c,l)=>{const w=V();return[async()=>{w.clear(),v(await e(a,t),({tn:a,cn:t})=>sa(aa(w,a,na),t))},async(t,e,n)=>((a,t)=>D(q(w,a),t))(t,e)?B(S(v(await a(Ia+Ua(t)+xa(t,n)),a=>[a[e],l?X(W(a,e),l):W(a,e)]),([a,t])=>!d(a)&&!z(t))):{},async(t,e,s,l,y,u=!1,E=i)=>{const N=na();X(s??{},a=>v(j(a??{}),a=>sa(N,a)));const $=f(N);if(!u&&y&&E==i&&I($)&&D(w,t))return await a("DROP "+ma+Ua(t)),void Z(w,t);const A=q(w,t),O=na(f(A));if(I($)||(D(w,t)?await _(v([e,...$],async(n,s)=>{P(O,n)||(await a(Ta+Ua(t)+"ADD"+Ua(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Ua(t)+`(${Ua(e)})`),sa(A,n))})):(await a(fa+Ua(t)+`(${Ua(e)}${r} PRIMARY KEY${p(v($,a=>n+Ua(a)+r))});`),Z(w,t,na([e,...$])))),await _([...!u&&l?v(f(O),async n=>{n!=e&&(await a(Ta+Ua(t)+"DROP"+Ua(n)),P(A,n))}):[]]),u)d(s)?await a(va+Ua(t)+xa(t,E)):await _(Y(s,async(n,s)=>{d(n)?await a(va+Ua(t)+xa(t,E)+`AND(${Ua(e)}=$1)`,[s]):I($)||await o(a,t,e,j(n),{[s]:c?v(J(n),c):J(n)},A)}));else if(I($))D(w,t)&&await a(va+Ua(t)+xa(t,E));else{const n=S(f(q(w,t)),a=>a!=e),i={},r=[];X(s??{},(a,t)=>{i[t]=v(n,t=>c?c(a?.[t]):a?.[t]),L(r,t)}),await o(a,t,e,n,i),await a(va+Ua(t)+xa(t,E)+`AND${Ua(e)}NOT IN(${ja(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await R(async()=>e=await t(),s),await a("END"),e}]},it=async(a,t,e,s,i)=>{const r=[1];await a(_a+" INTO"+Ua(t)+"("+((...a)=>p(v(a,Ua),n))(e,...s)+")VALUES"+p(Y(i,a=>"($"+r[0]+++","+ja(a,r)+")"),n)+"ON CONFLICT("+Ua(e)+`)DO ${Ra} SET`+p(v(s,a=>Ua(a)+"=excluded."+Ua(a)),n),Y(i,(a,t)=>[t,...v(a,a=>a??null)]).flat())},rt=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[$,A,O,m]=st(t,w,y,s,E,N),_=la(a,()=>m(async()=>{return await $(),a=(await A(o,c))[Na]?.[l]??"null",ua(ya(a));var a}),a=>m(async()=>{await $(),await O(o,c,{[Na]:{[l]:da(a()??null)}},!0,!0)}),e,n,s,r,{[u]:()=>d,destroy:async()=>(await _.stopAutoPersisting(),i(),_)},0,d);return _},ot=(a,t,e,n,s,i,r,[o,c,[l,w,y]],u,E,N,$,A,O,m,g)=>{const[R,T,p,v]=st(t,u,E,s,A,O,m,g),I=(a,t)=>_(Q(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await p(e,n,a[o],s,i,t,r)})),L=async(a,t)=>w?await p(y,$a,{[Na]:a},!0,!0,t):null,b=la(a,()=>v(async()=>{await R();const a=await(async()=>B(S(await _(Q(o,async([a,t,e],n)=>[a,await T(n,t,e)])),a=>!z(a[1]))))(),t=await(async()=>l?(await T(y,$a))[Na]:{})();return z(a)&&d(t)?void 0:[a,t]}),(a,t)=>v(async()=>{if(await R(),d(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}),e,n,s,r,{[$]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},ct=/^([cd]:)(.+)/,lt=(a,n,s,o,c,l,w,y,d,u,E="getDb")=>{const $=Ma(s,l),[A,,O,m]=nt(n),g=e+(a=>{let t=2166136261;return T(Ea.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(da(O)),R=t+"_"+g,I=async(a,e,n="",s="")=>{const i=Ga(t,a,g);return await $(Ca+ha+Pa+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},S=async(a,t,e,n)=>(await $(Ca+a+"TRIGGER"+t+e+"EXECUTE "+Pa+n+"()"),t),L=a=>`PERFORM pg_notify('${R}',${a});`,b=(a,t)=>A?i:2===t?b(a,0)+" OR "+b(a,1):r(q(O[0],a)?.[2]??i,Fa,0==t?"NEW":"OLD"),C=(a,e)=>_(v([_a,ga,Ra],(n,s)=>S(ha,Ga(t,"d",g,a,n),`AFTER ${n} ON${Ua(a)}FOR EACH ROW WHEN(${b(a,s)})`,e)));return(A?rt:ot)(a,$,async a=>{const e=await I("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Oa} command_tag='${fa}' LOOP ${L("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await S("EVENT ",Ga(t,"c",g),`ON ddl_command_end WHEN TAG IN('${fa}')`,e);const n=await I("d",L("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await _(v(f(m),async a=>(await $(fa+` IF NOT EXISTS${Ua(a)}("_id"text PRIMARY KEY)`),await C(a,n)))),[await o(R,t=>{return N((e=t,s=ct,e?.match(s)),async([,t,e])=>{D(m,e)&&("c:"==t&&await C(e,n),a())});var e,s}),[e,n]]},async([a,t])=>{c(a),await $(`DROP FUNCTION IF EXISTS${p(t,",")}CASCADE`)},w,y,d,O,f(m),async(a,t)=>await a(Aa+` table_name tn,column_name cn FROM information_schema.columns ${Oa} table_schema='public'AND table_name IN(${ja(t)})`,t),u,E,"text",void 0,a=>wa(a),a=>ya(a))},wt=(a,t,n,s,i,r,o,c,l,d,u="getDb",E)=>{let N,$,A;const O=Ma(n,r),[m,_,g,T]=nt(t);return(m?rt:ot)(a,O,a=>{let t;const e=()=>t=setInterval(()=>R(async()=>{const[{d:t,s:e,c:n}]=await O(Aa+` ${La} d,${ba} s,TOTAL_CHANGES() c FROM ${Sa}${La} JOIN ${Sa}${ba}`);t==N&&e==$&&n==A||(y(N)||a(),N=t,$=e,A=n)}),1e3*_),n=()=>{N=$=A=null,w(t)},r=s(t=>{T.has(t)&&(n(),a(),e())});return e(),()=>{n(),i(r)}},a=>a(),o,c,l,g,f(T),async(a,t)=>await a(Aa+` t.name tn,c.name cn FROM ${Da}list()t,${Da}info(t.name)c ${Oa} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ja(t)})ORDER BY t.name,c.name`,t),d,u,e,E,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)};export{ra as Persists,ia as Status,la as createCustomPersister,lt as createCustomPostgreSqlPersister,wt 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=a=>(t,e,n)=>a(t)?n?.():e(t),l=globalThis,w=clearInterval,y=a=>null==a,d=a=>void 0===a,u=a=>null===a,E=c(y),N=c(d),$=t=>a(t)==s,A=a=>Array.isArray(a),O=(a,t,e)=>a.slice(t,e),m=a=>a.length,_=async a=>o.all(a),g=a=>{throw Error(a)},R=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},T=(a,t)=>a.forEach(t),p=(a,t="")=>a.join(t),v=(a,t)=>a.map(t),I=a=>0==m(a),S=(a,t)=>a.filter(t),L=(a,...t)=>a.push(...t),b=a=>a.shift(),D=(a,t)=>a?.has(t)??!1,C=a=>d(a)||0==(a=>a?.size??0)(a),f=a=>[...a?.values()??[]],h=(a,t)=>a?.forEach(t),P=(a,t)=>a?.delete(t),F=Object,M=a=>F.getPrototypeOf(a),U=F.entries,G=a=>!y(a)&&E(M(a),a=>a==F.prototype||y(M(a)),()=>!0),j=F.keys,x=F.freeze,B=(a=[])=>F.fromEntries(a),H=(...a)=>F.assign({},...a),W=(a,t)=>(delete a[t],a),Y=(a,t)=>v(U(a),([a,e])=>t(e,a)),X=(a,t)=>B(Y(a,(a,e)=>[e,t(a,e)])),J=a=>F.values(a),k=a=>m(j(a)),z=a=>G(a)&&0==k(a),K=Map,V=a=>new K(a),q=(a,t)=>a?.get(t),Q=(a,t)=>v([...a?.entries()??[]],([a,e])=>t(e,a)),Z=(a,t,e)=>d(e)?(P(a,t),a):a?.set(t,e),aa=(a,t,e,n)=>(D(a,t)?n?.(q(a,t)):Z(a,t,e()),q(a,t)),ta=(a,t,e,n,s=0)=>N((e?aa:q)(a,t[s],s>m(t)-2?e:V),i=>{if(s>m(t)-2)return n?.(i)&&Z(a,t[s]),i;const r=ta(i,t,e,n,s+1);return C(i)&&Z(a,t[s]),r}),ea=/^\d+$/,na=a=>new Set(A(a)||d(a)?a:[a]),sa=(a,t)=>a?.add(t),ia={Idle:0,Loading:1,Saving:2},ra={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},oa=V(),ca=V(),la=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let y,E,$,O=0,_=0,p=0;aa(oa,w,()=>0),aa(ca,w,()=>[]);const v=V(),[I,S,D,f,F]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!e),([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!z(a)||!z(t),t.setContent]:g("Store type not supported by this Persister"))(o,a,l),[M,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?b(a):null)??e+t++,t=>{ea.test(t)&&m(a)<1e3&&L(a,t)}]})(),s=V();return[(n,i,r,o=[],c=()=>[])=>{a??=la;const l=t(1);return Z(s,l,[n,i,r,o,c]),sa(ta(i,r??[e],na),l),l},(t,n,...i)=>T(((a,t=[e])=>{const n=[],s=(a,e)=>e==m(t)?L(n,a):u(t[e])?h(a,a=>s(a,e+1)):T([t[e],null],t=>s(q(a,t),e+1));return s(a,0),n})(t,n),t=>h(t,t=>q(s,t)[0](a,...n??[],...i))),a=>N(q(s,a),([,t,i])=>(ta(t,i??[e],void 0,t=>(P(t,a),C(t)?1:0)),Z(s,a),n(a),i)),t=>N(q(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=m(r);o==m(e)?t(a,...r,...s(r)):u(e[o])?T(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),j=a=>{a!=O&&(O=a,U(v,void 0,O))},B=t=>{(I&&A(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},H=async()=>{Q()&&a.__?.[0]?.()&&await J()},W=async a=>(2!=O&&(j(1),_++,await ra(async()=>{await R(async()=>{const e=await t();A(e)?B(e):a?F(a):g("Content is not an array: "+e)},()=>{a&&F(a)}),j(0),await H()})),la),Y=async a=>(X(),await W(a),await R(async()=>E=await s(async(a,t)=>{t||a?2!=O&&(j(1),_++,B(t??a),j(0),await H()):await W()}),r),la),X=async()=>(E&&(await R(()=>i(E),r),E=void 0),la),J=async a=>(1!=O&&(j(2),p++,await ra(async()=>{await R(()=>n(S,a),r),j(0)})),la),k=async()=>(K(),await J(),$=a.addDidFinishTransactionListener(()=>{const a=D();f(a)&&J(a)}),la),K=async()=>($&&(a.delListener($),$=void 0),la),Q=()=>!d($),ia=async(a=!1)=>{const[t,e]=a?[K,X]:[X,K];return await t(),await e(),la},ra=async(...a)=>(L(q(ca,w),...a),await(async()=>{if(!q(oa,w)){for(Z(oa,w,1);!d(y=b(q(ca,w)));)await R(y,r);Z(oa,w,0)}})(),la),la={load:W,startAutoLoad:Y,stopAutoLoad:X,isAutoLoading:()=>!d(E),save:J,startAutoSave:k,stopAutoSave:K,isAutoSaving:Q,startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[k,Y]:[Y,k];return await e(a),await n(a),la},stopAutoPersisting:ia,getStatus:()=>O,addStatusListener:a=>M(a,v),delListener:t=>(G(t),a),schedule:ra,getStore:()=>a,destroy:()=>(q(ca,w).splice(0,void 0),ia()),getStats:()=>({loads:_,saves:p}),...c};return x(la)},wa=JSON.stringify,ya=JSON.parse,da=a=>wa(a,(a,t)=>d(t)?"":t),ua=a=>""===a?void 0:A(a)?v(a,ua):G(a)?X(a,ua):a,Ea=new l.TextEncoder,Na="_",$a="_id",Aa="SELECT",Oa="WHERE",ma="TABLE",_a="INSERT",ga="DELETE",Ra="UPDATE",Ta="ALTER "+ma,pa="FROM",va=ga+" "+pa,Ia=Aa+"*"+pa,Sa="pragma_",La="data_version",ba="schema_version",Da="pragma_table_",Ca="CREATE ",fa=Ca+ma,ha="OR REPLACE ",Pa="FUNCTION",Fa="$tableName",Ma=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,Ua=a=>p(v(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Ga=(...a)=>Ua(p(a,"_")),ja=(a,t=[1])=>p(v(a,()=>"$"+t[0]++),n),xa=(a,t=i)=>Oa+`(${r(t,Fa,Ua(a))})`,Ba="ColumnName",Ha="store",Wa="json",Ya=Ha+"TableName",Xa=Ha+"Id"+Ba,Ja=Ha+Ba,ka="autoLoadIntervalSeconds",za="rowId"+Ba,Ka="tableId",Va="tableName",qa="deleteEmptyColumns",Qa="deleteEmptyTable",Za="condition",at={mode:Wa,[ka]:1},tt={load:0,save:0,[Va]:t+"_values"},et=(a,t,e,n,s)=>{const i=V();return X(a,(a,r)=>{const o=O(J(H(t,$(a)?{[e]:a}:a)),0,k(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Z(i,r,o))}),i},nt=a=>{const e=(a=>H(at,$(a)?{[Ya]:a}:a??{}))(a),n=e[ka];if(e.mode==Wa){const a=e[Ya]??t;return[1,n,[a,e[Xa]??$a,e[Ja]??Ha],na(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=O(J(H(tt,o)),0,k(tt)),l=c[2],w=na(l),y=na(l),d=et(s,{[Ka]:null,[za]:$a,[Za]:i},Ka,a=>D(y,a),a=>sa(w,a)),u=et(r,{[Va]:null,[za]:$a,[qa]:0,[Qa]:0,[Za]:null},Va,(a,t)=>D(y,t),(a,t)=>sa(w,t));var E;return E=(a,t)=>t[4]??=q(d,t[0])?.[2]??i,h(u,(a,t)=>E(0,a)),[0,n,[d,u,c],w]},st=(a,t,e,s,r,o=it,c,l)=>{const w=V();return[async()=>{w.clear(),v(await e(a,t),({tn:a,cn:t})=>sa(aa(w,a,na),t))},async(t,e,n)=>((a,t)=>D(q(w,a),t))(t,e)?B(S(v(await a(Ia+Ua(t)+xa(t,n)),a=>[a[e],l?X(W(a,e),l):W(a,e)]),a=>!d(a[0])&&!z(a[1]))):{},async(t,e,s,l,y,u=!1,E=i)=>{const N=na();X(s??{},a=>v(j(a??{}),a=>sa(N,a)));const $=f(N);if(!u&&y&&E==i&&I($)&&D(w,t))return await a("DROP "+ma+Ua(t)),void Z(w,t);const A=q(w,t),O=na(f(A));if(I($)||(D(w,t)?await _(v([e,...$],async(n,s)=>{P(O,n)||(await a(Ta+Ua(t)+"ADD"+Ua(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Ua(t)+`(${Ua(e)})`),sa(A,n))})):(await a(fa+Ua(t)+`(${Ua(e)}${r} PRIMARY KEY${p(v($,a=>n+Ua(a)+r))});`),Z(w,t,na([e,...$])))),await _([...!u&&l?v(f(O),async n=>{n!=e&&(await a(Ta+Ua(t)+"DROP"+Ua(n)),P(A,n))}):[]]),u)d(s)?await a(va+Ua(t)+xa(t,E)):await _(Y(s,async(n,s)=>{d(n)?await a(va+Ua(t)+xa(t,E)+`AND(${Ua(e)}=$1)`,[s]):I($)||await o(a,t,e,j(n),{[s]:c?v(J(n),c):J(n)},A)}));else if(I($))D(w,t)&&await a(va+Ua(t)+xa(t,E));else{const n=S(f(q(w,t)),a=>a!=e),i={},r=[];X(s??{},(a,t)=>{i[t]=v(n,t=>c?c(a?.[t]):a?.[t]),L(r,t)}),await o(a,t,e,n,i),await a(va+Ua(t)+xa(t,E)+`AND${Ua(e)}NOT IN(${ja(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await R(async()=>e=await t(),s),await a("END"),e}]},it=async(a,t,e,s,i)=>{const r=[1];await a(_a+" INTO"+Ua(t)+"("+((...a)=>p(v(a,Ua),n))(e,...s)+")VALUES"+p(Y(i,a=>"($"+r[0]+++","+ja(a,r)+")"),n)+"ON CONFLICT("+Ua(e)+`)DO ${Ra} SET`+p(v(s,a=>Ua(a)+"=excluded."+Ua(a)),n),Y(i,(a,t)=>[t,...v(a,a=>a??null)]).flat())},rt=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[$,A,O,m]=st(t,w,y,s,E,N),_=la(a,()=>m(async()=>{return await $(),a=(await A(o,c))[Na]?.[l]??"null",ua(ya(a));var a}),a=>m(async()=>{await $(),await O(o,c,{[Na]:{[l]:da(a()??null)}},!0,!0)}),e,n,s,r,{[u]:()=>d,destroy:async()=>(await _.stopAutoPersisting(),i(),_)},0,d);return _},ot=(a,t,e,n,s,i,r,[o,c,[l,w,y]],u,E,N,$,A,O,m,g)=>{const[R,T,p,v]=st(t,u,E,s,A,O,m,g),I=(a,t)=>_(Q(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await p(e,n,a[o],s,i,t,r)})),L=async(a,t)=>w?await p(y,$a,{[Na]:a},!0,!0,t):null,b=la(a,()=>v(async()=>{await R();const a=await(async()=>B(S(await _(Q(o,async([a,t,e],n)=>[a,await T(n,t,e)])),a=>!z(a[1]))))(),t=await(async()=>l?(await T(y,$a))[Na]:{})();return z(a)&&d(t)?void 0:[a,t]}),(a,t)=>v(async()=>{if(await R(),d(t)){const[t,e]=a();await I(t),await L(e)}else await I(t[0],!0),await L(t[1],!0)}),e,n,s,r,{[$]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},ct=/^([cd]:)(.+)/,lt=(a,n,s,o,c,l,w,y,d,u,E="getDb")=>{const $=Ma(s,l),[A,,O,m]=nt(n),g=e+(a=>{let t=2166136261;return T(Ea.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(da(O)),R=t+"_"+g,I=async(a,e,n="",s="")=>{const i=Ga(t,a,g);return await $(Ca+ha+Pa+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},S=async(a,t,e,n)=>(await $(Ca+a+"TRIGGER"+t+e+"EXECUTE "+Pa+n+"()"),t),L=a=>`PERFORM pg_notify('${R}',${a});`,b=(a,t)=>A?i:2===t?b(a,0)+" OR "+b(a,1):r(q(O[0],a)?.[2]??i,Fa,0==t?"NEW":"OLD"),C=(a,e)=>_(v([_a,ga,Ra],(n,s)=>S(ha,Ga(t,"d",g,a,n),`AFTER ${n} ON${Ua(a)}FOR EACH ROW WHEN(${b(a,s)})`,e)));return(A?rt:ot)(a,$,async a=>{const e=await I("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Oa} command_tag='${fa}' LOOP ${L("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await S("EVENT ",Ga(t,"c",g),`ON ddl_command_end WHEN TAG IN('${fa}')`,e);const n=await I("d",L("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await _(v(f(m),async a=>(await $(fa+` IF NOT EXISTS${Ua(a)}("_id"text PRIMARY KEY)`),await C(a,n)))),[await o(R,t=>{return N((e=t,s=ct,e?.match(s)),async([,t,e])=>{D(m,e)&&("c:"==t&&await C(e,n),a())});var e,s}),[e,n]]},async([a,t])=>{c(a),await $(`DROP FUNCTION IF EXISTS${p(t,",")}CASCADE`)},w,y,d,O,f(m),async(a,t)=>await a(Aa+` table_name tn,column_name cn FROM information_schema.columns ${Oa} table_schema='public'AND table_name IN(${ja(t)})`,t),u,E,"text",void 0,a=>wa(a),a=>ya(a))},wt=(a,t,n,s,i,r,o,c,l,d,u="getDb",E)=>{let N,$,A;const O=Ma(n,r),[m,_,g,T]=nt(t);return(m?rt:ot)(a,O,a=>{let t;const e=()=>t=setInterval(()=>R(async()=>{const[{d:t,s:e,c:n}]=await O(Aa+` ${La} d,${ba} s,TOTAL_CHANGES() c FROM ${Sa}${La} JOIN ${Sa}${ba}`);t==N&&e==$&&n==A||(y(N)||a(),N=t,$=e,A=n)}),1e3*_),n=()=>{N=$=A=null,w(t)},r=s(t=>{T.has(t)&&(n(),a(),e())});return e(),()=>{n(),i(r)}},a=>a(),o,c,l,g,f(T),async(a,t)=>await a(Aa+` t.name tn,c.name cn FROM ${Da}list()t,${Da}info(t.name)c ${Oa} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ja(t)})ORDER BY t.name,c.name`,t),d,u,e,E,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)};export{ra as Persists,ia as Status,la as createCustomPersister,lt as createCustomPostgreSqlPersister,wt as createCustomSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,y=n(c),g=n(l),w=t=>Array.isArray(t),d=t=>t.length,f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),C=t=>l(t)||0==(t=>t?.size??0)(t),M=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),S=Object,D=t=>S.getPrototypeOf(t),H=S.entries,m=S.keys,L=S.freeze,_=(t,e)=>p(H(t),([t,a])=>e(a,t)),P=t=>(t=>!c(t)&&y(D(t),t=>t==S.prototype||c(D(t)),()=>!0))(t)&&0==(t=>d(m(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),G=Map,R=t=>new G(t),E=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(A(t,e),t):t?.set(e,a),z=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(E(t,e)):V(t,e,a()),E(t,e)},O=(t,e,a,s,n=0)=>g((a?z:E)(t,e[n],n>d(e)-2?a:R),o=>{if(n>d(e)-2)return s?.(o)&&V(t,e[n]),o;const r=O(o,e,a,s,n+1);return C(o)&&V(t,e[n]),r}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=o.crypto?t=>o.crypto.getRandomValues(t):t=>(t=>t.map(()=>r(256*i())))(t),k=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},x=(t,e)=>e?[t,e]:[t],F=(e,a)=>((e??t)>(a??t)?e:a)??t,N=(t="")=>x(((t=[])=>S.fromEntries(t))(),t),U=/^\d+$/,q=t=>new Set(w(t)||l(t)?t:[t]),B=R(),I=R(),J=(e,a,s,n,o,r,i,c={},y=0,S=[])=>{let D,H,m,_=0,T=0,G=0;z(B,S,()=>0),z(I,S,()=>[]);const $=R(),[j,k,x,F,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!P(t)||!P(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!P(t)||!P(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,y),[J,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?b(e):null)??t+a++,t=>{U.test(t)&&d(e)<1e3&&v(e,t)}]})(),n=R();return[(s,o,r,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,y;return V(n,l,[s,o,r,i,c]),u=O(o,r??[t],q),y=l,u?.add(y),l},(a,s,...o)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==d(a)?v(s,t):u(a[e])?M(t,t=>n(t,e+1)):p([a[e],null],a=>n(E(t,a),e+1));return n(e,0),s})(a,s),t=>M(t,t=>E(n,t)[0](e,...s??[],...o))),e=>g(E(n,e),([,a,o])=>(O(a,o??[t],void 0,t=>(A(t,e),C(t)?1:0)),V(n,e),s(e),o)),t=>g(E(n,t),([t,,a=[],s,n])=>{const o=(...r)=>{const i=d(r);i==d(a)?t(e,...r,...n(r)):u(a[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),W=t=>{t!=_&&(_=t,K($,void 0,_))},X=t=>{(j&&w(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{ot()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=_&&(W(1),T++,await it(async()=>{await h(async()=>{const e=await a();w(e)?X(e):t?N(t):f("Content is not an array: "+e)},()=>{t&&N(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await h(async()=>H=await n(async(t,e)=>{e||t?2!=_&&(W(1),T++,X(e??t),W(0),await Y()):await Z()}),r),ct),et=async()=>(H&&(await h(()=>o(H),r),H=void 0),ct),at=async t=>(1!=_&&(W(2),G++,await it(async()=>{await h(()=>s(k,t),r),W(0)})),ct),st=async()=>(nt(),await at(),m=e.addDidFinishTransactionListener(()=>{const t=x();F(t)&&at(t)}),ct),nt=async()=>(m&&(e.delListener(m),m=void 0),ct),ot=()=>!l(m),rt=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(v(E(I,S),...t),await(async()=>{if(!E(B,S)){for(V(B,S,1);!l(D=b(E(I,S)));)await h(D,r);V(B,S,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!l(H),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:ot,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:rt,getStatus:()=>_,addStatusListener:t=>J(t,$),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(E(I,S).splice(0,void 0),rt()),getStats:()=>({loads:T,saves:G}),...c};return L(ct)},K={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},Q=(e,s,n,o,r,i,c,y,w={})=>{let d,f=0,p=0,v=0;const b=R(),C=()=>k(11),M=(t,e,a,n)=>{p++,i?.(t,e,a,n),s(t,e,a,n)},S=async(t,e,s,n)=>new a((a,o)=>{const i=n+"."+k(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{A(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);V(b,i,[t,(t,e)=>{clearTimeout(c),A(b,i),a([t,e,n])}]),M(t,i,e,s)}),D=(t,[e,a])=>{_(e,([e,a],s)=>{const n=T(t[0],s,N);_(e,([t,e],a)=>{const s=T(n[0],a,N);_(t,([t,e],a)=>s[0][a]=x(t,e)),s[1]=F(s[1],e)}),n[1]=F(n[1],a)}),t[1]=F(t[1],a)},H=(a=null,s,n=C())=>h(async()=>{l(s)&&([s,a,n]=await S(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let u=N();if(i!=o){const[t,s]=(await S(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!P(s)){const[t,o]=(await S(a,5,e.getMergeableRowHashes(s),n))[0];if(D(u,t),!P(o)){const t=(await S(a,6,e.getMergeableCellHashes(o),n))[0];D(u,t)}}}return[u,c==r?N():(await S(a,7,e.getMergeableValueHashes(),n))[0],1]},y),m=J(e,async()=>{const t=await H();return!t||P(t[0][0])&&P(t[1][0])?void 0:t},async(t,a)=>a?M(null,C(),3,a):M(null,C(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,y,2,{startSync:async t=>(f=1,await m.startAutoPersisting(t)),stopSync:async()=>(f=0,await m.stopAutoPersisting(),m),destroy:async()=>(await m.stopSync(),o(),m),getSynchronizerStats:()=>({sends:p,receives:v}),...w},1);return n((t,a,s,n)=>{const o=f||m.isAutoLoading();v++,c?.(t,a,s,n),0==s?g(E(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(y):3==s&&o?d?.(void 0,n):g(1==s&&(f||m.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),m};export{K as Message,Q as createCustomSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=t=>t.length,h=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),M=t=>l(t)||0==(t=>t?.size??0)(t),A=(t,e)=>t?.forEach(e),S=(t,e)=>t?.delete(e),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,_=C.keys,H=C.freeze,P=(t,e)=>f(L(t),([t,a])=>e(a,t)),D=t=>(t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0))(t)&&0==(t=>w(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),E=Map,z=t=>new E(t),R=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(S(t,e),t):t?.set(e,a),N=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(R(t,e)):V(t,e,a()),R(t,e)},O=(t,e,a,s,n=0)=>y((a?N:R)(t,e[n],n>w(e)-2?a:z),o=>{if(n>w(e)-2)return s?.(o)&&V(t,e[n]),o;const r=O(o,e,a,s,n+1);return M(o)&&V(t,e[n]),r}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=o.crypto?t=>o.crypto.getRandomValues(t):t=>(t=>t.map(()=>r(256*i())))(t),k=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},x=(t,e)=>e?[t,e]:[t],B=(e,a)=>((e??t)>(a??t)?e:a)??t,F=(t="")=>x(((t=[])=>C.fromEntries(t))(),t),U=/^\d+$/,q=t=>new Set(d(t)||l(t)?t:[t]),G=z(),I=z(),J=(e,a,s,n,o,r,i,c={},g=0,C=[])=>{let m,L,_,P=0,T=0,E=0;N(G,C,()=>0),N(I,C,()=>[]);const $=z(),[j,k,x,B,F]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!D(t)||!D(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!D(t)||!D(e),e.setContent]:h("Store type not supported by this Persister"))(i,e,g),[J,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?b(e):null)??t+a++,t=>{U.test(t)&&w(e)<1e3&&v(e,t)}]})(),n=z();return[(s,o,r,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,g;return V(n,l,[s,o,r,i,c]),u=O(o,r??[t],q),g=l,u?.add(g),l},(a,s,...o)=>f(((e,a=[t])=>{const s=[],n=(t,e)=>e==w(a)?v(s,t):u(a[e])?A(t,t=>n(t,e+1)):f([a[e],null],a=>n(R(t,a),e+1));return n(e,0),s})(a,s),t=>A(t,t=>R(n,t)[0](e,...s??[],...o))),e=>y(R(n,e),([,a,o])=>(O(a,o??[t],void 0,t=>(S(t,e),M(t)?1:0)),V(n,e),s(e),o)),t=>y(R(n,t),([t,,a=[],s,n])=>{const o=(...r)=>{const i=w(r);i==w(a)?t(e,...r,...n(r)):u(a[i])?f(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),W=t=>{t!=P&&(P=t,K($,void 0,P))},X=t=>{(j&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{ot()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=P&&(W(1),T++,await it(async()=>{await p(async()=>{const e=await a();d(e)?X(e):t?F(t):h("Content is not an array: "+e)},()=>{t&&F(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await p(async()=>L=await n(async(t,e)=>{e||t?2!=P&&(W(1),T++,X(e??t),W(0),await Y()):await Z()}),r),ct),et=async()=>(L&&(await p(()=>o(L),r),L=void 0),ct),at=async t=>(1!=P&&(W(2),E++,await it(async()=>{await p(()=>s(k,t),r),W(0)})),ct),st=async()=>(nt(),await at(),_=e.addDidFinishTransactionListener(()=>{const t=x();B(t)&&at(t)}),ct),nt=async()=>(_&&(e.delListener(_),_=void 0),ct),ot=()=>!l(_),rt=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(v(R(I,C),...t),await(async()=>{if(!R(G,C)){for(V(G,C,1);!l(m=b(R(I,C)));)await p(m,r);V(G,C,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!l(L),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:ot,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:rt,getStatus:()=>P,addStatusListener:t=>J(t,$),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(R(I,C).splice(0,void 0),rt()),getStats:()=>({loads:T,saves:E}),...c};return H(ct)},K=(e,s,n,o,r)=>{const i=k(),c=new BroadcastChannel(s);return((e,s,n,o,r,i,c,g,d={})=>{let w,h=0,f=0,v=0;const b=z(),M=()=>k(11),A=(t,e,a,n)=>{f++,i?.(t,e,a,n),s(t,e,a,n)},C=async(t,e,s,n)=>new a((a,o)=>{const i=n+"."+k(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{S(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);V(b,i,[t,(t,e)=>{clearTimeout(c),S(b,i),a([t,e,n])}]),A(t,i,e,s)}),m=(t,[e,a])=>{P(e,([e,a],s)=>{const n=T(t[0],s,F);P(e,([t,e],a)=>{const s=T(n[0],a,F);P(t,([t,e],a)=>s[0][a]=x(t,e)),s[1]=B(s[1],e)}),n[1]=B(n[1],a)}),t[1]=B(t[1],a)},L=(a=null,s,n=M())=>p(async()=>{l(s)&&([s,a,n]=await C(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let u=F();if(i!=o){const[t,s]=(await C(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!D(s)){const[t,o]=(await C(a,5,e.getMergeableRowHashes(s),n))[0];if(m(u,t),!D(o)){const t=(await C(a,6,e.getMergeableCellHashes(o),n))[0];m(u,t)}}}return[u,c==r?F():(await C(a,7,e.getMergeableValueHashes(),n))[0],1]},g),_=J(e,async()=>{const t=await L();return!t||D(t[0][0])&&D(t[1][0])?void 0:t},async(t,a)=>a?A(null,M(),3,a):A(null,M(),2,e.getMergeableContentHashes()),t=>w=t,()=>w=void 0,g,2,{startSync:async t=>(h=1,await _.startAutoPersisting(t)),stopSync:async()=>(h=0,await _.stopAutoPersisting(),_),destroy:async()=>(await _.stopSync(),o(),_),getSynchronizerStats:()=>({sends:f,receives:v}),...d},1);return n((t,a,s,n)=>{const o=h||_.isAutoLoading();v++,c?.(t,a,s,n),0==s?y(R(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&o?L(t,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(g):3==s&&o?w?.(void 0,n):y(1==s&&(h||_.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{A(t,a,0,e)})}),_})(e,(t,e,a,s)=>c.postMessage([i,t,e,a,s]),t=>{c.onmessage=({data:[e,a,s,n,o]})=>u(a)||a==i?t(e,s,n,o):0},()=>{c.close()},.01,n,o,r,{getChannelName:()=>s})};export{K as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=t=>t.length,h=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),M=t=>l(t)||0==(t=>t?.size??0)(t),A=(t,e)=>t?.forEach(e),S=(t,e)=>t?.delete(e),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,_=C.keys,H=C.freeze,P=(t,e)=>f(L(t),([t,a])=>e(a,t)),D=t=>(t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0))(t)&&0==(t=>w(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),E=Map,z=t=>new E(t),R=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(S(t,e),t):t?.set(e,a),N=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(R(t,e)):V(t,e,a()),R(t,e)},O=(t,e,a,s,n=0)=>y((a?N:R)(t,e[n],n>w(e)-2?a:z),o=>{if(n>w(e)-2)return s?.(o)&&V(t,e[n]),o;const r=O(o,e,a,s,n+1);return M(o)&&V(t,e[n]),r}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=o.crypto?t=>o.crypto.getRandomValues(t):t=>(t=>t.map(()=>r(256*i())))(t),k=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},x=(t,e)=>e?[t,e]:[t],B=(e,a)=>((e??t)>(a??t)?e:a)??t,F=(t="")=>x(((t=[])=>C.fromEntries(t))(),t),U=/^\d+$/,q=t=>new Set(d(t)||l(t)?t:[t]),G=z(),I=z(),J=(e,a,s,n,o,r,i,c={},g=0,C=[])=>{let m,L,_,P=0,T=0,E=0;N(G,C,()=>0),N(I,C,()=>[]);const $=z(),[j,k,x,B,F]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!D(t)||!D(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!D(t)||!D(e),e.setContent]:h("Store type not supported by this Persister"))(i,e,g),[J,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?b(e):null)??t+a++,t=>{U.test(t)&&w(e)<1e3&&v(e,t)}]})(),n=z();return[(s,o,r,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,g;return V(n,l,[s,o,r,i,c]),u=O(o,r??[t],q),g=l,u?.add(g),l},(a,s,...o)=>f(((e,a=[t])=>{const s=[],n=(t,e)=>e==w(a)?v(s,t):u(a[e])?A(t,t=>n(t,e+1)):f([a[e],null],a=>n(R(t,a),e+1));return n(e,0),s})(a,s),t=>A(t,t=>R(n,t)[0](e,...s??[],...o))),e=>y(R(n,e),([,a,o])=>(O(a,o??[t],void 0,t=>(S(t,e),M(t)?1:0)),V(n,e),s(e),o)),t=>y(R(n,t),([t,,a=[],s,n])=>{const o=(...r)=>{const i=w(r);i==w(a)?t(e,...r,...n(r)):u(a[i])?f(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),W=t=>{t!=P&&(P=t,K($,void 0,P))},X=t=>{(j&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{ot()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=P&&(W(1),T++,await it(async()=>{await p(async()=>{const e=await a();d(e)?X(e):t?F(t):h("Content is not an array: "+e)},()=>{t&&F(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await p(async()=>L=await n(async(t,e)=>{e||t?2!=P&&(W(1),T++,X(e??t),W(0),await Y()):await Z()}),r),ct),et=async()=>(L&&(await p(()=>o(L),r),L=void 0),ct),at=async t=>(1!=P&&(W(2),E++,await it(async()=>{await p(()=>s(k,t),r),W(0)})),ct),st=async()=>(nt(),await at(),_=e.addDidFinishTransactionListener(()=>{const t=x();B(t)&&at(t)}),ct),nt=async()=>(_&&(e.delListener(_),_=void 0),ct),ot=()=>!l(_),rt=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(v(R(I,C),...t),await(async()=>{if(!R(G,C)){for(V(G,C,1);!l(m=b(R(I,C)));)await p(m,r);V(G,C,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!l(L),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:ot,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:rt,getStatus:()=>P,addStatusListener:t=>J(t,$),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(R(I,C).splice(0,void 0),rt()),getStats:()=>({loads:T,saves:E}),...c};return H(ct)},K=(e,s,n,o,r)=>{const i=k(),c=new BroadcastChannel(s);return((e,s,n,o,r,i,c,g,d={})=>{let w,h=0,f=0,v=0;const b=z(),M=()=>k(11),A=(t,e,a,n)=>{f++,i?.(t,e,a,n),s(t,e,a,n)},C=async(t,e,s,n)=>new a((a,o)=>{const i=n+"."+k(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{S(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);V(b,i,[t,(t,e)=>{clearTimeout(c),S(b,i),a([t,e,n])}]),A(t,i,e,s)}),m=(t,[e,a])=>{P(e,([e,a],s)=>{const n=T(t[0],s,F);P(e,([t,e],a)=>{const s=T(n[0],a,F);P(t,([t,e],a)=>s[0][a]=x(t,e)),s[1]=B(s[1],e)}),n[1]=B(n[1],a)}),t[1]=B(t[1],a)},L=(a=null,s,n=M())=>p(async()=>{l(s)&&([s,a,n]=await C(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let u=F();if(i!=o){const[t,s]=(await C(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!D(s)){const[t,o]=(await C(a,5,e.getMergeableRowHashes(s),n))[0];if(m(u,t),!D(o)){const t=(await C(a,6,e.getMergeableCellHashes(o),n))[0];m(u,t)}}}return[u,c==r?F():(await C(a,7,e.getMergeableValueHashes(),n))[0],1]},g),_=J(e,async()=>{const t=await L();return!t||D(t[0][0])&&D(t[1][0])?void 0:t},async(t,a)=>a?A(null,M(),3,a):A(null,M(),2,e.getMergeableContentHashes()),t=>w=t,()=>w=void 0,g,2,{startSync:async t=>(h=1,await _.startAutoPersisting(t)),stopSync:async()=>(h=0,await _.stopAutoPersisting(),_),destroy:async()=>(await _.stopSync(),o(),_),getSynchronizerStats:()=>({sends:f,receives:v}),...d},1);return n((t,a,s,n)=>{const o=h||_.isAutoLoading();v++,c?.(t,a,s,n),0==s?y(R(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&o?L(t,n,a??void 0).then(t=>{w?.(void 0,t)}).catch(g):3==s&&o?w?.(void 0,n):y(1==s&&(h||_.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{A(t,a,0,e)})}),_})(e,(t,e,a,s)=>c.postMessage([i,t,e,a,s]),t=>{c.onmessage=({data:[e,a,s,n,o]})=>u(a)||a==i?t(e,s,n,o):0},()=>{c.close()},.01,n,o,r,{getChannelName:()=>s})};export{K as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=(t,e=0)=>setTimeout(t,1e3*e),i=s.floor,c=s.random,l=t=>null==t,u=t=>void 0===t,y=t=>null===t,g=n(l),d=n(u),w=t=>Array.isArray(t),h=t=>t.length,p=t=>{throw Error(t)},f=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},v=(t,e)=>t.forEach(e),b=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>u(t)||0==(t=>t?.size??0)(t),S=(t,e)=>t?.forEach(e),C=(t,e)=>t?.delete(e),m=Object,L=t=>m.getPrototypeOf(t),_=m.entries,H=m.keys,P=m.freeze,D=(t,e)=>v(_(t),([t,a])=>e(a,t)),T=t=>(t=>!l(t)&&g(L(t),t=>t==m.prototype||l(L(t)),()=>!0))(t)&&0==(t=>h(H(t)))(t),E=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),z=Map,R=t=>new z(t),V=(t,e)=>t?.get(e),O=(t,e,a)=>u(a)?(C(t,e),t):t?.set(e,a),$=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(V(t,e)):O(t,e,a()),V(t,e)},j=(t,e,a,s,n=0)=>d((a?$:V)(t,e[n],n>h(e)-2?a:R),r=>{if(n>h(e)-2)return s?.(r)&&O(t,e[n]),r;const o=j(r,e,a,s,n+1);return A(r)&&O(t,e[n]),o}),k=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),x=r.crypto?t=>r.crypto.getRandomValues(t):t=>(t=>t.map(()=>i(256*c())))(t),F=(t=16)=>{return e=(t,e)=>t+k[63&e],x(new Uint8Array(t)).reduce(e,"");var e},N=(t,e)=>e?[t,e]:[t],U=(e,a)=>((e??t)>(a??t)?e:a)??t,q=(t="")=>N(((t=[])=>m.fromEntries(t))(),t),B=/^\d+$/,G=t=>new Set(w(t)||u(t)?t:[t]),I=R(),J=R(),K=(e,a,s,n,r,o,i,c={},l=0,g=[])=>{let m,L,_,H=0,D=0,E=0;$(I,g,()=>0),$(J,g,()=>[]);const z=R(),[k,x,F,N,U]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!T(t)||!T(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!T(t)||!T(e),e.setContent]:p("Store type not supported by this Persister"))(i,e,l),[q,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?M(e):null)??t+a++,t=>{B.test(t)&&h(e)<1e3&&b(e,t)}]})(),n=R();return[(s,r,o,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,y;return O(n,l,[s,r,o,i,c]),u=j(r,o??[t],G),y=l,u?.add(y),l},(a,s,...r)=>v(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?b(s,t):y(a[e])?S(t,t=>n(t,e+1)):v([a[e],null],a=>n(V(t,a),e+1));return n(e,0),s})(a,s),t=>S(t,t=>V(n,t)[0](e,...s??[],...r))),e=>d(V(n,e),([,a,r])=>(j(a,r??[t],void 0,t=>(C(t,e),A(t)?1:0)),O(n,e),s(e),r)),t=>d(V(n,t),([t,,a=[],s,n])=>{const r=(...o)=>{const i=h(o);i==h(a)?t(e,...o,...n(o)):y(a[i])?v(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),W=t=>{t!=H&&(H=t,K(z,void 0,H))},X=t=>{(k&&w(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{rt()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=H&&(W(1),D++,await it(async()=>{await f(async()=>{const e=await a();w(e)?X(e):t?U(t):p("Content is not an array: "+e)},()=>{t&&U(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await f(async()=>L=await n(async(t,e)=>{e||t?2!=H&&(W(1),D++,X(e??t),W(0),await Y()):await Z()}),o),ct),et=async()=>(L&&(await f(()=>r(L),o),L=void 0),ct),at=async t=>(1!=H&&(W(2),E++,await it(async()=>{await f(()=>s(x,t),o),W(0)})),ct),st=async()=>(nt(),await at(),_=e.addDidFinishTransactionListener(()=>{const t=F();N(t)&&at(t)}),ct),nt=async()=>(_&&(e.delListener(_),_=void 0),ct),rt=()=>!u(_),ot=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(b(V(J,g),...t),await(async()=>{if(!V(I,g)){for(O(I,g,1);!u(m=M(V(J,g)));)await f(m,o);O(I,g,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!u(L),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:ot,getStatus:()=>H,addStatusListener:t=>q(t,z),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(V(J,g).splice(0,void 0),ot()),getStats:()=>({loads:D,saves:E}),...c};return P(ct)},Q=R(),W=(e,s,n,r)=>{const i=F();return((e,s,n,r,i,c,l,g,w={})=>{let h,p=0,v=0,b=0;const M=R(),A=()=>F(11),S=(t,e,a,n)=>{v++,c?.(t,e,a,n),s(t,e,a,n)},m=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+F(4),l=o(()=>{C(M,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},i);O(M,c,[t,(t,e)=>{clearTimeout(l),C(M,c),a([t,e,n])}]),S(t,c,e,s)}),L=(t,[e,a])=>{D(e,([e,a],s)=>{const n=E(t[0],s,q);D(e,([t,e],a)=>{const s=E(n[0],a,q);D(t,([t,e],a)=>s[0][a]=N(t,e)),s[1]=U(s[1],e)}),n[1]=U(n[1],a)}),t[1]=U(t[1],a)},_=(a=null,s,n=A())=>f(async()=>{u(s)&&([s,a,n]=await m(null,1,t,n));const[r,o]=s,[i,c]=e.getMergeableContentHashes();let l=q();if(i!=r){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!T(s)){const[t,r]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(L(l,t),!T(r)){const t=(await m(a,6,e.getMergeableCellHashes(r),n))[0];L(l,t)}}}return[l,c==o?q():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]},g),H=K(e,async()=>{const t=await _();return!t||T(t[0][0])&&T(t[1][0])?void 0:t},async(t,a)=>a?S(null,A(),3,a):S(null,A(),2,e.getMergeableContentHashes()),t=>h=t,()=>h=void 0,g,2,{startSync:async t=>(p=1,await H.startAutoPersisting(t)),stopSync:async()=>(p=0,await H.stopAutoPersisting(),H),destroy:async()=>(await H.stopSync(),r(),H),getSynchronizerStats:()=>({sends:v,receives:b}),...w},1);return n((t,a,s,n)=>{const r=p||H.isAutoLoading();b++,l?.(t,a,s,n),0==s?d(V(M,a),([e,a])=>y(e)||e==t?a(n,t):0):2==s&&r?_(t,n,a??void 0).then(t=>{h?.(void 0,t)}).catch(g):3==s&&r?h?.(void 0,n):d(1==s&&(p||H.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{S(t,a,0,e)})}),H})(e,(t,e,a,s)=>o(()=>{return y(t)?(n=(t,n)=>t!=i?n(i,e,a,s):0,S(Q,(t,e)=>n(e,t))):V(Q,t)?.(i,e,a,s);var n}),t=>{O(Q,i,t)},()=>{C(Q,i)},.01,s,n,r)};export{W as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=(t,e="",a)=>t.split(e,a),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=(t,e=0)=>setTimeout(t,1e3*e),i=s.floor,c=s.random,l=t=>null==t,u=t=>void 0===t,y=t=>null===t,g=n(l),d=n(u),w=t=>Array.isArray(t),h=t=>t.length,p=t=>{throw Error(t)},f=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},v=(t,e)=>t.forEach(e),b=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>u(t)||0==(t=>t?.size??0)(t),S=(t,e)=>t?.forEach(e),C=(t,e)=>t?.delete(e),m=Object,L=t=>m.getPrototypeOf(t),_=m.entries,H=m.keys,P=m.freeze,D=(t,e)=>v(_(t),([t,a])=>e(a,t)),T=t=>(t=>!l(t)&&g(L(t),t=>t==m.prototype||l(L(t)),()=>!0))(t)&&0==(t=>h(H(t)))(t),E=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),z=Map,R=t=>new z(t),V=(t,e)=>t?.get(e),O=(t,e,a)=>u(a)?(C(t,e),t):t?.set(e,a),$=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(V(t,e)):O(t,e,a()),V(t,e)},j=(t,e,a,s,n=0)=>d((a?$:V)(t,e[n],n>h(e)-2?a:R),r=>{if(n>h(e)-2)return s?.(r)&&O(t,e[n]),r;const o=j(r,e,a,s,n+1);return A(r)&&O(t,e[n]),o}),k=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),x=r.crypto?t=>r.crypto.getRandomValues(t):t=>(t=>t.map(()=>i(256*c())))(t),F=(t=16)=>{return e=(t,e)=>t+k[63&e],x(new Uint8Array(t)).reduce(e,"");var e},N=(t,e)=>e?[t,e]:[t],U=(e,a)=>((e??t)>(a??t)?e:a)??t,q=(t="")=>N(((t=[])=>m.fromEntries(t))(),t),B=/^\d+$/,G=t=>new Set(w(t)||u(t)?t:[t]),I=R(),J=R(),K=(e,a,s,n,r,o,i,c={},l=0,g=[])=>{let m,L,_,H=0,D=0,E=0;$(I,g,()=>0),$(J,g,()=>[]);const z=R(),[k,x,F,N,U]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!T(t)||!T(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!T(t)||!T(e),e.setContent]:p("Store type not supported by this Persister"))(i,e,l),[q,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?M(e):null)??t+a++,t=>{B.test(t)&&h(e)<1e3&&b(e,t)}]})(),n=R();return[(s,r,o,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,y;return O(n,l,[s,r,o,i,c]),u=j(r,o??[t],G),y=l,u?.add(y),l},(a,s,...r)=>v(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?b(s,t):y(a[e])?S(t,t=>n(t,e+1)):v([a[e],null],a=>n(V(t,a),e+1));return n(e,0),s})(a,s),t=>S(t,t=>V(n,t)[0](e,...s??[],...r))),e=>d(V(n,e),([,a,r])=>(j(a,r??[t],void 0,t=>(C(t,e),A(t)?1:0)),O(n,e),s(e),r)),t=>d(V(n,t),([t,,a=[],s,n])=>{const r=(...o)=>{const i=h(o);i==h(a)?t(e,...o,...n(o)):y(a[i])?v(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),W=t=>{t!=H&&(H=t,K(z,void 0,H))},X=t=>{(k&&w(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{rt()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=H&&(W(1),D++,await it(async()=>{await f(async()=>{const e=await a();w(e)?X(e):t?U(t):p("Content is not an array: "+e)},()=>{t&&U(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await f(async()=>L=await n(async(t,e)=>{e||t?2!=H&&(W(1),D++,X(e??t),W(0),await Y()):await Z()}),o),ct),et=async()=>(L&&(await f(()=>r(L),o),L=void 0),ct),at=async t=>(1!=H&&(W(2),E++,await it(async()=>{await f(()=>s(x,t),o),W(0)})),ct),st=async()=>(nt(),await at(),_=e.addDidFinishTransactionListener(()=>{const t=F();N(t)&&at(t)}),ct),nt=async()=>(_&&(e.delListener(_),_=void 0),ct),rt=()=>!u(_),ot=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(b(V(J,g),...t),await(async()=>{if(!V(I,g)){for(O(I,g,1);!u(m=M(V(J,g)));)await f(m,o);O(I,g,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!u(L),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:ot,getStatus:()=>H,addStatusListener:t=>q(t,z),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(V(J,g).splice(0,void 0),ot()),getStats:()=>({loads:D,saves:E}),...c};return P(ct)},Q=R(),W=(e,s,n,r)=>{const i=F();return((e,s,n,r,i,c,l,g,w={})=>{let h,p=0,v=0,b=0;const M=R(),A=()=>F(11),S=(t,e,a,n)=>{v++,c?.(t,e,a,n),s(t,e,a,n)},m=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+F(4),l=o(()=>{C(M,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},i);O(M,c,[t,(t,e)=>{clearTimeout(l),C(M,c),a([t,e,n])}]),S(t,c,e,s)}),L=(t,[e,a])=>{D(e,([e,a],s)=>{const n=E(t[0],s,q);D(e,([t,e],a)=>{const s=E(n[0],a,q);D(t,([t,e],a)=>s[0][a]=N(t,e)),s[1]=U(s[1],e)}),n[1]=U(n[1],a)}),t[1]=U(t[1],a)},_=(a=null,s,n=A())=>f(async()=>{u(s)&&([s,a,n]=await m(null,1,t,n));const[r,o]=s,[i,c]=e.getMergeableContentHashes();let l=q();if(i!=r){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!T(s)){const[t,r]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(L(l,t),!T(r)){const t=(await m(a,6,e.getMergeableCellHashes(r),n))[0];L(l,t)}}}return[l,c==o?q():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]},g),H=K(e,async()=>{const t=await _();return!t||T(t[0][0])&&T(t[1][0])?void 0:t},async(t,a)=>a?S(null,A(),3,a):S(null,A(),2,e.getMergeableContentHashes()),t=>h=t,()=>h=void 0,g,2,{startSync:async t=>(p=1,await H.startAutoPersisting(t)),stopSync:async()=>(p=0,await H.stopAutoPersisting(),H),destroy:async()=>(await H.stopSync(),r(),H),getSynchronizerStats:()=>({sends:v,receives:b}),...w},1);return n((t,a,s,n)=>{const r=p||H.isAutoLoading();b++,l?.(t,a,s,n),0==s?d(V(M,a),([e,a])=>y(e)||e==t?a(n,t):0):2==s&&r?_(t,n,a??void 0).then(t=>{h?.(void 0,t)}).catch(g):3==s&&r?h?.(void 0,n):d(1==s&&(p||H.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{S(t,a,0,e)})}),H})(e,(t,e,a,s)=>o(()=>{return y(t)?(n=(t,n)=>t!=i?n(i,e,a,s):0,S(Q,(t,e)=>n(e,t))):V(Q,t)?.(i,e,a,s);var n}),t=>{O(Q,i,t)},()=>{C(Q,i)},.01,s,n,r)};export{W as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,f=t=>new a(t),p=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},b=(t,e)=>t.forEach(e),S=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,P=t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0),_=C.keys,E=C.freeze,H=(t=[])=>C.fromEntries(t),D=(t,e)=>b(L(t),([t,a])=>e(a,t)),O=t=>P(t)&&0==(t=>v(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),N=JSON.stringify,z=JSON.parse,R=t=>""===t?void 0:d(t)?S(t,R):P(t)?((t,e)=>H(((t,e)=>S(L(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>l(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),F=(t,e,a)=>l(a)?(x(t,e),t):t?.set(e,a),U=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(j(t,e)):F(t,e,a()),j(t,e)},W=(t,e,a,s,n=0)=>y((a?U:j)(t,e[n],n>v(e)-2?a:$),r=>{if(n>v(e)-2)return s?.(r)&&F(t,e[n]),r;const o=W(r,e,a,s,n+1);return V(r)&&F(t,e[n]),o}),q=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=r.crypto?t=>r.crypto.getRandomValues(t):t=>S(t,()=>o(256*i())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},I=(t,e)=>e?[t,e]:[t],K=(
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,f=t=>new a(t),p=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},b=(t,e)=>t.forEach(e),S=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,P=t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0),_=C.keys,E=C.freeze,H=(t=[])=>C.fromEntries(t),D=(t,e)=>b(L(t),([t,a])=>e(a,t)),O=t=>P(t)&&0==(t=>v(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),N=JSON.stringify,z=JSON.parse,R=t=>""===t?void 0:d(t)?S(t,R):P(t)?((t,e)=>H(((t,e)=>S(L(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>l(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),F=(t,e,a)=>l(a)?(x(t,e),t):t?.set(e,a),U=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(j(t,e)):F(t,e,a()),j(t,e)},W=(t,e,a,s,n=0)=>y((a?U:j)(t,e[n],n>v(e)-2?a:$),r=>{if(n>v(e)-2)return s?.(r)&&F(t,e[n]),r;const o=W(r,e,a,s,n+1);return V(r)&&F(t,e[n]),o}),q=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=r.crypto?t=>r.crypto.getRandomValues(t):t=>S(t,()=>o(256*i())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},I=(t,e)=>e?[t,e]:[t],K=(e,a)=>((e??t)>(a??t)?e:a)??t,Q=(t="")=>I(H(),t),X=/^\d+$/,Y=t=>new Set(d(t)||l(t)?t:[t]),Z=$(),tt=$(),et=(e,a,s,n,r,o,i,c={},g=0,w=[])=>{let f,S,C,m=0,L=0,P=0;U(Z,w,()=>0),U(tt,w,()=>[]);const _=$(),[H,D,T,N,z]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!O(t)||!O(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!O(t)||!O(e),e.setContent]:p("Store type not supported by this Persister"))(i,e,g),[R,J,q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?A(e):null)??t+a++,t=>{X.test(t)&&v(e)<1e3&&M(e,t)}]})(),n=$();return[(s,r,o,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,g;return F(n,l,[s,r,o,i,c]),u=W(r,o??[t],Y),g=l,u?.add(g),l},(a,s,...r)=>b(((e,a=[t])=>{const s=[],n=(t,e)=>e==v(a)?M(s,t):u(a[e])?k(t,t=>n(t,e+1)):b([a[e],null],a=>n(j(t,a),e+1));return n(e,0),s})(a,s),t=>k(t,t=>j(n,t)[0](e,...s??[],...r))),e=>y(j(n,e),([,a,r])=>(W(a,r??[t],void 0,t=>(x(t,e),V(t)?1:0)),F(n,e),s(e),r)),t=>y(j(n,t),([t,,a=[],s,n])=>{const r=(...o)=>{const i=v(o);i==v(a)?t(e,...o,...n(o)):u(a[i])?b(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),B=t=>{t!=m&&(m=t,J(_,void 0,m))},G=t=>{(H&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},I=async()=>{rt()&&e.__?.[0]?.()&&await at()},K=async t=>(2!=m&&(B(1),L++,await it(async()=>{await h(async()=>{const e=await a();d(e)?G(e):t?z(t):p("Content is not an array: "+e)},()=>{t&&z(t)}),B(0),await I()})),ct),Q=async t=>(et(),await K(t),await h(async()=>S=await n(async(t,e)=>{e||t?2!=m&&(B(1),L++,G(e??t),B(0),await I()):await K()}),o),ct),et=async()=>(S&&(await h(()=>r(S),o),S=void 0),ct),at=async t=>(1!=m&&(B(2),P++,await it(async()=>{await h(()=>s(D,t),o),B(0)})),ct),st=async()=>(nt(),await at(),C=e.addDidFinishTransactionListener(()=>{const t=T();N(t)&&at(t)}),ct),nt=async()=>(C&&(e.delListener(C),C=void 0),ct),rt=()=>!l(C),ot=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(M(j(tt,w),...t),await(async()=>{if(!j(Z,w)){for(F(Z,w,1);!l(f=A(j(tt,w)));)await h(f,o);F(Z,w,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:et,isAutoLoading:()=>!l(S),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,Q]:[Q,st];return await a(t),await s(t),ct},stopAutoPersisting:ot,getStatus:()=>m,addStatusListener:t=>R(t,_),delListener:t=>(q(t),e),schedule:it,getStore:()=>e,destroy:()=>(j(tt,w).splice(0,void 0),ot()),getStats:()=>({loads:L,saves:P}),...c};return E(ct)},at=async(e,a,s=1,n,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),c=((e,a,s,n,r,o,i,c,g={})=>{let d,w=0,v=0,p=0;const b=$(),S=()=>G(11),M=(t,e,s,n)=>{v++,o?.(t,e,s,n),a(t,e,s,n)},A=async(t,e,a,s)=>f((n,o)=>{const i=s+"."+G(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{x(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);F(b,i,[t,(t,e)=>{clearTimeout(c),x(b,i),n([t,e,s])}]),M(t,i,e,a)}),C=(t,[e,a])=>{D(e,([e,a],s)=>{const n=T(t[0],s,Q);D(e,([t,e],a)=>{const s=T(n[0],a,Q);D(t,([t,e],a)=>s[0][a]=I(t,e)),s[1]=K(s[1],e)}),n[1]=K(n[1],a)}),t[1]=K(t[1],a)},m=(a=null,s,n=S())=>h(async()=>{l(s)&&([s,a,n]=await A(null,1,t,n));const[r,o]=s,[i,c]=e.getMergeableContentHashes();let u=Q();if(i!=r){const[t,s]=(await A(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!O(s)){const[t,r]=(await A(a,5,e.getMergeableRowHashes(s),n))[0];if(C(u,t),!O(r)){const t=(await A(a,6,e.getMergeableCellHashes(r),n))[0];C(u,t)}}}return[u,c==o?Q():(await A(a,7,e.getMergeableValueHashes(),n))[0],1]},c),L=et(e,async()=>{const t=await m();return!t||O(t[0][0])&&O(t[1][0])?void 0:t},async(t,a)=>a?M(null,S(),3,a):M(null,S(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,c,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),n(),L),getSynchronizerStats:()=>({sends:v,receives:p}),...g},1);return s((t,a,s,n)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,s,n),0==s?y(j(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&r?m(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(c):3==s&&r?d?.(void 0,n):y(1==s&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...s)=>a.send(((e,...a)=>{return s=e??t,n=N(a,(t,e)=>l(e)?"":e),s+"\n"+n;var s,n})(e,...s)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var s,n,r;-1!==a&&(s=w(t,0,a),n=w(t,a+1),e(s,...(r=n,R(z(r)))))})(t))(e.toString("utf8"),t)),()=>{a.close()},s,n,r,o,{getWebSocket:()=>a});return f(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),s(),t(c)},a=i("open",()=>e()),s=i("error",e)}else t(c)})};export{at as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,f=t=>new a(t),p=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},b=(t,e)=>t.forEach(e),S=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,P=t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0),_=C.keys,E=C.freeze,H=(t=[])=>C.fromEntries(t),D=(t,e)=>b(L(t),([t,a])=>e(a,t)),O=t=>P(t)&&0==(t=>v(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),N=JSON.stringify,z=JSON.parse,R=t=>""===t?void 0:d(t)?S(t,R):P(t)?((t,e)=>H(((t,e)=>S(L(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>l(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),F=(t,e,a)=>l(a)?(x(t,e),t):t?.set(e,a),U=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(j(t,e)):F(t,e,a()),j(t,e)},W=(t,e,a,s,n=0)=>y((a?U:j)(t,e[n],n>v(e)-2?a:$),r=>{if(n>v(e)-2)return s?.(r)&&F(t,e[n]),r;const o=W(r,e,a,s,n+1);return V(r)&&F(t,e[n]),o}),q=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=r.crypto?t=>r.crypto.getRandomValues(t):t=>S(t,()=>o(256*i())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},I=(t,e)=>e?[t,e]:[t],K=(
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,o=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,g=n(c),y=n(l),d=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),v=t=>t.length,f=t=>new a(t),p=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},b=(t,e)=>t.forEach(e),S=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),C=Object,m=t=>C.getPrototypeOf(t),L=C.entries,P=t=>!c(t)&&g(m(t),t=>t==C.prototype||c(m(t)),()=>!0),_=C.keys,E=C.freeze,H=(t=[])=>C.fromEntries(t),D=(t,e)=>b(L(t),([t,a])=>e(a,t)),O=t=>P(t)&&0==(t=>v(_(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),N=JSON.stringify,z=JSON.parse,R=t=>""===t?void 0:d(t)?S(t,R):P(t)?((t,e)=>H(((t,e)=>S(L(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>l(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),F=(t,e,a)=>l(a)?(x(t,e),t):t?.set(e,a),U=(t,e,a,s)=>{var n,r;return n=t,r=e,n?.has(r)?s?.(j(t,e)):F(t,e,a()),j(t,e)},W=(t,e,a,s,n=0)=>y((a?U:j)(t,e[n],n>v(e)-2?a:$),r=>{if(n>v(e)-2)return s?.(r)&&F(t,e[n]),r;const o=W(r,e,a,s,n+1);return V(r)&&F(t,e[n]),o}),q=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=r.crypto?t=>r.crypto.getRandomValues(t):t=>S(t,()=>o(256*i())),G=(t=16)=>{return e=(t,e)=>t+q[63&e],B(new Uint8Array(t)).reduce(e,"");var e},I=(t,e)=>e?[t,e]:[t],K=(e,a)=>((e??t)>(a??t)?e:a)??t,Q=(t="")=>I(H(),t),X=/^\d+$/,Y=t=>new Set(d(t)||l(t)?t:[t]),Z=$(),tt=$(),et=(e,a,s,n,r,o,i,c={},g=0,w=[])=>{let f,S,C,m=0,L=0,P=0;U(Z,w,()=>0),U(tt,w,()=>[]);const _=$(),[H,D,T,N,z]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!O(t)||!O(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!O(t)||!O(e),e.setContent]:p("Store type not supported by this Persister"))(i,e,g),[R,J,q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?A(e):null)??t+a++,t=>{X.test(t)&&v(e)<1e3&&M(e,t)}]})(),n=$();return[(s,r,o,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,g;return F(n,l,[s,r,o,i,c]),u=W(r,o??[t],Y),g=l,u?.add(g),l},(a,s,...r)=>b(((e,a=[t])=>{const s=[],n=(t,e)=>e==v(a)?M(s,t):u(a[e])?k(t,t=>n(t,e+1)):b([a[e],null],a=>n(j(t,a),e+1));return n(e,0),s})(a,s),t=>k(t,t=>j(n,t)[0](e,...s??[],...r))),e=>y(j(n,e),([,a,r])=>(W(a,r??[t],void 0,t=>(x(t,e),V(t)?1:0)),F(n,e),s(e),r)),t=>y(j(n,t),([t,,a=[],s,n])=>{const r=(...o)=>{const i=v(o);i==v(a)?t(e,...o,...n(o)):u(a[i])?b(s[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),B=t=>{t!=m&&(m=t,J(_,void 0,m))},G=t=>{(H&&d(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},I=async()=>{rt()&&e.__?.[0]?.()&&await at()},K=async t=>(2!=m&&(B(1),L++,await it(async()=>{await h(async()=>{const e=await a();d(e)?G(e):t?z(t):p("Content is not an array: "+e)},()=>{t&&z(t)}),B(0),await I()})),ct),Q=async t=>(et(),await K(t),await h(async()=>S=await n(async(t,e)=>{e||t?2!=m&&(B(1),L++,G(e??t),B(0),await I()):await K()}),o),ct),et=async()=>(S&&(await h(()=>r(S),o),S=void 0),ct),at=async t=>(1!=m&&(B(2),P++,await it(async()=>{await h(()=>s(D,t),o),B(0)})),ct),st=async()=>(nt(),await at(),C=e.addDidFinishTransactionListener(()=>{const t=T();N(t)&&at(t)}),ct),nt=async()=>(C&&(e.delListener(C),C=void 0),ct),rt=()=>!l(C),ot=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(M(j(tt,w),...t),await(async()=>{if(!j(Z,w)){for(F(Z,w,1);!l(f=A(j(tt,w)));)await h(f,o);F(Z,w,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:et,isAutoLoading:()=>!l(S),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,Q]:[Q,st];return await a(t),await s(t),ct},stopAutoPersisting:ot,getStatus:()=>m,addStatusListener:t=>R(t,_),delListener:t=>(q(t),e),schedule:it,getStore:()=>e,destroy:()=>(j(tt,w).splice(0,void 0),ot()),getStats:()=>({loads:L,saves:P}),...c};return E(ct)},at=async(e,a,s=1,n,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),c=((e,a,s,n,r,o,i,c,g={})=>{let d,w=0,v=0,p=0;const b=$(),S=()=>G(11),M=(t,e,s,n)=>{v++,o?.(t,e,s,n),a(t,e,s,n)},A=async(t,e,a,s)=>f((n,o)=>{const i=s+"."+G(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{x(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);F(b,i,[t,(t,e)=>{clearTimeout(c),x(b,i),n([t,e,s])}]),M(t,i,e,a)}),C=(t,[e,a])=>{D(e,([e,a],s)=>{const n=T(t[0],s,Q);D(e,([t,e],a)=>{const s=T(n[0],a,Q);D(t,([t,e],a)=>s[0][a]=I(t,e)),s[1]=K(s[1],e)}),n[1]=K(n[1],a)}),t[1]=K(t[1],a)},m=(a=null,s,n=S())=>h(async()=>{l(s)&&([s,a,n]=await A(null,1,t,n));const[r,o]=s,[i,c]=e.getMergeableContentHashes();let u=Q();if(i!=r){const[t,s]=(await A(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!O(s)){const[t,r]=(await A(a,5,e.getMergeableRowHashes(s),n))[0];if(C(u,t),!O(r)){const t=(await A(a,6,e.getMergeableCellHashes(r),n))[0];C(u,t)}}}return[u,c==o?Q():(await A(a,7,e.getMergeableValueHashes(),n))[0],1]},c),L=et(e,async()=>{const t=await m();return!t||O(t[0][0])&&O(t[1][0])?void 0:t},async(t,a)=>a?M(null,S(),3,a):M(null,S(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,c,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),n(),L),getSynchronizerStats:()=>({sends:v,receives:p}),...g},1);return s((t,a,s,n)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,s,n),0==s?y(j(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&r?m(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(c):3==s&&r?d?.(void 0,n):y(1==s&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...s)=>a.send(((e,...a)=>{return s=e??t,n=N(a,(t,e)=>l(e)?"":e),s+"\n"+n;var s,n})(e,...s)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var s,n,r;-1!==a&&(s=w(t,0,a),n=w(t,a+1),e(s,...(r=n,R(z(r)))))})(t))(e.toString("utf8"),t)),()=>{a.close()},s,n,r,o,{getWebSocket:()=>a});return f(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),s(),t(c)},a=i("open",()=>e()),s=i("error",e)}else t(c)})};export{at as createWsSynchronizer};
|
|
Binary file
|