tinybase 7.3.1 → 7.3.3
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/mergeable-store/with-schemas/index.d.ts +1 -1
- 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-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-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-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/index.js +1 -1
- package/min/persisters/persister-partykit-server/index.js.gz +0 -0
- package/min/persisters/persister-partykit-server/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-server/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-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/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/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/omni/index.js +21 -9
- package/omni/with-schemas/index.js +21 -9
- package/package.json +18 -18
- package/persisters/index.js +10 -1
- package/persisters/persister-browser/index.js +17 -1
- package/persisters/persister-browser/with-schemas/index.js +17 -1
- package/persisters/persister-cr-sqlite-wasm/index.js +10 -1
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +10 -1
- package/persisters/persister-durable-object-sql-storage/index.js +10 -1
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +10 -1
- package/persisters/persister-durable-object-storage/index.js +5 -6
- package/persisters/persister-durable-object-storage/with-schemas/index.js +5 -6
- package/persisters/persister-electric-sql/index.js +10 -1
- package/persisters/persister-electric-sql/with-schemas/index.js +10 -1
- package/persisters/persister-expo-sqlite/index.js +10 -1
- package/persisters/persister-expo-sqlite/with-schemas/index.js +10 -1
- package/persisters/persister-file/index.js +17 -1
- package/persisters/persister-file/with-schemas/index.js +17 -1
- package/persisters/persister-libsql/index.js +10 -1
- package/persisters/persister-libsql/with-schemas/index.js +10 -1
- package/persisters/persister-partykit-client/index.js +27 -2
- package/persisters/persister-partykit-client/with-schemas/index.js +27 -2
- package/persisters/persister-partykit-server/index.js +37 -2
- package/persisters/persister-partykit-server/with-schemas/index.js +37 -2
- package/persisters/persister-pglite/index.js +10 -1
- package/persisters/persister-pglite/with-schemas/index.js +10 -1
- package/persisters/persister-postgres/index.js +10 -1
- package/persisters/persister-postgres/with-schemas/index.js +10 -1
- package/persisters/persister-powersync/index.js +10 -1
- package/persisters/persister-powersync/with-schemas/index.js +10 -1
- package/persisters/persister-react-native-sqlite/index.js +10 -1
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +10 -1
- package/persisters/persister-sqlite-bun/index.js +10 -1
- package/persisters/persister-sqlite-bun/with-schemas/index.js +10 -1
- package/persisters/persister-sqlite-wasm/index.js +10 -1
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +10 -1
- package/persisters/persister-sqlite3/index.js +10 -1
- package/persisters/persister-sqlite3/with-schemas/index.js +10 -1
- package/persisters/with-schemas/index.js +10 -1
- package/readme.md +10 -2
- package/releases.md +1 -1
- package/synchronizers/synchronizer-ws-client/index.js +14 -1
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +14 -1
- package/synchronizers/synchronizer-ws-server/index.js +14 -1
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +14 -1
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +14 -1
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +14 -1
- package/ui-react-inspector/index.js +10 -1
- package/ui-react-inspector/with-schemas/index.js +10 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",o=(a,t,e)=>a.replace(t,e),r=Promise,c=a=>(t,e,n)=>a(t)?n?.():e(t),l=clearInterval,w=a=>null==a,u=a=>void 0===a,y=a=>null===a,d=c(w),p=c(u),g=t=>a(t)==s,v=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),A=a=>a.length,m=()=>{},N=async a=>r.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},h=(a,t)=>a.forEach(t),b=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),T=a=>0==A(a),O=(a,t)=>a.filter(t),D=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,L=a=>u(a)||0==(a=>a?.size??0)(a),R=a=>[...a?.values()??[]],_=(a,t)=>a?.forEach(t),M=(a,t)=>a?.delete(t),P="_",F="_id",j="SELECT",k="WHERE",U="TABLE",x="ALTER "+U,B="FROM",J="DELETE "+B,Y=j+"*"+B,q="pragma_",z="data_version",G="schema_version",H="pragma_table_",V="CREATE "+U,K=a=>b(C(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${o(a,/"/g,'""')}"`),"."),Q=(a,t=[1])=>b(C(a,()=>"$"+t[0]++),n),W=(a,t=i)=>k+`(${o(t,"$tableName",K(a))})`,X=Object,Z=a=>X.getPrototypeOf(a),aa=X.entries,ta=X.
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",o=(a,t,e)=>a.replace(t,e),r=Promise,c=a=>(t,e,n)=>a(t)?n?.():e(t),l=clearInterval,w=a=>null==a,u=a=>void 0===a,y=a=>null===a,d=c(w),p=c(u),g=t=>a(t)==s,v=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),A=a=>a.length,m=()=>{},N=async a=>r.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},h=(a,t)=>a.forEach(t),b=(a,t="")=>a.join(t),C=(a,t)=>a.map(t),T=a=>0==A(a),O=(a,t)=>a.filter(t),D=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,L=a=>u(a)||0==(a=>a?.size??0)(a),R=a=>[...a?.values()??[]],_=(a,t)=>a?.forEach(t),M=(a,t)=>a?.delete(t),P="_",F="_id",j="SELECT",k="WHERE",U="TABLE",x="ALTER "+U,B="FROM",J="DELETE "+B,Y=j+"*"+B,q="pragma_",z="data_version",G="schema_version",H="pragma_table_",V="CREATE "+U,K=a=>b(C(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${o(a,/"/g,'""')}"`),"."),Q=(a,t=[1])=>b(C(a,()=>"$"+t[0]++),n),W=(a,t=i)=>k+`(${o(t,"$tableName",K(a))})`,X=Object,Z=a=>X.getPrototypeOf(a),aa=X.entries,ta=a=>!w(a)&&d(Z(a),a=>a==X.prototype||w(Z(a)),()=>!0),ea=X.keys,na=X.freeze,sa=(a=[])=>X.fromEntries(a),ia=(...a)=>X.assign({},...a),oa=(a,t)=>(delete a[t],a),ra=(a,t)=>C(aa(a),([a,e])=>t(e,a)),ca=(a,t)=>sa(ra(a,(a,e)=>[e,t(a,e)])),la=a=>X.values(a),wa=a=>A(ea(a)),ua=a=>ta(a)&&0==wa(a),ya=a=>new Map(a),da=(a,t)=>a?.get(t),pa=(a,t)=>C([...a?.entries()??[]],([a,e])=>t(e,a)),ga=(a,t,e)=>u(e)?(M(a,t),a):a?.set(t,e),va=(a,t,e,n)=>(S(a,t)?n?.(da(a,t)):ga(a,t,e()),da(a,t)),Ea=(a,t,e,n,s=0)=>p((e?va:da)(a,t[s],s>A(t)-2?e:ya),i=>{if(s>A(t)-2)return n?.(i)&&ga(a,t[s]),i;const o=Ea(i,t,e,n,s+1);return L(i)&&ga(a,t[s]),o}),Aa=a=>new Set(v(a)||u(a)?a:[a]),ma=(a,t)=>a?.add(t),Na="ColumnName",$a="store",fa="json",ha=$a+"TableName",ba=$a+"Id"+Na,Ca=$a+Na,Ta="autoLoadIntervalSeconds",Oa="rowId"+Na,Da="tableId",Ia="tableName",Sa="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",_a={mode:fa,[Ta]:1},Ma={load:0,save:0,[Ia]:t+"_values"},Pa=(a,t,e,n,s)=>{const i=ya();return ca(a,(a,o)=>{const r=E(la(ia(t,g(a)?{[e]:a}:a)),0,wa(t));y(r[0])||n(o,r[0])||(s(o,r[0]),ga(i,o,r))}),i},Fa=JSON.stringify,ja=JSON.parse,ka=a=>""===a?void 0:v(a)?C(a,ka):ta(a)?ca(a,ka):a,Ua=/^\d+$/,xa=ya(),Ba=ya(),Ja=(a,t,n,s,i,o,r,c={},l=0,w=[])=>{let d,g,E,m=0,N=0,b=0;va(xa,w,()=>0),va(Ba,w,()=>[]);const C=ya(),[T,O,S,R,P]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!ua(a)||!ua(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!ua(a)||!ua(t),t.setContent]:$("Store type not supported by this Persister"))(r,a,l),[F,j,k]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?I(a):null)??e+t++,t=>{Ua.test(t)&&A(a)<1e3&&D(a,t)}]})(),s=ya();return[(n,i,o,r=[],c=()=>[])=>{a??=K;const l=t(1);return ga(s,l,[n,i,o,r,c]),ma(Ea(i,o??[e],Aa),l),l},(t,n,...i)=>h(((a,t=[e])=>{const n=[],s=(a,e)=>e==A(t)?D(n,a):y(t[e])?_(a,a=>s(a,e+1)):h([t[e],null],t=>s(da(a,t),e+1));return s(a,0),n})(t,n),t=>_(t,t=>da(s,t)[0](a,...n??[],...i))),a=>p(da(s,a),([,t,i])=>(Ea(t,i??[e],void 0,t=>(M(t,a),L(t)?1:0)),ga(s,a),n(a),i)),t=>p(da(s,t),([t,,e=[],n,s])=>{const i=(...o)=>{const r=A(o);r==A(e)?t(a,...o,...s(o)):y(e[r])?h(n[r]?.(...o)??[],a=>i(...o,a)):i(...o,e[r])};i()})]})(),U=a=>{a!=m&&(m=a,j(C,void 0,m))},x=t=>{(T&&v(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=m&&(U(1),N++,await V(async()=>{await f(async()=>{const e=await t();v(e)?x(e):a?P(a):$("Content is not an array: "+e)},()=>{a&&P(a)}),U(0)})),K),J=async a=>(Y(),await B(a),await f(async()=>g=await s(async(a,t)=>{t||a?2!=m&&(U(1),N++,x(t??a),U(0)):await B()}),o),K),Y=async()=>(g&&(await f(()=>i(g),o),g=void 0),K),q=async a=>(1!=m&&(U(2),b++,await V(async()=>{await f(()=>n(O,a),o),U(0)})),K),z=async()=>(G(),await q(),E=a.addDidFinishTransactionListener(()=>{const a=S();R(a)&&q(a)}),K),G=async()=>(E&&(a.delListener(E),E=void 0),K),H=async(a=!1)=>{const[t,e]=a?[G,Y]:[Y,G];return await t(),await e(),K},V=async(...a)=>(D(da(Ba,w),...a),await(async()=>{if(!da(xa,w)){for(ga(xa,w,1);!u(d=I(da(Ba,w)));)await f(d,o);ga(xa,w,0)}})(),K),K={load:B,startAutoLoad:J,stopAutoLoad:Y,isAutoLoading:()=>!u(g),save:q,startAutoSave:z,stopAutoSave:G,isAutoSaving:()=>!u(E),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[z,J]:[J,z];return await e(a),await n(a),K},stopAutoPersisting:H,getStatus:()=>m,addStatusListener:a=>F(a,C),delListener:t=>(k(t),a),schedule:V,getStore:()=>a,destroy:()=>(da(Ba,w).splice(0,void 0),H()),getStats:()=>({loads:N,saves:b}),...c};return na(K)},Ya=(a,t,e,s,o,r=qa,c,l)=>{const w=ya();return[async()=>{w.clear(),C(await e(a,t),({tn:a,cn:t})=>ma(va(w,a,Aa),t))},async(t,e,n)=>((a,t)=>S(da(w,a),t))(t,e)?sa(O(C(await a(Y+K(t)+W(t,n)),a=>[a[e],l?ca(oa(a,e),l):oa(a,e)]),([a,t])=>!u(a)&&!ua(t))):{},async(t,e,s,l,y,d=!1,p=i)=>{const g=Aa();ca(s??{},a=>C(ea(a??{}),a=>ma(g,a)));const v=R(g);if(!d&&y&&p==i&&T(v)&&S(w,t))return await a("DROP "+U+K(t)),void ga(w,t);const E=da(w,t),A=Aa(R(E));if(T(v)||(S(w,t)?await N(C([e,...v],async(n,s)=>{M(A,n)||(await a(x+K(t)+"ADD"+K(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+K(t)+`(${K(e)})`),ma(E,n))})):(await a(V+K(t)+`(${K(e)}${o} PRIMARY KEY${b(C(v,a=>n+K(a)+o))});`),ga(w,t,Aa([e,...v])))),await N([...!d&&l?C(R(A),async n=>{n!=e&&(await a(x+K(t)+"DROP"+K(n)),M(E,n))}):[]]),d)u(s)?await a(J+K(t)+W(t,p)):await N(ra(s,async(n,s)=>{u(n)?await a(J+K(t)+W(t,p)+`AND(${K(e)}=$1)`,[s]):T(v)||await r(a,t,e,ea(n),{[s]:c?C(la(n),c):la(n)},E)}));else if(T(v))S(w,t)&&await a(J+K(t)+W(t,p));else{const n=O(R(da(w,t)),a=>a!=e),i={},o=[];ca(s??{},(a,t)=>{i[t]=C(n,t=>c?c(a?.[t]):a?.[t]),D(o,t)}),await r(a,t,e,n,i),await a(J+K(t)+W(t,p)+`AND${K(e)}NOT IN(${Q(o)})`,o)}},async t=>{let e;return await a("BEGIN"),await f(async()=>e=await t(),s),await a("END"),e}]},qa=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+K(t)+"("+((...a)=>b(C(a,K),n))(e,...s)+")VALUES"+b(ra(i,a=>"($"+o[0]+++","+Q(a,o)+")"),n)+"ON CONFLICT("+K(e)+")DO UPDATE SET"+b(C(s,a=>K(a)+"=excluded."+K(a)),n),ra(i,(a,t)=>[t,...C(a,a=>a??null)]).flat())},za=(a,t,e,n,s,i,o,[r,c,l],w,y,d,p,g,v)=>{const[E,A,m,N]=Ya(t,w,y,s,g,v),$=Ja(a,()=>N(async()=>{return await E(),a=(await A(r,c))[P]?.[l]??"null",ka(ja(a));var a}),a=>N(async()=>{var t;await E(),await m(r,c,{[P]:{[l]:(t=a()??null,Fa(t,(a,t)=>u(t)?"":t))}},!0,!0)}),e,n,s,o,{[p]:()=>d,destroy:async()=>(await $.stopAutoPersisting(),i(),$)},0,d);return $},Ga=(a,t,e,n,s,i,o,[r,c,[l,w,y]],d,p,g,v,E,A,m,$)=>{const[f,h,b,C]=Ya(t,d,p,s,E,A,m,$),T=(a,t)=>N(pa(c,async([e,n,s,i,o],r)=>{t&&!(r in a)||await b(e,n,a[r],s,i,t,o)})),D=async(a,t)=>w?await b(y,F,{[P]:a},!0,!0,t):null,I=Ja(a,()=>C(async()=>{await f();const a=await(async()=>sa(O(await N(pa(r,async([a,t,e],n)=>[a,await h(n,t,e)])),a=>!ua(a[1]))))(),t=await(async()=>l?(await h(y,F))[P]:{})();return ua(a)&&u(t)?void 0:[a,t]}),(a,t)=>C(async()=>{if(await f(),u(t)){const[t,e]=a();await T(t),await D(e)}else await T(t[0],!0),await D(t[1],!0)}),e,n,s,o,{[v]:()=>g,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,g);return I},Ha=(a,n,s,o,r,c,u,y,d,p,v="getDb",A)=>{let m,N,$;const h=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[b,C,T,O]=(a=>{const e=(a=>ia(_a,g(a)?{[ha]:a}:a??{}))(a),n=e[Ta];if(e.mode==fa){const a=e[ha]??t;return[1,n,[a,e[ba]??F,e[Ca]??$a],Aa(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,c=E(la(ia(Ma,r)),0,wa(Ma)),l=c[2],w=Aa(l),u=Aa(l),y=Pa(s,{[Da]:null,[Oa]:F,[Ra]:i},Da,a=>S(u,a),a=>ma(w,a)),d=Pa(o,{[Ia]:null,[Oa]:F,[Sa]:0,[La]:0,[Ra]:null},Ia,(a,t)=>S(u,t),(a,t)=>ma(w,t));var p;return p=(a,t)=>t[4]??=da(y,t[0])?.[2]??i,_(d,(a,t)=>p(0,a)),[0,n,[y,d,c],w]})(n);return(b?za:Ga)(a,h,a=>{let t;const e=()=>t=setInterval(()=>f(async()=>{const[{d:t,s:e,c:n}]=await h(j+` ${z} d,${G} s,TOTAL_CHANGES() c FROM ${q}${z} JOIN ${q}${G}`);t==m&&e==N&&n==$||(w(m)||a(),m=t,N=e,$=n)}),1e3*C),n=()=>{m=N=$=null,l(t)},s=o(t=>{O.has(t)&&(n(),a(),e())});return e(),()=>{n(),r(s)}},a=>a(),u,y,d,T,R(O),async(a,t)=>await a(j+` t.name tn,c.name cn FROM ${H}list()t,${H}info(t.name)c ${k} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Q(t)})ORDER BY t.name,c.name`,t),p,v,e,A,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},Va=(a,t,e,n,s,i)=>Ha(a,n,async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map(a=>({...a})),a=>t.capi.sqlite3_update_hook(e,(t,e,n,s)=>a(s),0),()=>t.capi.sqlite3_update_hook(e,m,0),s,i,m,3,e);export{Va as createSqliteWasmPersister};
|
|
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,u=a=>void 0===a,y=a=>null===a,d=c(w),g=c(u),v=t=>a(t)==s,p=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),A=a=>a.length,N=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},h=(a,t)=>a.forEach(t),C=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),O=a=>0==A(a),b=(a,t)=>a.filter(t),D=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,L=a=>u(a)||0==(a=>a?.size??0)(a),R=a=>[...a?.values()??[]],P=(a,t)=>a?.forEach(t),M=(a,t)=>a?.delete(t),_="_",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=>C(T(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>C(T(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=q.
|
|
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,u=a=>void 0===a,y=a=>null===a,d=c(w),g=c(u),v=t=>a(t)==s,p=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),A=a=>a.length,N=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},h=(a,t)=>a.forEach(t),C=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),O=a=>0==A(a),b=(a,t)=>a.filter(t),D=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,L=a=>u(a)||0==(a=>a?.size??0)(a),R=a=>[...a?.values()??[]],P=(a,t)=>a?.forEach(t),M=(a,t)=>a?.delete(t),_="_",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=>C(T(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>C(T(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)=>T(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=>A(ea(a)),ua=a=>ta(a)&&0==wa(a),ya=a=>new Map(a),da=(a,t)=>a?.get(t),ga=(a,t)=>T([...a?.entries()??[]],([a,e])=>t(e,a)),va=(a,t,e)=>u(e)?(M(a,t),a):a?.set(t,e),pa=(a,t,e,n)=>(S(a,t)?n?.(da(a,t)):va(a,t,e()),da(a,t)),Ea=(a,t,e,n,s=0)=>g((e?pa:da)(a,t[s],s>A(t)-2?e:ya),i=>{if(s>A(t)-2)return n?.(i)&&va(a,t[s]),i;const r=Ea(i,t,e,n,s+1);return L(i)&&va(a,t[s]),r}),Aa=a=>new Set(p(a)||u(a)?a:[a]),Na=(a,t)=>a?.add(t),ma="ColumnName",$a="store",fa="json",ha=$a+"TableName",Ca=$a+"Id"+ma,Ta=$a+ma,Oa="autoLoadIntervalSeconds",ba="rowId"+ma,Da="tableId",Ia="tableName",Sa="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",Pa={mode:fa,[Oa]:1},Ma={load:0,save:0,[Ia]:t+"_values"},_a=(a,t,e,n,s)=>{const i=ya();return ca(a,(a,r)=>{const o=E(la(ia(t,v(a)?{[e]:a}:a)),0,wa(t));y(o[0])||n(r,o[0])||(s(r,o[0]),va(i,r,o))}),i},Fa=JSON.stringify,Ua=JSON.parse,ja=a=>""===a?void 0:p(a)?T(a,ja):ta(a)?ca(a,ja):a,Ba=/^\d+$/,Ja=ya(),Ya=ya(),ka=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let d,v,E,N=0,m=0,C=0;pa(Ja,w,()=>0),pa(Ya,w,()=>[]);const T=ya(),[O,b,S,R,_]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!ua(a)||!ua(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!ua(a)||!ua(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?I(a):null)??e+t++,t=>{Ba.test(t)&&A(a)<1e3&&D(a,t)}]})(),s=ya();return[(n,i,r,o=[],c=()=>[])=>{a??=V;const l=t(1);return va(s,l,[n,i,r,o,c]),Na(Ea(i,r??[e],Aa),l),l},(t,n,...i)=>h(((a,t=[e])=>{const n=[],s=(a,e)=>e==A(t)?D(n,a):y(t[e])?P(a,a=>s(a,e+1)):h([t[e],null],t=>s(da(a,t),e+1));return s(a,0),n})(t,n),t=>P(t,t=>da(s,t)[0](a,...n??[],...i))),a=>g(da(s,a),([,t,i])=>(Ea(t,i??[e],void 0,t=>(M(t,a),L(t)?1:0)),va(s,a),n(a),i)),t=>g(da(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=A(r);o==A(e)?t(a,...r,...s(r)):y(e[o])?h(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),B=a=>{a!=N&&(N=a,U(T,void 0,N))},J=t=>{(O&&p(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async a=>(2!=N&&(B(1),m++,await Q(async()=>{await f(async()=>{const e=await t();p(e)?J(e):a?_(a):$("Content is not an array: "+e)},()=>{a&&_(a)}),B(0)})),V),k=async a=>(x(),await Y(a),await f(async()=>v=await s(async(a,t)=>{t||a?2!=N&&(B(1),m++,J(t??a),B(0)):await Y()}),r),V),x=async()=>(v&&(await f(()=>i(v),r),v=void 0),V),z=async a=>(1!=N&&(B(2),C++,await Q(async()=>{await f(()=>n(b,a),r),B(0)})),V),G=async()=>(H(),await z(),E=a.addDidFinishTransactionListener(()=>{const a=S();R(a)&&z(a)}),V),H=async()=>(E&&(a.delListener(E),E=void 0),V),K=async(a=!1)=>{const[t,e]=a?[H,x]:[x,H];return await t(),await e(),V},Q=async(...a)=>(D(da(Ya,w),...a),await(async()=>{if(!da(Ja,w)){for(va(Ja,w,1);!u(d=I(da(Ya,w)));)await f(d,r);va(Ja,w,0)}})(),V),V={load:Y,startAutoLoad:k,stopAutoLoad:x,isAutoLoading:()=>!u(v),save:z,startAutoSave:G,stopAutoSave:H,isAutoSaving:()=>!u(E),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[G,k]:[k,G];return await e(a),await n(a),V},stopAutoPersisting:K,getStatus:()=>N,addStatusListener:a=>F(a,T),delListener:t=>(j(t),a),schedule:Q,getStore:()=>a,destroy:()=>(da(Ya,w).splice(0,void 0),K()),getStats:()=>({loads:m,saves:C}),...c};return na(V)},xa=(a,t,e,s,r,o=za,c,l)=>{const w=ya();return[async()=>{w.clear(),T(await e(a,t),({tn:a,cn:t})=>Na(pa(w,a,Aa),t))},async(t,e,n)=>((a,t)=>S(da(w,a),t))(t,e)?sa(b(T(await a(x+V(t)+X(t,n)),a=>[a[e],l?ca(ra(a,e),l):ra(a,e)]),([a,t])=>!u(a)&&!ua(t))):{},async(t,e,s,l,y,d=!1,g=i)=>{const v=Aa();ca(s??{},a=>T(ea(a??{}),a=>Na(v,a)));const p=R(v);if(!d&&y&&g==i&&O(p)&&S(w,t))return await a("DROP "+B+V(t)),void va(w,t);const E=da(w,t),A=Aa(R(E));if(O(p)||(S(w,t)?await m(T([e,...p],async(n,s)=>{M(A,n)||(await a(J+V(t)+"ADD"+V(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+V(t)+`(${V(e)})`),Na(E,n))})):(await a(Q+V(t)+`(${V(e)}${r} PRIMARY KEY${C(T(p,a=>n+V(a)+r))});`),va(w,t,Aa([e,...p])))),await m([...!d&&l?T(R(A),async n=>{n!=e&&(await a(J+V(t)+"DROP"+V(n)),M(E,n))}):[]]),d)u(s)?await a(k+V(t)+X(t,g)):await m(oa(s,async(n,s)=>{u(n)?await a(k+V(t)+X(t,g)+`AND(${V(e)}=$1)`,[s]):O(p)||await o(a,t,e,ea(n),{[s]:c?T(la(n),c):la(n)},E)}));else if(O(p))S(w,t)&&await a(k+V(t)+X(t,g));else{const n=b(R(da(w,t)),a=>a!=e),i={},r=[];ca(s??{},(a,t)=>{i[t]=T(n,t=>c?c(a?.[t]):a?.[t]),D(r,t)}),await o(a,t,e,n,i),await a(k+V(t)+X(t,g)+`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}]},za=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+V(t)+"("+((...a)=>C(T(a,V),n))(e,...s)+")VALUES"+C(oa(i,a=>"($"+r[0]+++","+W(a,r)+")"),n)+"ON CONFLICT("+V(e)+")DO UPDATE SET"+C(T(s,a=>V(a)+"=excluded."+V(a)),n),oa(i,(a,t)=>[t,...T(a,a=>a??null)]).flat())},Ga=(a,t,e,n,s,i,r,[o,c,l],w,y,d,g,v,p)=>{const[E,A,N,m]=xa(t,w,y,s,v,p),$=ka(a,()=>m(async()=>{return await E(),a=(await A(o,c))[_]?.[l]??"null",ja(Ua(a));var a}),a=>m(async()=>{var t;await E(),await N(o,c,{[_]:{[l]:(t=a()??null,Fa(t,(a,t)=>u(t)?"":t))}},!0,!0)}),e,n,s,r,{[g]:()=>d,destroy:async()=>(await $.stopAutoPersisting(),i(),$)},0,d);return $},Ha=(a,t,e,n,s,i,r,[o,c,[l,w,y]],d,g,v,p,E,A,N,$)=>{const[f,h,C,T]=xa(t,d,g,s,E,A,N,$),O=(a,t)=>m(ga(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await C(e,n,a[o],s,i,t,r)})),D=async(a,t)=>w?await C(y,F,{[_]:a},!0,!0,t):null,I=ka(a,()=>T(async()=>{await f();const a=await(async()=>sa(b(await m(ga(o,async([a,t,e],n)=>[a,await h(n,t,e)])),a=>!ua(a[1]))))(),t=await(async()=>l?(await h(y,F))[_]:{})();return ua(a)&&u(t)?void 0:[a,t]}),(a,t)=>T(async()=>{if(await f(),u(t)){const[t,e]=a();await O(t),await D(e)}else await O(t[0],!0),await D(t[1],!0)}),e,n,s,r,{[p]:()=>v,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,v);return I},Ka=(a,n,s,r,o,c,u,y,d,g,p="getDb",A)=>{let N,m,$;const h=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[C,T,O,b]=(a=>{const e=(a=>ia(Pa,v(a)?{[ha]:a}:a??{}))(a),n=e[Oa];if(e.mode==fa){const a=e[ha]??t;return[1,n,[a,e[Ca]??F,e[Ta]??$a],Aa(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=E(la(ia(Ma,o)),0,wa(Ma)),l=c[2],w=Aa(l),u=Aa(l),y=_a(s,{[Da]:null,[ba]:F,[Ra]:i},Da,a=>S(u,a),a=>Na(w,a)),d=_a(r,{[Ia]:null,[ba]:F,[Sa]:0,[La]:0,[Ra]:null},Ia,(a,t)=>S(u,t),(a,t)=>Na(w,t));var g;return g=(a,t)=>t[4]??=da(y,t[0])?.[2]??i,P(d,(a,t)=>g(0,a)),[0,n,[y,d,c],w]})(n);return(C?Ga:Ha)(a,h,a=>{let t;const e=()=>t=setInterval(()=>f(async()=>{const[{d:t,s:e,c:n}]=await h(U+` ${G} d,${H} s,TOTAL_CHANGES() c FROM ${z}${G} JOIN ${z}${H}`);t==N&&e==m&&n==$||(w(N)||a(),N=t,m=e,$=n)}),1e3*T),n=()=>{N=m=$=null,l(t)},s=r(t=>{b.has(t)&&(n(),a(),e())});return e(),()=>{n(),o(s)}},a=>a(),u,y,d,O,R(b),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),g,p,e,A,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},Qa="change",Va=(a,t,e,n,s)=>Ka(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(Qa,e),e},a=>t.off(Qa,a),n,s,N,3,t);export{Va 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,u=a=>void 0===a,y=a=>null===a,d=c(w),g=c(u),v=t=>a(t)==s,p=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),A=a=>a.length,N=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},h=(a,t)=>a.forEach(t),C=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),O=a=>0==A(a),b=(a,t)=>a.filter(t),D=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,L=a=>u(a)||0==(a=>a?.size??0)(a),R=a=>[...a?.values()??[]],P=(a,t)=>a?.forEach(t),M=(a,t)=>a?.delete(t),_="_",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=>C(T(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>C(T(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=q.
|
|
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,u=a=>void 0===a,y=a=>null===a,d=c(w),g=c(u),v=t=>a(t)==s,p=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),A=a=>a.length,N=()=>{},m=async a=>o.all(a),$=a=>{throw Error(a)},f=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},h=(a,t)=>a.forEach(t),C=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),O=a=>0==A(a),b=(a,t)=>a.filter(t),D=(a,...t)=>a.push(...t),I=a=>a.shift(),S=(a,t)=>a?.has(t)??!1,L=a=>u(a)||0==(a=>a?.size??0)(a),R=a=>[...a?.values()??[]],P=(a,t)=>a?.forEach(t),M=(a,t)=>a?.delete(t),_="_",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=>C(T(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),W=(a,t=[1])=>C(T(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)=>T(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=>A(ea(a)),ua=a=>ta(a)&&0==wa(a),ya=a=>new Map(a),da=(a,t)=>a?.get(t),ga=(a,t)=>T([...a?.entries()??[]],([a,e])=>t(e,a)),va=(a,t,e)=>u(e)?(M(a,t),a):a?.set(t,e),pa=(a,t,e,n)=>(S(a,t)?n?.(da(a,t)):va(a,t,e()),da(a,t)),Ea=(a,t,e,n,s=0)=>g((e?pa:da)(a,t[s],s>A(t)-2?e:ya),i=>{if(s>A(t)-2)return n?.(i)&&va(a,t[s]),i;const r=Ea(i,t,e,n,s+1);return L(i)&&va(a,t[s]),r}),Aa=a=>new Set(p(a)||u(a)?a:[a]),Na=(a,t)=>a?.add(t),ma="ColumnName",$a="store",fa="json",ha=$a+"TableName",Ca=$a+"Id"+ma,Ta=$a+ma,Oa="autoLoadIntervalSeconds",ba="rowId"+ma,Da="tableId",Ia="tableName",Sa="deleteEmptyColumns",La="deleteEmptyTable",Ra="condition",Pa={mode:fa,[Oa]:1},Ma={load:0,save:0,[Ia]:t+"_values"},_a=(a,t,e,n,s)=>{const i=ya();return ca(a,(a,r)=>{const o=E(la(ia(t,v(a)?{[e]:a}:a)),0,wa(t));y(o[0])||n(r,o[0])||(s(r,o[0]),va(i,r,o))}),i},Fa=JSON.stringify,Ua=JSON.parse,ja=a=>""===a?void 0:p(a)?T(a,ja):ta(a)?ca(a,ja):a,Ba=/^\d+$/,Ja=ya(),Ya=ya(),ka=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let d,v,E,N=0,m=0,C=0;pa(Ja,w,()=>0),pa(Ya,w,()=>[]);const T=ya(),[O,b,S,R,_]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!ua(a)||!ua(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!ua(a)||!ua(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?I(a):null)??e+t++,t=>{Ba.test(t)&&A(a)<1e3&&D(a,t)}]})(),s=ya();return[(n,i,r,o=[],c=()=>[])=>{a??=V;const l=t(1);return va(s,l,[n,i,r,o,c]),Na(Ea(i,r??[e],Aa),l),l},(t,n,...i)=>h(((a,t=[e])=>{const n=[],s=(a,e)=>e==A(t)?D(n,a):y(t[e])?P(a,a=>s(a,e+1)):h([t[e],null],t=>s(da(a,t),e+1));return s(a,0),n})(t,n),t=>P(t,t=>da(s,t)[0](a,...n??[],...i))),a=>g(da(s,a),([,t,i])=>(Ea(t,i??[e],void 0,t=>(M(t,a),L(t)?1:0)),va(s,a),n(a),i)),t=>g(da(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=A(r);o==A(e)?t(a,...r,...s(r)):y(e[o])?h(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),B=a=>{a!=N&&(N=a,U(T,void 0,N))},J=t=>{(O&&p(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},Y=async a=>(2!=N&&(B(1),m++,await Q(async()=>{await f(async()=>{const e=await t();p(e)?J(e):a?_(a):$("Content is not an array: "+e)},()=>{a&&_(a)}),B(0)})),V),k=async a=>(x(),await Y(a),await f(async()=>v=await s(async(a,t)=>{t||a?2!=N&&(B(1),m++,J(t??a),B(0)):await Y()}),r),V),x=async()=>(v&&(await f(()=>i(v),r),v=void 0),V),z=async a=>(1!=N&&(B(2),C++,await Q(async()=>{await f(()=>n(b,a),r),B(0)})),V),G=async()=>(H(),await z(),E=a.addDidFinishTransactionListener(()=>{const a=S();R(a)&&z(a)}),V),H=async()=>(E&&(a.delListener(E),E=void 0),V),K=async(a=!1)=>{const[t,e]=a?[H,x]:[x,H];return await t(),await e(),V},Q=async(...a)=>(D(da(Ya,w),...a),await(async()=>{if(!da(Ja,w)){for(va(Ja,w,1);!u(d=I(da(Ya,w)));)await f(d,r);va(Ja,w,0)}})(),V),V={load:Y,startAutoLoad:k,stopAutoLoad:x,isAutoLoading:()=>!u(v),save:z,startAutoSave:G,stopAutoSave:H,isAutoSaving:()=>!u(E),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[G,k]:[k,G];return await e(a),await n(a),V},stopAutoPersisting:K,getStatus:()=>N,addStatusListener:a=>F(a,T),delListener:t=>(j(t),a),schedule:Q,getStore:()=>a,destroy:()=>(da(Ya,w).splice(0,void 0),K()),getStats:()=>({loads:m,saves:C}),...c};return na(V)},xa=(a,t,e,s,r,o=za,c,l)=>{const w=ya();return[async()=>{w.clear(),T(await e(a,t),({tn:a,cn:t})=>Na(pa(w,a,Aa),t))},async(t,e,n)=>((a,t)=>S(da(w,a),t))(t,e)?sa(b(T(await a(x+V(t)+X(t,n)),a=>[a[e],l?ca(ra(a,e),l):ra(a,e)]),([a,t])=>!u(a)&&!ua(t))):{},async(t,e,s,l,y,d=!1,g=i)=>{const v=Aa();ca(s??{},a=>T(ea(a??{}),a=>Na(v,a)));const p=R(v);if(!d&&y&&g==i&&O(p)&&S(w,t))return await a("DROP "+B+V(t)),void va(w,t);const E=da(w,t),A=Aa(R(E));if(O(p)||(S(w,t)?await m(T([e,...p],async(n,s)=>{M(A,n)||(await a(J+V(t)+"ADD"+V(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+V(t)+`(${V(e)})`),Na(E,n))})):(await a(Q+V(t)+`(${V(e)}${r} PRIMARY KEY${C(T(p,a=>n+V(a)+r))});`),va(w,t,Aa([e,...p])))),await m([...!d&&l?T(R(A),async n=>{n!=e&&(await a(J+V(t)+"DROP"+V(n)),M(E,n))}):[]]),d)u(s)?await a(k+V(t)+X(t,g)):await m(oa(s,async(n,s)=>{u(n)?await a(k+V(t)+X(t,g)+`AND(${V(e)}=$1)`,[s]):O(p)||await o(a,t,e,ea(n),{[s]:c?T(la(n),c):la(n)},E)}));else if(O(p))S(w,t)&&await a(k+V(t)+X(t,g));else{const n=b(R(da(w,t)),a=>a!=e),i={},r=[];ca(s??{},(a,t)=>{i[t]=T(n,t=>c?c(a?.[t]):a?.[t]),D(r,t)}),await o(a,t,e,n,i),await a(k+V(t)+X(t,g)+`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}]},za=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+V(t)+"("+((...a)=>C(T(a,V),n))(e,...s)+")VALUES"+C(oa(i,a=>"($"+r[0]+++","+W(a,r)+")"),n)+"ON CONFLICT("+V(e)+")DO UPDATE SET"+C(T(s,a=>V(a)+"=excluded."+V(a)),n),oa(i,(a,t)=>[t,...T(a,a=>a??null)]).flat())},Ga=(a,t,e,n,s,i,r,[o,c,l],w,y,d,g,v,p)=>{const[E,A,N,m]=xa(t,w,y,s,v,p),$=ka(a,()=>m(async()=>{return await E(),a=(await A(o,c))[_]?.[l]??"null",ja(Ua(a));var a}),a=>m(async()=>{var t;await E(),await N(o,c,{[_]:{[l]:(t=a()??null,Fa(t,(a,t)=>u(t)?"":t))}},!0,!0)}),e,n,s,r,{[g]:()=>d,destroy:async()=>(await $.stopAutoPersisting(),i(),$)},0,d);return $},Ha=(a,t,e,n,s,i,r,[o,c,[l,w,y]],d,g,v,p,E,A,N,$)=>{const[f,h,C,T]=xa(t,d,g,s,E,A,N,$),O=(a,t)=>m(ga(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await C(e,n,a[o],s,i,t,r)})),D=async(a,t)=>w?await C(y,F,{[_]:a},!0,!0,t):null,I=ka(a,()=>T(async()=>{await f();const a=await(async()=>sa(b(await m(ga(o,async([a,t,e],n)=>[a,await h(n,t,e)])),a=>!ua(a[1]))))(),t=await(async()=>l?(await h(y,F))[_]:{})();return ua(a)&&u(t)?void 0:[a,t]}),(a,t)=>T(async()=>{if(await f(),u(t)){const[t,e]=a();await O(t),await D(e)}else await O(t[0],!0),await D(t[1],!0)}),e,n,s,r,{[p]:()=>v,destroy:async()=>(await I.stopAutoPersisting(),i(),I)},0,v);return I},Ka=(a,n,s,r,o,c,u,y,d,g,p="getDb",A)=>{let N,m,$;const h=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[C,T,O,b]=(a=>{const e=(a=>ia(Pa,v(a)?{[ha]:a}:a??{}))(a),n=e[Oa];if(e.mode==fa){const a=e[ha]??t;return[1,n,[a,e[Ca]??F,e[Ta]??$a],Aa(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=E(la(ia(Ma,o)),0,wa(Ma)),l=c[2],w=Aa(l),u=Aa(l),y=_a(s,{[Da]:null,[ba]:F,[Ra]:i},Da,a=>S(u,a),a=>Na(w,a)),d=_a(r,{[Ia]:null,[ba]:F,[Sa]:0,[La]:0,[Ra]:null},Ia,(a,t)=>S(u,t),(a,t)=>Na(w,t));var g;return g=(a,t)=>t[4]??=da(y,t[0])?.[2]??i,P(d,(a,t)=>g(0,a)),[0,n,[y,d,c],w]})(n);return(C?Ga:Ha)(a,h,a=>{let t;const e=()=>t=setInterval(()=>f(async()=>{const[{d:t,s:e,c:n}]=await h(U+` ${G} d,${H} s,TOTAL_CHANGES() c FROM ${z}${G} JOIN ${z}${H}`);t==N&&e==m&&n==$||(w(N)||a(),N=t,m=e,$=n)}),1e3*T),n=()=>{N=m=$=null,l(t)},s=r(t=>{b.has(t)&&(n(),a(),e())});return e(),()=>{n(),o(s)}},a=>a(),u,y,d,O,R(b),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),g,p,e,A,a=>(a=>!0===a)(a)?1:(a=>!1===a)(a)?0:a,void 0)},Qa="change",Va=(a,t,e,n,s)=>Ka(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(Qa,e),e},a=>t.off(Qa,a),n,s,N,3,t);export{Va 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),g=t=>a(t)==s,$=a=>Array.isArray(a),A=(a,t,e)=>a.slice(t,e),O=a=>a.length,m=async a=>o.all(a),T=a=>{throw Error(a)},R=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},p=(a,t)=>a.forEach(t),v=(a,t="")=>a.join(t),I=(a,t)=>a.map(t),S=a=>0==O(a),_=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),b=a=>a.shift(),L=(a,t)=>a?.has(t)??!1,D=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),M=Object,F=a=>M.getPrototypeOf(a),U=M.entries,G=M.keys,j=M.freeze,x=(a=[])=>M.fromEntries(a),B=(...a)=>M.assign({},...a),H=(a,t)=>(delete a[t],a),W=(a,t)=>I(U(a),([a,e])=>t(e,a)),Y=(a,t)=>x(W(a,(a,e)=>[e,t(a,e)])),X=a=>M.values(a),J=a=>O(G(a)),k=a=>(a=>!y(a)&&E(F(a),a=>a==M.prototype||y(F(a)),()=>!0))(a)&&0==J(a),z=a=>new Map(a),K=(a,t)=>a?.get(t),V=(a,t)=>I([...a?.entries()??[]],([a,e])=>t(e,a)),q=(a,t,e)=>d(e)?(P(a,t),a):a?.set(t,e),Q=(a,t,e,n)=>(L(a,t)?n?.(K(a,t)):q(a,t,e()),K(a,t)),Z=(a,t,e,n,s=0)=>N((e?Q:K)(a,t[s],s>O(t)-2?e:z),i=>{if(s>O(t)-2)return n?.(i)&&q(a,t[s]),i;const r=Z(i,t,e,n,s+1);return D(i)&&q(a,t[s]),r}),aa=/^\d+$/,ta=a=>new Set($(a)||d(a)?a:[a]),ea=(a,t)=>a?.add(t),na={Idle:0,Loading:1,Saving:2},sa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ia=z(),ra=z(),oa=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let y,E,g,A=0,m=0,v=0;Q(ia,w,()=>0),Q(ra,w,()=>[]);const I=z(),[S,_,L,f,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!k(a)||!k(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!k(a)||!k(t),t.setContent]:T("Store type not supported by this Persister"))(o,a,l),[F,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?b(a):null)??e+t++,t=>{aa.test(t)&&O(a)<1e3&&C(a,t)}]})(),s=z();return[(n,i,r,o=[],c=()=>[])=>{a??=oa;const l=t(1);return q(s,l,[n,i,r,o,c]),ea(Z(i,r??[e],ta),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==O(t)?C(n,a):u(t[e])?h(a,a=>s(a,e+1)):p([t[e],null],t=>s(K(a,t),e+1));return s(a,0),n})(t,n),t=>h(t,t=>K(s,t)[0](a,...n??[],...i))),a=>N(K(s,a),([,t,i])=>(Z(t,i??[e],void 0,t=>(P(t,a),D(t)?1:0)),q(s,a),n(a),i)),t=>N(K(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=O(r);o==O(e)?t(a,...r,...s(r)):u(e[o])?p(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),x=a=>{a!=A&&(A=a,U(I,void 0,A))},B=t=>{(S&&$(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},H=async a=>(2!=A&&(x(1),m++,await sa(async()=>{await R(async()=>{const e=await t();$(e)?B(e):a?M(a):T("Content is not an array: "+e)},()=>{a&&M(a)}),x(0)})),oa),W=async a=>(Y(),await H(a),await R(async()=>E=await s(async(a,t)=>{t||a?2!=A&&(x(1),m++,B(t??a),x(0)):await H()}),r),oa),Y=async()=>(E&&(await R(()=>i(E),r),E=void 0),oa),X=async a=>(1!=A&&(x(2),v++,await sa(async()=>{await R(()=>n(_,a),r),x(0)})),oa),J=async()=>(V(),await X(),g=a.addDidFinishTransactionListener(()=>{const a=L();f(a)&&X(a)}),oa),V=async()=>(g&&(a.delListener(g),g=void 0),oa),na=async(a=!1)=>{const[t,e]=a?[V,Y]:[Y,V];return await t(),await e(),oa},sa=async(...a)=>(C(K(ra,w),...a),await(async()=>{if(!K(ia,w)){for(q(ia,w,1);!d(y=b(K(ra,w)));)await R(y,r);q(ia,w,0)}})(),oa),oa={load:H,startAutoLoad:W,stopAutoLoad:Y,isAutoLoading:()=>!d(E),save:X,startAutoSave:J,stopAutoSave:V,isAutoSaving:()=>!d(g),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[J,W]:[W,J];return await e(a),await n(a),oa},stopAutoPersisting:na,getStatus:()=>A,addStatusListener:a=>F(a,I),delListener:t=>(G(t),a),schedule:sa,getStore:()=>a,destroy:()=>(K(ra,w).splice(0,void 0),na()),getStats:()=>({loads:m,saves:v}),...c};return j(oa)},ca=JSON.stringify,la=JSON.parse,wa=a=>ca(a,(a,t)=>d(t)?"":t),ya=new l.TextEncoder,da="_",ua="_id",Ea="SELECT",Na="WHERE",ga="TABLE",$a="INSERT",Aa="DELETE",Oa="UPDATE",ma="ALTER "+ga,Ta="FROM",Ra=Aa+" "+Ta,pa=Ea+"*"+Ta,va="pragma_",Ia="data_version",Sa="schema_version",_a="pragma_table_",Ca="CREATE ",ba=Ca+ga,La="OR REPLACE ",Da="FUNCTION",fa="$tableName",ha=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,Pa=a=>v(I(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Ma=(...a)=>Pa(v(a,"_")),Fa=(a,t=[1])=>v(I(a,()=>"$"+t[0]++),n),Ua=(a,t=i)=>Na+`(${r(t,fa,Pa(a))})`,Ga="ColumnName",ja="store",xa="json",Ba=ja+"TableName",Ha=ja+"Id"+Ga,Wa=ja+Ga,Ya="autoLoadIntervalSeconds",Xa="rowId"+Ga,Ja="tableId",ka="tableName",za="deleteEmptyColumns",Ka="deleteEmptyTable",Va="condition",qa={mode:xa,[Ya]:1},Qa={load:0,save:0,[ka]:t+"_values"},Za=(a,t,e,n,s)=>{const i=z();return Y(a,(a,r)=>{const o=A(X(B(t,g(a)?{[e]:a}:a)),0,J(t));u(o[0])||n(r,o[0])||(s(r,o[0]),q(i,r,o))}),i},at=a=>{const e=(a=>B(qa,g(a)?{[Ba]:a}:a??{}))(a),n=e[Ya];if(e.mode==xa){const a=e[Ba]??t;return[1,n,[a,e[Ha]??ua,e[Wa]??ja],ta(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=A(X(B(Qa,o)),0,J(Qa)),l=c[2],w=ta(l),y=ta(l),d=Za(s,{[Ja]:null,[Xa]:ua,[Va]:i},Ja,a=>L(y,a),a=>ea(w,a)),u=Za(r,{[ka]:null,[Xa]:ua,[za]:0,[Ka]:0,[Va]:null},ka,(a,t)=>L(y,t),(a,t)=>ea(w,t));var E;return E=(a,t)=>t[4]??=K(d,t[0])?.[2]??i,h(u,(a,t)=>E(0,a)),[0,n,[d,u,c],w]},tt=(a,t,e,s,r,o=et,c,l)=>{const w=z();return[async()=>{w.clear(),I(await e(a,t),({tn:a,cn:t})=>ea(Q(w,a,ta),t))},async(t,e,n)=>((a,t)=>L(K(w,a),t))(t,e)?x(_(I(await a(pa+Pa(t)+Ua(t,n)),a=>[a[e],l?Y(H(a,e),l):H(a,e)]),([a,t])=>!d(a)&&!k(t))):{},async(t,e,s,l,y,u=!1,E=i)=>{const N=ta();Y(s??{},a=>I(G(a??{}),a=>ea(N,a)));const g=f(N);if(!u&&y&&E==i&&S(g)&&L(w,t))return await a("DROP "+ga+Pa(t)),void q(w,t);const $=K(w,t),A=ta(f($));if(S(g)||(L(w,t)?await m(I([e,...g],async(n,s)=>{P(A,n)||(await a(ma+Pa(t)+"ADD"+Pa(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Pa(t)+`(${Pa(e)})`),ea($,n))})):(await a(ba+Pa(t)+`(${Pa(e)}${r} PRIMARY KEY${v(I(g,a=>n+Pa(a)+r))});`),q(w,t,ta([e,...g])))),await m([...!u&&l?I(f(A),async n=>{n!=e&&(await a(ma+Pa(t)+"DROP"+Pa(n)),P($,n))}):[]]),u)d(s)?await a(Ra+Pa(t)+Ua(t,E)):await m(W(s,async(n,s)=>{d(n)?await a(Ra+Pa(t)+Ua(t,E)+`AND(${Pa(e)}=$1)`,[s]):S(g)||await o(a,t,e,G(n),{[s]:c?I(X(n),c):X(n)},$)}));else if(S(g))L(w,t)&&await a(Ra+Pa(t)+Ua(t,E));else{const n=_(f(K(w,t)),a=>a!=e),i={},r=[];Y(s??{},(a,t)=>{i[t]=I(n,t=>c?c(a?.[t]):a?.[t]),C(r,t)}),await o(a,t,e,n,i),await a(Ra+Pa(t)+Ua(t,E)+`AND${Pa(e)}NOT IN(${Fa(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await R(async()=>e=await t(),s),await a("END"),e}]},et=async(a,t,e,s,i)=>{const r=[1];await a($a+" INTO"+Pa(t)+"("+((...a)=>v(I(a,Pa),n))(e,...s)+")VALUES"+v(W(i,a=>"($"+r[0]+++","+Fa(a,r)+")"),n)+"ON CONFLICT("+Pa(e)+`)DO ${Oa} SET`+v(I(s,a=>Pa(a)+"=excluded."+Pa(a)),n),W(i,(a,t)=>[t,...I(a,a=>a??null)]).flat())},nt=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[g,$,A,O]=tt(t,w,y,s,E,N),m=oa(a,()=>O(async()=>{return await g(),a=(await $(o,c))[da]?.[l]??"null",la(a,(a,t)=>""===t?void 0:t);var a}),a=>O(async()=>{await g(),await A(o,c,{[da]:{[l]:wa(a()??null)}},!0,!0)}),e,n,s,r,{[u]:()=>d,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,d);return m},st=(a,t,e,n,s,i,r,[o,c,[l,w,y]],u,E,N,g,$,A,O,T)=>{const[R,p,v,I]=tt(t,u,E,s,$,A,O,T),S=(a,t)=>m(V(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await v(e,n,a[o],s,i,t,r)})),C=async(a,t)=>w?await v(y,ua,{[da]:a},!0,!0,t):null,b=oa(a,()=>I(async()=>{await R();const a=await(async()=>x(_(await m(V(o,async([a,t,e],n)=>[a,await p(n,t,e)])),a=>!k(a[1]))))(),t=await(async()=>l?(await p(y,ua))[da]:{})();return k(a)&&d(t)?void 0:[a,t]}),(a,t)=>I(async()=>{if(await R(),d(t)){const[t,e]=a();await S(t),await C(e)}else await S(t[0],!0),await C(t[1],!0)}),e,n,s,r,{[g]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},it=/^([cd]:)(.+)/,rt=(a,n,s,o,c,l,w,y,d,u,E="getDb")=>{const g=ha(s,l),[$,,A,O]=at(n),T=e+(a=>{let t=2166136261;return p(ya.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(wa(A)),R=t+"_"+T,S=async(a,e,n="",s="")=>{const i=Ma(t,a,T);return await g(Ca+La+Da+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},_=async(a,t,e,n)=>(await g(Ca+a+"TRIGGER"+t+e+"EXECUTE "+Da+n+"()"),t),C=a=>`PERFORM pg_notify('${R}',${a});`,b=(a,t)=>$?i:2===t?b(a,0)+" OR "+b(a,1):r(K(A[0],a)?.[2]??i,fa,0==t?"NEW":"OLD"),D=(a,e)=>m(I([$a,Aa,Oa],(n,s)=>_(La,Ma(t,"d",T,a,n),`AFTER ${n} ON${Pa(a)}FOR EACH ROW WHEN(${b(a,s)})`,e)));return($?nt:st)(a,g,async a=>{const e=await S("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Na} command_tag='${ba}' LOOP ${C("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await _("EVENT ",Ma(t,"c",T),`ON ddl_command_end WHEN TAG IN('${ba}')`,e);const n=await S("d",C("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await m(I(f(O),async a=>(await g(ba+` IF NOT EXISTS${Pa(a)}("_id"text PRIMARY KEY)`),await D(a,n)))),[await o(R,t=>{return N((e=t,s=it,e?.match(s)),async([,t,e])=>{L(O,e)&&("c:"==t&&await D(e,n),a())});var e,s}),[e,n]]},async([a,t])=>{c(a),await g(`DROP FUNCTION IF EXISTS${v(t,",")}CASCADE`)},w,y,d,A,f(O),async(a,t)=>await a(Ea+` table_name tn,column_name cn FROM information_schema.columns ${Na} table_schema='public'AND table_name IN(${Fa(t)})`,t),u,E,"text",void 0,a=>ca(a),a=>la(a))},ot=(a,t,n,s,i,r,o,c,l,d,u="getDb",E)=>{let N,g,$;const A=ha(n,r),[O,m,T,p]=at(t);return(O?nt:st)(a,A,a=>{let t;const e=()=>t=setInterval(()=>R(async()=>{const[{d:t,s:e,c:n}]=await A(Ea+` ${Ia} d,${Sa} s,TOTAL_CHANGES() c FROM ${va}${Ia} JOIN ${va}${Sa}`);t==N&&e==g&&n==$||(y(N)||a(),N=t,g=e,$=n)}),1e3*m),n=()=>{N=g=$=null,w(t)},r=s(t=>{p.has(t)&&(n(),a(),e())});return e(),()=>{n(),i(r)}},a=>a(),o,c,l,T,f(p),async(a,t)=>await a(Ea+` t.name tn,c.name cn FROM ${_a}list()t,${_a}info(t.name)c ${Na} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Fa(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{sa as Persists,na as Status,oa as createCustomPersister,rt as createCustomPostgreSqlPersister,ot 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),g=t=>a(t)==s,$=a=>Array.isArray(a),A=(a,t,e)=>a.slice(t,e),O=a=>a.length,m=async a=>o.all(a),T=a=>{throw Error(a)},R=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},p=(a,t)=>a.forEach(t),v=(a,t="")=>a.join(t),I=(a,t)=>a.map(t),S=a=>0==O(a),_=(a,t)=>a.filter(t),C=(a,...t)=>a.push(...t),b=a=>a.shift(),L=(a,t)=>a?.has(t)??!1,D=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),M=Object,F=a=>M.getPrototypeOf(a),U=M.entries,G=a=>!y(a)&&E(F(a),a=>a==M.prototype||y(F(a)),()=>!0),j=M.keys,x=M.freeze,B=(a=[])=>M.fromEntries(a),H=(...a)=>M.assign({},...a),W=(a,t)=>(delete a[t],a),Y=(a,t)=>I(U(a),([a,e])=>t(e,a)),X=(a,t)=>B(Y(a,(a,e)=>[e,t(a,e)])),J=a=>M.values(a),k=a=>O(j(a)),z=a=>G(a)&&0==k(a),K=a=>new Map(a),V=(a,t)=>a?.get(t),q=(a,t)=>I([...a?.entries()??[]],([a,e])=>t(e,a)),Q=(a,t,e)=>d(e)?(P(a,t),a):a?.set(t,e),Z=(a,t,e,n)=>(L(a,t)?n?.(V(a,t)):Q(a,t,e()),V(a,t)),aa=(a,t,e,n,s=0)=>N((e?Z:V)(a,t[s],s>O(t)-2?e:K),i=>{if(s>O(t)-2)return n?.(i)&&Q(a,t[s]),i;const r=aa(i,t,e,n,s+1);return D(i)&&Q(a,t[s]),r}),ta=/^\d+$/,ea=a=>new Set($(a)||d(a)?a:[a]),na=(a,t)=>a?.add(t),sa={Idle:0,Loading:1,Saving:2},ia={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ra=K(),oa=K(),ca=(a,t,n,s,i,r,o,c={},l=0,w=[])=>{let y,E,g,A=0,m=0,v=0;Z(ra,w,()=>0),Z(oa,w,()=>[]);const I=K(),[S,_,L,f,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!z(a)||!z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!z(a)||!z(t),t.setContent]:T("Store type not supported by this Persister"))(o,a,l),[F,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?b(a):null)??e+t++,t=>{ta.test(t)&&O(a)<1e3&&C(a,t)}]})(),s=K();return[(n,i,r,o=[],c=()=>[])=>{a??=ia;const l=t(1);return Q(s,l,[n,i,r,o,c]),na(aa(i,r??[e],ea),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==O(t)?C(n,a):u(t[e])?h(a,a=>s(a,e+1)):p([t[e],null],t=>s(V(a,t),e+1));return s(a,0),n})(t,n),t=>h(t,t=>V(s,t)[0](a,...n??[],...i))),a=>N(V(s,a),([,t,i])=>(aa(t,i??[e],void 0,t=>(P(t,a),D(t)?1:0)),Q(s,a),n(a),i)),t=>N(V(s,t),([t,,e=[],n,s])=>{const i=(...r)=>{const o=O(r);o==O(e)?t(a,...r,...s(r)):u(e[o])?p(n[o]?.(...r)??[],a=>i(...r,a)):i(...r,e[o])};i()})]})(),j=a=>{a!=A&&(A=a,U(I,void 0,A))},B=t=>{(S&&$(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},H=async a=>(2!=A&&(j(1),m++,await sa(async()=>{await R(async()=>{const e=await t();$(e)?B(e):a?M(a):T("Content is not an array: "+e)},()=>{a&&M(a)}),j(0)})),ia),W=async a=>(Y(),await H(a),await R(async()=>E=await s(async(a,t)=>{t||a?2!=A&&(j(1),m++,B(t??a),j(0)):await H()}),r),ia),Y=async()=>(E&&(await R(()=>i(E),r),E=void 0),ia),X=async a=>(1!=A&&(j(2),v++,await sa(async()=>{await R(()=>n(_,a),r),j(0)})),ia),J=async()=>(k(),await X(),g=a.addDidFinishTransactionListener(()=>{const a=L();f(a)&&X(a)}),ia),k=async()=>(g&&(a.delListener(g),g=void 0),ia),q=async(a=!1)=>{const[t,e]=a?[k,Y]:[Y,k];return await t(),await e(),ia},sa=async(...a)=>(C(V(oa,w),...a),await(async()=>{if(!V(ra,w)){for(Q(ra,w,1);!d(y=b(V(oa,w)));)await R(y,r);Q(ra,w,0)}})(),ia),ia={load:H,startAutoLoad:W,stopAutoLoad:Y,isAutoLoading:()=>!d(E),save:X,startAutoSave:J,stopAutoSave:k,isAutoSaving:()=>!d(g),startAutoPersisting:async(a,t=!1)=>{const[e,n]=t?[J,W]:[W,J];return await e(a),await n(a),ia},stopAutoPersisting:q,getStatus:()=>A,addStatusListener:a=>F(a,I),delListener:t=>(G(t),a),schedule:sa,getStore:()=>a,destroy:()=>(V(oa,w).splice(0,void 0),q()),getStats:()=>({loads:m,saves:v}),...c};return x(ia)},la=JSON.stringify,wa=JSON.parse,ya=a=>la(a,(a,t)=>d(t)?"":t),da=a=>""===a?void 0:$(a)?I(a,da):G(a)?X(a,da):a,ua=new l.TextEncoder,Ea="_",Na="_id",ga="SELECT",$a="WHERE",Aa="TABLE",Oa="INSERT",ma="DELETE",Ta="UPDATE",Ra="ALTER "+Aa,pa="FROM",va=ma+" "+pa,Ia=ga+"*"+pa,Sa="pragma_",_a="data_version",Ca="schema_version",ba="pragma_table_",La="CREATE ",Da=La+Aa,fa="OR REPLACE ",ha="FUNCTION",Pa="$tableName",Ma=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,Fa=a=>v(I(((a,t="",e)=>a.split(t,e))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),Ua=(...a)=>Fa(v(a,"_")),Ga=(a,t=[1])=>v(I(a,()=>"$"+t[0]++),n),ja=(a,t=i)=>$a+`(${r(t,Pa,Fa(a))})`,xa="ColumnName",Ba="store",Ha="json",Wa=Ba+"TableName",Ya=Ba+"Id"+xa,Xa=Ba+xa,Ja="autoLoadIntervalSeconds",ka="rowId"+xa,za="tableId",Ka="tableName",Va="deleteEmptyColumns",qa="deleteEmptyTable",Qa="condition",Za={mode:Ha,[Ja]:1},at={load:0,save:0,[Ka]:t+"_values"},tt=(a,t,e,n,s)=>{const i=K();return X(a,(a,r)=>{const o=A(J(H(t,g(a)?{[e]:a}:a)),0,k(t));u(o[0])||n(r,o[0])||(s(r,o[0]),Q(i,r,o))}),i},et=a=>{const e=(a=>H(Za,g(a)?{[Wa]:a}:a??{}))(a),n=e[Ja];if(e.mode==Ha){const a=e[Wa]??t;return[1,n,[a,e[Ya]??Na,e[Xa]??Ba],ea(a)]}const{tables:{load:s={},save:r={}}={},values:o={}}=e,c=A(J(H(at,o)),0,k(at)),l=c[2],w=ea(l),y=ea(l),d=tt(s,{[za]:null,[ka]:Na,[Qa]:i},za,a=>L(y,a),a=>na(w,a)),u=tt(r,{[Ka]:null,[ka]:Na,[Va]:0,[qa]:0,[Qa]:null},Ka,(a,t)=>L(y,t),(a,t)=>na(w,t));var E;return E=(a,t)=>t[4]??=V(d,t[0])?.[2]??i,h(u,(a,t)=>E(0,a)),[0,n,[d,u,c],w]},nt=(a,t,e,s,r,o=st,c,l)=>{const w=K();return[async()=>{w.clear(),I(await e(a,t),({tn:a,cn:t})=>na(Z(w,a,ea),t))},async(t,e,n)=>((a,t)=>L(V(w,a),t))(t,e)?B(_(I(await a(Ia+Fa(t)+ja(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=ea();X(s??{},a=>I(j(a??{}),a=>na(N,a)));const g=f(N);if(!u&&y&&E==i&&S(g)&&L(w,t))return await a("DROP "+Aa+Fa(t)),void Q(w,t);const $=V(w,t),A=ea(f($));if(S(g)||(L(w,t)?await m(I([e,...g],async(n,s)=>{P(A,n)||(await a(Ra+Fa(t)+"ADD"+Fa(n)+r),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Fa(t)+`(${Fa(e)})`),na($,n))})):(await a(Da+Fa(t)+`(${Fa(e)}${r} PRIMARY KEY${v(I(g,a=>n+Fa(a)+r))});`),Q(w,t,ea([e,...g])))),await m([...!u&&l?I(f(A),async n=>{n!=e&&(await a(Ra+Fa(t)+"DROP"+Fa(n)),P($,n))}):[]]),u)d(s)?await a(va+Fa(t)+ja(t,E)):await m(Y(s,async(n,s)=>{d(n)?await a(va+Fa(t)+ja(t,E)+`AND(${Fa(e)}=$1)`,[s]):S(g)||await o(a,t,e,j(n),{[s]:c?I(J(n),c):J(n)},$)}));else if(S(g))L(w,t)&&await a(va+Fa(t)+ja(t,E));else{const n=_(f(V(w,t)),a=>a!=e),i={},r=[];X(s??{},(a,t)=>{i[t]=I(n,t=>c?c(a?.[t]):a?.[t]),C(r,t)}),await o(a,t,e,n,i),await a(va+Fa(t)+ja(t,E)+`AND${Fa(e)}NOT IN(${Ga(r)})`,r)}},async t=>{let e;return await a("BEGIN"),await R(async()=>e=await t(),s),await a("END"),e}]},st=async(a,t,e,s,i)=>{const r=[1];await a(Oa+" INTO"+Fa(t)+"("+((...a)=>v(I(a,Fa),n))(e,...s)+")VALUES"+v(Y(i,a=>"($"+r[0]+++","+Ga(a,r)+")"),n)+"ON CONFLICT("+Fa(e)+`)DO ${Ta} SET`+v(I(s,a=>Fa(a)+"=excluded."+Fa(a)),n),Y(i,(a,t)=>[t,...I(a,a=>a??null)]).flat())},it=(a,t,e,n,s,i,r,[o,c,l],w,y,d,u,E,N)=>{const[g,$,A,O]=nt(t,w,y,s,E,N),m=ca(a,()=>O(async()=>{return await g(),a=(await $(o,c))[Ea]?.[l]??"null",da(wa(a));var a}),a=>O(async()=>{await g(),await A(o,c,{[Ea]:{[l]:ya(a()??null)}},!0,!0)}),e,n,s,r,{[u]:()=>d,destroy:async()=>(await m.stopAutoPersisting(),i(),m)},0,d);return m},rt=(a,t,e,n,s,i,r,[o,c,[l,w,y]],u,E,N,g,$,A,O,T)=>{const[R,p,v,I]=nt(t,u,E,s,$,A,O,T),S=(a,t)=>m(q(c,async([e,n,s,i,r],o)=>{t&&!(o in a)||await v(e,n,a[o],s,i,t,r)})),C=async(a,t)=>w?await v(y,Na,{[Ea]:a},!0,!0,t):null,b=ca(a,()=>I(async()=>{await R();const a=await(async()=>B(_(await m(q(o,async([a,t,e],n)=>[a,await p(n,t,e)])),a=>!z(a[1]))))(),t=await(async()=>l?(await p(y,Na))[Ea]:{})();return z(a)&&d(t)?void 0:[a,t]}),(a,t)=>I(async()=>{if(await R(),d(t)){const[t,e]=a();await S(t),await C(e)}else await S(t[0],!0),await C(t[1],!0)}),e,n,s,r,{[g]:()=>N,destroy:async()=>(await b.stopAutoPersisting(),i(),b)},0,N);return b},ot=/^([cd]:)(.+)/,ct=(a,n,s,o,c,l,w,y,d,u,E="getDb")=>{const g=Ma(s,l),[$,,A,O]=et(n),T=e+(a=>{let t=2166136261;return p(ua.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(ya(A)),R=t+"_"+T,S=async(a,e,n="",s="")=>{const i=Ua(t,a,T);return await g(La+fa+ha+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},_=async(a,t,e,n)=>(await g(La+a+"TRIGGER"+t+e+"EXECUTE "+ha+n+"()"),t),C=a=>`PERFORM pg_notify('${R}',${a});`,b=(a,t)=>$?i:2===t?b(a,0)+" OR "+b(a,1):r(V(A[0],a)?.[2]??i,Pa,0==t?"NEW":"OLD"),D=(a,e)=>m(I([Oa,ma,Ta],(n,s)=>_(fa,Ua(t,"d",T,a,n),`AFTER ${n} ON${Fa(a)}FOR EACH ROW WHEN(${b(a,s)})`,e)));return($?it:rt)(a,g,async a=>{const e=await S("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${$a} command_tag='${Da}' LOOP ${C("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await _("EVENT ",Ua(t,"c",T),`ON ddl_command_end WHEN TAG IN('${Da}')`,e);const n=await S("d",C("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await m(I(f(O),async a=>(await g(Da+` IF NOT EXISTS${Fa(a)}("_id"text PRIMARY KEY)`),await D(a,n)))),[await o(R,t=>{return N((e=t,s=ot,e?.match(s)),async([,t,e])=>{L(O,e)&&("c:"==t&&await D(e,n),a())});var e,s}),[e,n]]},async([a,t])=>{c(a),await g(`DROP FUNCTION IF EXISTS${v(t,",")}CASCADE`)},w,y,d,A,f(O),async(a,t)=>await a(ga+` table_name tn,column_name cn FROM information_schema.columns ${$a} table_schema='public'AND table_name IN(${Ga(t)})`,t),u,E,"text",void 0,a=>la(a),a=>wa(a))},lt=(a,t,n,s,i,r,o,c,l,d,u="getDb",E)=>{let N,g,$;const A=Ma(n,r),[O,m,T,p]=et(t);return(O?it:rt)(a,A,a=>{let t;const e=()=>t=setInterval(()=>R(async()=>{const[{d:t,s:e,c:n}]=await A(ga+` ${_a} d,${Ca} s,TOTAL_CHANGES() c FROM ${Sa}${_a} JOIN ${Sa}${Ca}`);t==N&&e==g&&n==$||(y(N)||a(),N=t,g=e,$=n)}),1e3*m),n=()=>{N=g=$=null,w(t)},r=s(t=>{p.has(t)&&(n(),a(),e())});return e(),()=>{n(),i(r)}},a=>a(),o,c,l,T,f(p),async(a,t)=>await a(ga+` t.name tn,c.name cn FROM ${ba}list()t,${ba}info(t.name)c ${$a} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Ga(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{ia as Persists,sa as Status,ca as createCustomPersister,ct as createCustomPostgreSqlPersister,lt as createCustomSqlitePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=t=>(e,a,n)=>t(e)?n?.():a(e),s=globalThis,r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=n(i),u=n(c),y=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),w=t=>t.length,v=t=>new a(t),f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),b=(t,...e)=>t.push(...e),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=t=>(e,a,n)=>t(e)?n?.():a(e),s=globalThis,r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=n(i),u=n(c),y=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),w=t=>t.length,v=t=>new a(t),f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),S=(t,...e)=>t.push(...e),M=t=>t.shift(),C=Object,A=t=>C.getPrototypeOf(t),m=C.entries,L=t=>!i(t)&&g(A(t),t=>t==C.prototype||i(A(t)),()=>!0),P=C.keys,T=C.freeze,E=(t=[])=>C.fromEntries(t),H=(t,e)=>p(m(t),([t,a])=>e(a,t)),D=t=>L(t)&&0==(t=>w(P(t)))(t),O=(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:y(t)?b(t,R):L(t)?((t,e)=>E(((t,e)=>b(m(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>c(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=t=>new Map(t),$=(t,e)=>t?.get(e),j=(t,e,a)=>c(a)?(x(t,e),t):t?.set(e,a),F=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.($(t,e)):j(t,e,a()),$(t,e)},U=(t,e,a,n,s=0)=>u((a?F:$)(t,e[s],s>w(e)-2?a:J),r=>{if(s>w(e)-2)return n?.(r)&&j(t,e[s]),r;const o=U(r,e,a,n,s+1);return V(r)&&j(t,e[s]),o}),W=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),q=s.crypto?t=>s.crypto.getRandomValues(t):t=>b(t,()=>o(256*r.random())),B=(t=16)=>{return e=(t,e)=>t+W[63&e],q(new Uint8Array(t)).reduce(e,"");var e},G=(t,e)=>e?[t,e]:[t],I=(t,e)=>((t??"")>(e??"")?t:e)??"",K=(t="")=>G(E(),t),Q=/^\d+$/,X=t=>new Set(y(t)||c(t)?t:[t]),Y=J(),Z=J(),_=(e,a,n,s,r,o,i,g={},d=0,v=[])=>{let b,C,A,m=0,L=0,P=0;F(Y,v,()=>0),F(Z,v,()=>[]);const E=J(),[H,O,N,z,R]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!D(t)||!D(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!D(t)||!D(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,d),[W,q,B]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?M(e):null)??t+a++,t=>{Q.test(t)&&w(e)<1e3&&S(e,t)}]})(),s=J();return[(n,r,o,i=[],c=()=>[])=>{e??=ot;const l=a(1);var g,u;return j(s,l,[n,r,o,i,c]),g=U(r,o??[t],X),u=l,g?.add(u),l},(a,n,...r)=>p(((e,a=[t])=>{const n=[],s=(t,e)=>e==w(a)?S(n,t):l(a[e])?k(t,t=>s(t,e+1)):p([a[e],null],a=>s($(t,a),e+1));return s(e,0),n})(a,n),t=>k(t,t=>$(s,t)[0](e,...n??[],...r))),e=>u($(s,e),([,a,r])=>(U(a,r??[t],void 0,t=>(x(t,e),V(t)?1:0)),j(s,e),n(e),r)),t=>u($(s,t),([t,,a=[],n,s])=>{const r=(...o)=>{const i=w(o);i==w(a)?t(e,...o,...s(o)):l(a[i])?p(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),G=t=>{t!=m&&(m=t,q(E,void 0,m))},I=t=>{(H&&y(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},K=async t=>(2!=m&&(G(1),L++,await rt(async()=>{await h(async()=>{const e=await a();y(e)?I(e):t?R(t):f("Content is not an array: "+e)},()=>{t&&R(t)}),G(0)})),ot),_=async t=>(tt(),await K(t),await h(async()=>C=await s(async(t,e)=>{e||t?2!=m&&(G(1),L++,I(e??t),G(0)):await K()}),o),ot),tt=async()=>(C&&(await h(()=>r(C),o),C=void 0),ot),et=async t=>(1!=m&&(G(2),P++,await rt(async()=>{await h(()=>n(O,t),o),G(0)})),ot),at=async()=>(nt(),await et(),A=e.addDidFinishTransactionListener(()=>{const t=N();z(t)&&et(t)}),ot),nt=async()=>(A&&(e.delListener(A),A=void 0),ot),st=async(t=!1)=>{const[e,a]=t?[nt,tt]:[tt,nt];return await e(),await a(),ot},rt=async(...t)=>(S($(Z,v),...t),await(async()=>{if(!$(Y,v)){for(j(Y,v,1);!c(b=M($(Z,v)));)await h(b,o);j(Y,v,0)}})(),ot),ot={load:K,startAutoLoad:_,stopAutoLoad:tt,isAutoLoading:()=>!c(C),save:et,startAutoSave:at,stopAutoSave:nt,isAutoSaving:()=>!c(A),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[at,_]:[_,at];return await a(t),await n(t),ot},stopAutoPersisting:st,getStatus:()=>m,addStatusListener:t=>W(t,E),delListener:t=>(B(t),e),schedule:rt,getStore:()=>e,destroy:()=>($(Z,v).splice(0,void 0),st()),getStats:()=>({loads:L,saves:P}),...g};return T(ot)},tt=async(e,a,n=1,s,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),g=((e,a,n,s,r,o,i,g,y={})=>{let d,w=0,f=0,p=0;const b=J(),S=()=>B(11),M=(t,e,n,s)=>{f++,o?.(t,e,n,s),a(t,e,n,s)},C=async(t,e,a,n)=>v((s,o)=>{const i=n+"."+B(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{x(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);j(b,i,[t,(t,e)=>{clearTimeout(c),x(b,i),s([t,e,n])}]),M(t,i,e,a)}),A=(t,[e,a])=>{H(e,([e,a],n)=>{const s=O(t[0],n,K);H(e,([t,e],a)=>{const n=O(s[0],a,K);H(t,([t,e],a)=>n[0][a]=G(t,e)),n[1]=I(n[1],e)}),s[1]=I(s[1],a)}),t[1]=I(t[1],a)},m=(a=null,n,s=S())=>h(async()=>{c(n)&&([n,a,s]=await C(null,1,t,s));const[r,o]=n,[i,l]=e.getMergeableContentHashes();let g=K();if(i!=r){const[t,n]=(await C(a,4,e.getMergeableTableHashes(),s))[0];if(g=t,!D(n)){const[t,r]=(await C(a,5,e.getMergeableRowHashes(n),s))[0];if(A(g,t),!D(r)){const t=(await C(a,6,e.getMergeableCellHashes(r),s))[0];A(g,t)}}}return[g,l==o?K():(await C(a,7,e.getMergeableValueHashes(),s))[0],1]},g),L=_(e,async()=>{const t=await m();return!t||D(t[0][0])&&D(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,g,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),s(),L),getSynchronizerStats:()=>({sends:f,receives:p}),...y},1);return n((t,a,n,s)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,n,s),0==n?u($(b,a),([e,a])=>l(e)||e==t?a(s,t):0):2==n&&r?m(t,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==n&&r?d?.(void 0,s):u(1==n&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...n)=>a.send(((e,...a)=>{return n=e??t,s=N(a,(t,e)=>c(e)?"":e),n+"\n"+s;var n,s})(e,...n)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var n,s,r;-1!==a&&(n=d(t,0,a),s=d(t,a+1),e(n,...(r=s,R(z(r)))))})(t))(e.toString("utf8"),t)),()=>{a.close()},n,s,r,o,{getWebSocket:()=>a});return v(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),n(),t(g)},a=i("open",()=>e()),n=i("error",e)}else t(g)})};export{tt as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=t=>(e,a,n)=>t(e)?n?.():a(e),s=globalThis,r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=n(i),u=n(c),y=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),w=t=>t.length,v=t=>new a(t),f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),b=(t,...e)=>t.push(...e),
|
|
1
|
+
const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,n=t=>(e,a,n)=>t(e)?n?.():a(e),s=globalThis,r=Math,o=r.floor,i=t=>null==t,c=t=>void 0===t,l=t=>null===t,g=n(i),u=n(c),y=t=>Array.isArray(t),d=(t,e,a)=>t.slice(e,a),w=t=>t.length,v=t=>new a(t),f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),S=(t,...e)=>t.push(...e),M=t=>t.shift(),C=Object,A=t=>C.getPrototypeOf(t),m=C.entries,L=t=>!i(t)&&g(A(t),t=>t==C.prototype||i(A(t)),()=>!0),P=C.keys,T=C.freeze,E=(t=[])=>C.fromEntries(t),H=(t,e)=>p(m(t),([t,a])=>e(a,t)),D=t=>L(t)&&0==(t=>w(P(t)))(t),O=(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:y(t)?b(t,R):L(t)?((t,e)=>E(((t,e)=>b(m(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,R):t,V=t=>c(t)||0==(t=>t?.size??0)(t),k=(t,e)=>t?.forEach(e),x=(t,e)=>t?.delete(e),J=t=>new Map(t),$=(t,e)=>t?.get(e),j=(t,e,a)=>c(a)?(x(t,e),t):t?.set(e,a),F=(t,e,a,n)=>{var s,r;return s=t,r=e,s?.has(r)?n?.($(t,e)):j(t,e,a()),$(t,e)},U=(t,e,a,n,s=0)=>u((a?F:$)(t,e[s],s>w(e)-2?a:J),r=>{if(s>w(e)-2)return n?.(r)&&j(t,e[s]),r;const o=U(r,e,a,n,s+1);return V(r)&&j(t,e[s]),o}),W=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),q=s.crypto?t=>s.crypto.getRandomValues(t):t=>b(t,()=>o(256*r.random())),B=(t=16)=>{return e=(t,e)=>t+W[63&e],q(new Uint8Array(t)).reduce(e,"");var e},G=(t,e)=>e?[t,e]:[t],I=(t,e)=>((t??"")>(e??"")?t:e)??"",K=(t="")=>G(E(),t),Q=/^\d+$/,X=t=>new Set(y(t)||c(t)?t:[t]),Y=J(),Z=J(),_=(e,a,n,s,r,o,i,g={},d=0,v=[])=>{let b,C,A,m=0,L=0,P=0;F(Y,v,()=>0),F(Z,v,()=>[]);const E=J(),[H,O,N,z,R]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!D(t)||!D(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!D(t)||!D(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,d),[W,q,B]=(()=>{let e;const[a,n]=(()=>{const e=[];let a=0;return[n=>(n?M(e):null)??t+a++,t=>{Q.test(t)&&w(e)<1e3&&S(e,t)}]})(),s=J();return[(n,r,o,i=[],c=()=>[])=>{e??=ot;const l=a(1);var g,u;return j(s,l,[n,r,o,i,c]),g=U(r,o??[t],X),u=l,g?.add(u),l},(a,n,...r)=>p(((e,a=[t])=>{const n=[],s=(t,e)=>e==w(a)?S(n,t):l(a[e])?k(t,t=>s(t,e+1)):p([a[e],null],a=>s($(t,a),e+1));return s(e,0),n})(a,n),t=>k(t,t=>$(s,t)[0](e,...n??[],...r))),e=>u($(s,e),([,a,r])=>(U(a,r??[t],void 0,t=>(x(t,e),V(t)?1:0)),j(s,e),n(e),r)),t=>u($(s,t),([t,,a=[],n,s])=>{const r=(...o)=>{const i=w(o);i==w(a)?t(e,...o,...s(o)):l(a[i])?p(n[i]?.(...o)??[],t=>r(...o,t)):r(...o,a[i])};r()})]})(),G=t=>{t!=m&&(m=t,q(E,void 0,m))},I=t=>{(H&&y(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},K=async t=>(2!=m&&(G(1),L++,await rt(async()=>{await h(async()=>{const e=await a();y(e)?I(e):t?R(t):f("Content is not an array: "+e)},()=>{t&&R(t)}),G(0)})),ot),_=async t=>(tt(),await K(t),await h(async()=>C=await s(async(t,e)=>{e||t?2!=m&&(G(1),L++,I(e??t),G(0)):await K()}),o),ot),tt=async()=>(C&&(await h(()=>r(C),o),C=void 0),ot),et=async t=>(1!=m&&(G(2),P++,await rt(async()=>{await h(()=>n(O,t),o),G(0)})),ot),at=async()=>(nt(),await et(),A=e.addDidFinishTransactionListener(()=>{const t=N();z(t)&&et(t)}),ot),nt=async()=>(A&&(e.delListener(A),A=void 0),ot),st=async(t=!1)=>{const[e,a]=t?[nt,tt]:[tt,nt];return await e(),await a(),ot},rt=async(...t)=>(S($(Z,v),...t),await(async()=>{if(!$(Y,v)){for(j(Y,v,1);!c(b=M($(Z,v)));)await h(b,o);j(Y,v,0)}})(),ot),ot={load:K,startAutoLoad:_,stopAutoLoad:tt,isAutoLoading:()=>!c(C),save:et,startAutoSave:at,stopAutoSave:nt,isAutoSaving:()=>!c(A),startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[at,_]:[_,at];return await a(t),await n(t),ot},stopAutoPersisting:st,getStatus:()=>m,addStatusListener:t=>W(t,E),delListener:t=>(B(t),e),schedule:rt,getStore:()=>e,destroy:()=>($(Z,v).splice(0,void 0),st()),getStats:()=>({loads:L,saves:P}),...g};return T(ot)},tt=async(e,a,n=1,s,r,o)=>{const i=(t,e)=>(a.addEventListener(t,e),()=>a.removeEventListener(t,e)),g=((e,a,n,s,r,o,i,g,y={})=>{let d,w=0,f=0,p=0;const b=J(),S=()=>B(11),M=(t,e,n,s)=>{f++,o?.(t,e,n,s),a(t,e,n,s)},C=async(t,e,a,n)=>v((s,o)=>{const i=n+"."+B(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{x(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);j(b,i,[t,(t,e)=>{clearTimeout(c),x(b,i),s([t,e,n])}]),M(t,i,e,a)}),A=(t,[e,a])=>{H(e,([e,a],n)=>{const s=O(t[0],n,K);H(e,([t,e],a)=>{const n=O(s[0],a,K);H(t,([t,e],a)=>n[0][a]=G(t,e)),n[1]=I(n[1],e)}),s[1]=I(s[1],a)}),t[1]=I(t[1],a)},m=(a=null,n,s=S())=>h(async()=>{c(n)&&([n,a,s]=await C(null,1,t,s));const[r,o]=n,[i,l]=e.getMergeableContentHashes();let g=K();if(i!=r){const[t,n]=(await C(a,4,e.getMergeableTableHashes(),s))[0];if(g=t,!D(n)){const[t,r]=(await C(a,5,e.getMergeableRowHashes(n),s))[0];if(A(g,t),!D(r)){const t=(await C(a,6,e.getMergeableCellHashes(r),s))[0];A(g,t)}}}return[g,l==o?K():(await C(a,7,e.getMergeableValueHashes(),s))[0],1]},g),L=_(e,async()=>{const t=await m();return!t||D(t[0][0])&&D(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,g,2,{startSync:async t=>(w=1,await L.startAutoPersisting(t)),stopSync:async()=>(w=0,await L.stopAutoPersisting(),L),destroy:async()=>(await L.stopSync(),s(),L),getSynchronizerStats:()=>({sends:f,receives:p}),...y},1);return n((t,a,n,s)=>{const r=w||L.isAutoLoading();p++,i?.(t,a,n,s),0==n?u($(b,a),([e,a])=>l(e)||e==t?a(s,t):0):2==n&&r?m(t,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==n&&r?d?.(void 0,s):u(1==n&&(w||L.isAutoSaving())?e.getMergeableContentHashes():4==n?e.getMergeableTableDiff(s):5==n?e.getMergeableRowDiff(s):6==n?e.getMergeableCellDiff(s):7==n?e.getMergeableValueDiff(s):void 0,e=>{M(t,a,0,e)})}),L})(e,(e,...n)=>a.send(((e,...a)=>{return n=e??t,s=N(a,(t,e)=>c(e)?"":e),n+"\n"+s;var n,s})(e,...n)),t=>i("message",({data:e})=>((t,e)=>(t=>{const a=t.indexOf("\n");var n,s,r;-1!==a&&(n=d(t,0,a),s=d(t,a+1),e(n,...(r=s,R(z(r)))))})(t))(e.toString("utf8"),t)),()=>{a.close()},n,s,r,o,{getWebSocket:()=>a});return v(t=>{if(a.readyState!=a.OPEN){const e=e=>{e&&o?.(e),a(),n(),t(g)},a=i("open",()=>e()),n=i("error",e)}else t(g)})};export{tt as createWsSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=Math,i=r.floor,c=t=>null==t,l=t=>void 0===t,g=t=>null===t,d=n(c),y=n(l),u=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),h=t=>t.length,v=t=>{throw Error(t)},S=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,e,a)=>t.reduce(e,a),C=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>t?.size??0,L=(m=A,t=>b(T(t),(t,e)=>t+m(e),0));var m;const P=t=>l(t)||0==A(t),T=t=>[...t?.values()??[]],H=(t,e)=>t?.forEach(e),D=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=k.
|
|
1
|
+
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=Math,i=r.floor,c=t=>null==t,l=t=>void 0===t,g=t=>null===t,d=n(c),y=n(l),u=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),h=t=>t.length,v=t=>{throw Error(t)},S=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,e,a)=>t.reduce(e,a),C=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>t?.size??0,L=(m=A,t=>b(T(t),(t,e)=>t+m(e),0));var m;const P=t=>l(t)||0==A(t),T=t=>[...t?.values()??[]],H=(t,e)=>t?.forEach(e),D=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=t=>!c(t)&&d(O(t),t=>t==k.prototype||c(O(t)),()=>!0),z=k.keys,N=k.freeze,R=(t=[])=>k.fromEntries(t),V=(t,e)=>p(E(t),([t,a])=>e(a,t)),x=t=>I(t)&&0==(t=>h(z(t)))(t),J=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),$=t=>new Map(t),j=t=>[...t?.keys()??[]],F=(t,e)=>t?.get(e),U=(t,e,a)=>l(a)?(D(t,e),t):t?.set(e,a),W=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(F(t,e)):U(t,e,a()),F(t,e)},q=(t,e,a,s,n=0)=>y((a?W:F)(t,e[n],n>h(e)-2?a:$),o=>{if(n>h(e)-2)return s?.(o)&&U(t,e[n]),o;const r=q(o,e,a,s,n+1);return P(o)&&U(t,e[n]),r}),B=/^\d+$/,G=t=>new Set(u(t)||l(t)?t:[t]),K=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?M(e):null)??t+a++,t=>{B.test(t)&&h(e)<1e3&&C(e,t)}]})(),o=$();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const g=s(1);var d,y;return U(o,g,[n,r,i,c,l]),d=q(r,i??[t],G),y=g,d?.add(y),g},(e,s,...n)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?C(s,t):g(a[e])?H(t,t=>n(t,e+1)):p([a[e],null],a=>n(F(t,a),e+1));return n(e,0),s})(e,s),t=>H(t,t=>F(o,t)[0](a,...s??[],...n))),e=>y(F(o,e),([,a,s])=>(q(a,s??[t],void 0,t=>(D(t,e),P(t)?1:0)),U(o,e),n(e),s)),t=>y(F(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=h(r);i==h(e)?t(a,...r,...n(r)):g(e[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},Q=JSON.stringify,X=JSON.parse,Y=t=>""===t?void 0:u(t)?f(t,Y):I(t)?((t,e)=>R(((t,e)=>f(E(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,Y):t,Z=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(w(t,0,a),w(t,a+1))},_=(t,e)=>t+"\n"+e,tt=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),et=o.crypto?t=>o.crypto.getRandomValues(t):t=>f(t,()=>i(256*r.random())),at=(e=16)=>b(et(new Uint8Array(e)),(t,e)=>t+tt[63&e],t),st=(t,e)=>e?[t,e]:[t],nt=(t,e)=>((t??"")>(e??"")?t:e)??"",ot=(t="")=>st(R(),t),rt=$(),it=$(),ct=/\/([^?]*)/,lt=(a,n,o)=>{const r=$(),i=$(),c=$(),d=$(),[w,h,b]=K(()=>k),m=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},T=(e,a,s)=>n=>Z(n,(n,o)=>{const r=_(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,H(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):F(a,n)?.send(r)});a.on("connection",(a,w)=>{return y((f=w.url,b=ct,f?.match(b)),([,f])=>y(w.headers["sec-websocket-key"],async w=>{const b=W(c,f,$),A=W(d,f,()=>[0]),L=T(w,b,A);P(b)&&(h(r,void 0,f,1),await(async(e,a,r)=>y(await(n?.(a)),a=>{e[0]=1,e[1]=u(a)?a[0]:a;const n=T("S",r,e);e[2]=((e,a,n,o,r,i,c,d,w={})=>{let h,p=0,f=0,b=0;const A=$(),L=()=>at(11),m=(t,e,s,n)=>{f++,a(t,e,s,n)},P=async(t,e,a,n)=>new s((s,o)=>{const i=n+"."+at(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{D(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);U(A,i,[t,(t,e)=>{clearTimeout(c),D(A,i),s([t,e,n])}]),m(t,i,e,a)}),T=(t,[e,a])=>{V(e,([e,a],s)=>{const n=J(t[0],s,ot);V(e,([t,e],a)=>{const s=J(n[0],a,ot);V(t,([t,e],a)=>s[0][a]=st(t,e)),s[1]=nt(s[1],e)}),n[1]=nt(n[1],a)}),t[1]=nt(t[1],a)},H=(a=null,s,n=L())=>S(async()=>{l(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let g=ot();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(g=t,!x(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(T(g,t),!x(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];T(g,t)}}}return[g,c==r?ot():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},d),k=((t,e,a,s,n,o,r,i={},c=0,g=[])=>{let d,y,w,h=0,p=0,f=0;W(rt,g,()=>0),W(it,g,()=>[]);const b=$(),[A,L,m,P,T]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!x(t)||!x(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!x(t)||!x(e),e.setContent]:v("Store type not supported by this Persister"))(r,t,c),[H,D,k]=K(()=>G),O=t=>{t!=h&&(h=t,D(b,void 0,h))},E=e=>{(A&&u(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},I=async t=>(2!=h&&(O(1),p++,await B(async()=>{await S(async()=>{const a=await e();u(a)?E(a):t?T(t):v("Content is not an array: "+a)},()=>{t&&T(t)}),O(0)})),G),z=async t=>(R(),await I(t),await S(async()=>y=await s(async(t,e)=>{e||t?2!=h&&(O(1),p++,E(e??t),O(0)):await I()}),o),G),R=async()=>(y&&(await S(()=>n(y),o),y=void 0),G),V=async t=>(1!=h&&(O(2),f++,await B(async()=>{await S(()=>a(L,t),o),O(0)})),G),J=async()=>(j(),await V(),w=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&V(t)}),G),j=async()=>(w&&(t.delListener(w),w=void 0),G),q=async(t=!1)=>{const[e,a]=t?[j,R]:[R,j];return await e(),await a(),G},B=async(...t)=>(C(F(it,g),...t),await(async()=>{if(!F(rt,g)){for(U(rt,g,1);!l(d=M(F(it,g)));)await S(d,o);U(rt,g,0)}})(),G),G={load:I,startAutoLoad:z,stopAutoLoad:R,isAutoLoading:()=>!l(y),save:V,startAutoSave:J,stopAutoSave:j,isAutoSaving:()=>!l(w),startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[J,z]:[z,J];return await a(t),await s(t),G},stopAutoPersisting:q,getStatus:()=>h,addStatusListener:t=>H(t,b),delListener:e=>(k(e),t),schedule:B,getStore:()=>t,destroy:()=>(F(it,g).splice(0,void 0),q()),getStats:()=>({loads:p,saves:f}),...i};return N(G)})(e,async()=>{const t=await H();return!t||x(t[0][0])&&x(t[1][0])?void 0:t},async(t,a)=>a?m(null,L(),3,a):m(null,L(),2,e.getMergeableContentHashes()),t=>h=t,()=>h=void 0,d,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:f,receives:b}),...w},1);return n((t,a,s,n)=>{const o=p||k.isAutoLoading();b++,0==s?y(F(A,a),([e,a])=>g(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{h?.(void 0,t)}).catch(d):3==s&&o?h?.(void 0,n):y(1==s&&(p||k.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)})}),k})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>_(e??t,Q(a,(t,e)=>l(e)?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>Z(t,(t,a)=>{return e(t,...(s=a,Y(X(s))));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=u(a)?a[1]:t=>0}))(A,f,b)),U(b,w,a),h(i,[f],w,1),a.on("message",t=>{const e=t.toString("utf8");0==A[0]?L(e):C(A[4],e)}),1==A[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(A),p(A[4],L),A[4]=[]),a.on("close",async()=>{D(b,w),h(i,[f],w,-1),P(b)&&(await m(A),D(d,f),D(c,f),h(r,void 0,f,-1))}),o&&a.on(e,o)}));var f,b}),o&&a.on(e,o);const k={getWebSocketServer:()=>a,getPathIds:()=>j(c),getClientIds:t=>j(F(c,t)),addPathIdsListener:t=>w(t,r),addClientIdsListener:(t,e)=>w(e,i,[t]),delListener:t=>(b(t),k),getStats:()=>({paths:A(c),clients:L(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=d,e=m,f([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return N(k)};export{lt as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=Math,i=r.floor,c=t=>null==t,l=t=>void 0===t,g=t=>null===t,d=n(c),y=n(l),u=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),h=t=>t.length,v=t=>{throw Error(t)},S=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,e,a)=>t.reduce(e,a),C=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>t?.size??0,L=(m=A,t=>b(T(t),(t,e)=>t+m(e),0));var m;const P=t=>l(t)||0==A(t),T=t=>[...t?.values()??[]],H=(t,e)=>t?.forEach(e),D=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=k.
|
|
1
|
+
const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=Math,i=r.floor,c=t=>null==t,l=t=>void 0===t,g=t=>null===t,d=n(c),y=n(l),u=t=>Array.isArray(t),w=(t,e,a)=>t.slice(e,a),h=t=>t.length,v=t=>{throw Error(t)},S=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),f=(t,e)=>t.map(e),b=(t,e,a)=>t.reduce(e,a),C=(t,...e)=>t.push(...e),M=t=>t.shift(),A=t=>t?.size??0,L=(m=A,t=>b(T(t),(t,e)=>t+m(e),0));var m;const P=t=>l(t)||0==A(t),T=t=>[...t?.values()??[]],H=(t,e)=>t?.forEach(e),D=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=t=>!c(t)&&d(O(t),t=>t==k.prototype||c(O(t)),()=>!0),z=k.keys,N=k.freeze,R=(t=[])=>k.fromEntries(t),V=(t,e)=>p(E(t),([t,a])=>e(a,t)),x=t=>I(t)&&0==(t=>h(z(t)))(t),J=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),$=t=>new Map(t),j=t=>[...t?.keys()??[]],F=(t,e)=>t?.get(e),U=(t,e,a)=>l(a)?(D(t,e),t):t?.set(e,a),W=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(F(t,e)):U(t,e,a()),F(t,e)},q=(t,e,a,s,n=0)=>y((a?W:F)(t,e[n],n>h(e)-2?a:$),o=>{if(n>h(e)-2)return s?.(o)&&U(t,e[n]),o;const r=q(o,e,a,s,n+1);return P(o)&&U(t,e[n]),r}),B=/^\d+$/,G=t=>new Set(u(t)||l(t)?t:[t]),K=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?M(e):null)??t+a++,t=>{B.test(t)&&h(e)<1e3&&C(e,t)}]})(),o=$();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const g=s(1);var d,y;return U(o,g,[n,r,i,c,l]),d=q(r,i??[t],G),y=g,d?.add(y),g},(e,s,...n)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?C(s,t):g(a[e])?H(t,t=>n(t,e+1)):p([a[e],null],a=>n(F(t,a),e+1));return n(e,0),s})(e,s),t=>H(t,t=>F(o,t)[0](a,...s??[],...n))),e=>y(F(o,e),([,a,s])=>(q(a,s??[t],void 0,t=>(D(t,e),P(t)?1:0)),U(o,e),n(e),s)),t=>y(F(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=h(r);i==h(e)?t(a,...r,...n(r)):g(e[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},Q=JSON.stringify,X=JSON.parse,Y=t=>""===t?void 0:u(t)?f(t,Y):I(t)?((t,e)=>R(((t,e)=>f(E(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,Y):t,Z=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(w(t,0,a),w(t,a+1))},_=(t,e)=>t+"\n"+e,tt=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),et=o.crypto?t=>o.crypto.getRandomValues(t):t=>f(t,()=>i(256*r.random())),at=(e=16)=>b(et(new Uint8Array(e)),(t,e)=>t+tt[63&e],t),st=(t,e)=>e?[t,e]:[t],nt=(t,e)=>((t??"")>(e??"")?t:e)??"",ot=(t="")=>st(R(),t),rt=$(),it=$(),ct=/\/([^?]*)/,lt=(a,n,o)=>{const r=$(),i=$(),c=$(),d=$(),[w,h,b]=K(()=>k),m=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},T=(e,a,s)=>n=>Z(n,(n,o)=>{const r=_(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,H(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):F(a,n)?.send(r)});a.on("connection",(a,w)=>{return y((f=w.url,b=ct,f?.match(b)),([,f])=>y(w.headers["sec-websocket-key"],async w=>{const b=W(c,f,$),A=W(d,f,()=>[0]),L=T(w,b,A);P(b)&&(h(r,void 0,f,1),await(async(e,a,r)=>y(await(n?.(a)),a=>{e[0]=1,e[1]=u(a)?a[0]:a;const n=T("S",r,e);e[2]=((e,a,n,o,r,i,c,d,w={})=>{let h,p=0,f=0,b=0;const A=$(),L=()=>at(11),m=(t,e,s,n)=>{f++,a(t,e,s,n)},P=async(t,e,a,n)=>new s((s,o)=>{const i=n+"."+at(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{D(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);U(A,i,[t,(t,e)=>{clearTimeout(c),D(A,i),s([t,e,n])}]),m(t,i,e,a)}),T=(t,[e,a])=>{V(e,([e,a],s)=>{const n=J(t[0],s,ot);V(e,([t,e],a)=>{const s=J(n[0],a,ot);V(t,([t,e],a)=>s[0][a]=st(t,e)),s[1]=nt(s[1],e)}),n[1]=nt(n[1],a)}),t[1]=nt(t[1],a)},H=(a=null,s,n=L())=>S(async()=>{l(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let g=ot();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(g=t,!x(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(T(g,t),!x(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];T(g,t)}}}return[g,c==r?ot():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},d),k=((t,e,a,s,n,o,r,i={},c=0,g=[])=>{let d,y,w,h=0,p=0,f=0;W(rt,g,()=>0),W(it,g,()=>[]);const b=$(),[A,L,m,P,T]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!x(t)||!x(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!x(t)||!x(e),e.setContent]:v("Store type not supported by this Persister"))(r,t,c),[H,D,k]=K(()=>G),O=t=>{t!=h&&(h=t,D(b,void 0,h))},E=e=>{(A&&u(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},I=async t=>(2!=h&&(O(1),p++,await B(async()=>{await S(async()=>{const a=await e();u(a)?E(a):t?T(t):v("Content is not an array: "+a)},()=>{t&&T(t)}),O(0)})),G),z=async t=>(R(),await I(t),await S(async()=>y=await s(async(t,e)=>{e||t?2!=h&&(O(1),p++,E(e??t),O(0)):await I()}),o),G),R=async()=>(y&&(await S(()=>n(y),o),y=void 0),G),V=async t=>(1!=h&&(O(2),f++,await B(async()=>{await S(()=>a(L,t),o),O(0)})),G),J=async()=>(j(),await V(),w=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&V(t)}),G),j=async()=>(w&&(t.delListener(w),w=void 0),G),q=async(t=!1)=>{const[e,a]=t?[j,R]:[R,j];return await e(),await a(),G},B=async(...t)=>(C(F(it,g),...t),await(async()=>{if(!F(rt,g)){for(U(rt,g,1);!l(d=M(F(it,g)));)await S(d,o);U(rt,g,0)}})(),G),G={load:I,startAutoLoad:z,stopAutoLoad:R,isAutoLoading:()=>!l(y),save:V,startAutoSave:J,stopAutoSave:j,isAutoSaving:()=>!l(w),startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[J,z]:[z,J];return await a(t),await s(t),G},stopAutoPersisting:q,getStatus:()=>h,addStatusListener:t=>H(t,b),delListener:e=>(k(e),t),schedule:B,getStore:()=>t,destroy:()=>(F(it,g).splice(0,void 0),q()),getStats:()=>({loads:p,saves:f}),...i};return N(G)})(e,async()=>{const t=await H();return!t||x(t[0][0])&&x(t[1][0])?void 0:t},async(t,a)=>a?m(null,L(),3,a):m(null,L(),2,e.getMergeableContentHashes()),t=>h=t,()=>h=void 0,d,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:f,receives:b}),...w},1);return n((t,a,s,n)=>{const o=p||k.isAutoLoading();b++,0==s?y(F(A,a),([e,a])=>g(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{h?.(void 0,t)}).catch(d):3==s&&o?h?.(void 0,n):y(1==s&&(p||k.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)})}),k})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>_(e??t,Q(a,(t,e)=>l(e)?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>Z(t,(t,a)=>{return e(t,...(s=a,Y(X(s))));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=u(a)?a[1]:t=>0}))(A,f,b)),U(b,w,a),h(i,[f],w,1),a.on("message",t=>{const e=t.toString("utf8");0==A[0]?L(e):C(A[4],e)}),1==A[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(A),p(A[4],L),A[4]=[]),a.on("close",async()=>{D(b,w),h(i,[f],w,-1),P(b)&&(await m(A),D(d,f),D(c,f),h(r,void 0,f,-1))}),o&&a.on(e,o)}));var f,b}),o&&a.on(e,o);const k={getWebSocketServer:()=>a,getPathIds:()=>j(c),getClientIds:t=>j(F(c,t)),addPathIdsListener:t=>w(t,r),addClientIdsListener:(t,e)=>w(e,i,[t]),delListener:t=>(b(t),k),getStats:()=>({paths:A(c),clients:L(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=d,e=m,f([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return N(k)};export{lt as createWsServer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=t=>(e,s,a)=>t(e)?a?.():s(e),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),y=t=>Array.isArray(t),w=(t,e,s)=>t.slice(e,s),C=t=>t.length,p=t=>{throw Error(t)},S=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},v=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),f=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=A.
|
|
1
|
+
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=t=>(e,s,a)=>t(e)?a?.():s(e),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),y=t=>Array.isArray(t),w=(t,e,s)=>t.slice(e,s),C=t=>t.length,p=t=>{throw Error(t)},S=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},v=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),f=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=t=>!l(t)&&d(m(t),t=>t==A.prototype||l(m(t)),()=>!0),T=A.keys,x=A.freeze,L=(t=[])=>A.fromEntries(t),I=(t,e)=>v(P(t),([t,s])=>e(s,t)),H=t=>k(t)&&0==(t=>C(T(t)))(t),D=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=JSON.stringify,R=JSON.parse,E=t=>""===t?void 0:y(t)?b(t,E):k(t)?((t,e)=>L(((t,e)=>b(P(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,E):t,N=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(w(t,0,s),w(t,s+1))},W=(t,...s)=>z(t??e,O(s,(t,e)=>g(e)?"":e)),z=(t,e)=>t+"\n"+e,U=t=>g(t)||0==(t=>t?.size??0)(t),V=(t,e)=>t?.forEach(e),F=(t,e)=>t?.delete(e),J=t=>new Map(t),$=(t,e)=>t?.get(e),j=(t,e,s)=>g(s)?(F(t,e),t):t?.set(e,s),q=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.($(t,e)):j(t,e,s()),$(t,e)},B=(t,e,s,a,n=0)=>h((s?q:$)(t,e[n],n>C(e)-2?s:J),r=>{if(n>C(e)-2)return a?.(r)&&j(t,e[n]),r;const i=B(r,e,s,a,n+1);return U(r)&&j(t,e[n]),i}),G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>c(256*o.random())),Q=(t=16)=>{return e=(t,e)=>t+G[63&e],K(new Uint8Array(t)).reduce(e,"");var e},X=(t,e)=>e?[t,e]:[t],Y=(t,e)=>((t??"")>(e??"")?t:e)??"",Z=(t="")=>X(L(),t),_=/^\d+$/,tt=t=>new Set(y(t)||g(t)?t:[t]),et=J(),st=J(),at=(t,s,a,n,r,i,o,c={},l=0,d=[])=>{let w,b,A,m=0,P=0,k=0;q(et,d,()=>0),q(st,d,()=>[]);const T=J(),[L,I,D,O,R]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!s),([[t],[e]])=>!H(t)||!H(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!H(t)||!H(e),e.setContent]:p("Store type not supported by this Persister"))(o,t,l),[E,N,W]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?M(t):null)??e+s++,e=>{_.test(e)&&C(t)<1e3&&f(t,e)}]})(),n=J();return[(a,r,i,o=[],c=()=>[])=>{t??=it;const l=s(1);var g,u;return j(n,l,[a,r,i,o,c]),g=B(r,i??[e],tt),u=l,g?.add(u),l},(s,a,...r)=>v(((t,s=[e])=>{const a=[],n=(t,e)=>e==C(s)?f(a,t):u(s[e])?V(t,t=>n(t,e+1)):v([s[e],null],s=>n($(t,s),e+1));return n(t,0),a})(s,a),e=>V(e,e=>$(n,e)[0](t,...a??[],...r))),t=>h($(n,t),([,s,r])=>(B(s,r??[e],void 0,e=>(F(e,t),U(e)?1:0)),j(n,t),a(t),r)),e=>h($(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=C(i);o==C(s)?e(t,...i,...n(i)):u(s[o])?v(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),z=t=>{t!=m&&(m=t,N(T,void 0,m))},G=e=>{(L&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},K=async t=>(2!=m&&(z(1),P++,await rt(async()=>{await S(async()=>{const e=await s();y(e)?G(e):t?R(t):p("Content is not an array: "+e)},()=>{t&&R(t)}),z(0)})),it),Q=async t=>(X(),await K(t),await S(async()=>b=await n(async(t,e)=>{e||t?2!=m&&(z(1),P++,G(e??t),z(0)):await K()}),i),it),X=async()=>(b&&(await S(()=>r(b),i),b=void 0),it),Y=async t=>(1!=m&&(z(2),k++,await rt(async()=>{await S(()=>a(I,t),i),z(0)})),it),Z=async()=>(at(),await Y(),A=t.addDidFinishTransactionListener(()=>{const t=D();O(t)&&Y(t)}),it),at=async()=>(A&&(t.delListener(A),A=void 0),it),nt=async(t=!1)=>{const[e,s]=t?[at,X]:[X,at];return await e(),await s(),it},rt=async(...t)=>(f($(st,d),...t),await(async()=>{if(!$(et,d)){for(j(et,d,1);!g(w=M($(st,d)));)await S(w,i);j(et,d,0)}})(),it),it={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!g(b),save:Y,startAutoSave:Z,stopAutoSave:at,isAutoSaving:()=>!g(A),startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),it},stopAutoPersisting:nt,getStatus:()=>m,addStatusListener:t=>E(t,T),delListener:e=>(W(e),t),schedule:rt,getStore:()=>t,destroy:()=>($(st,d).splice(0,void 0),nt()),getStats:()=>({loads:P,saves:k}),...c};return x(it)},nt=/\/([^?]*)/,rt="S",it=t=>{return(s=new URL(t.url).pathname,a=nt,s?.match(a))?.[1]??e;var s,a},ot=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,ct=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),lt=()=>ct(426,null,"Upgrade required");class gt extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await h(await this.createPersister(),async t=>{const s=((t,s,n,r,o,c,l,d,y={})=>{let w,C=0,p=0,v=0;const b=J(),f=()=>Q(11),M=(t,e,a,n)=>{p++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+Q(4),l=i(()=>{F(b,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},o);j(b,c,[t,(t,e)=>{clearTimeout(l),F(b,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{I(e,([e,s],a)=>{const n=D(t[0],a,Z);I(e,([t,e],s)=>{const a=D(n[0],s,Z);I(t,([t,e],s)=>a[0][s]=X(t,e)),a[1]=Y(a[1],e)}),n[1]=Y(n[1],s)}),t[1]=Y(t[1],s)},P=(s=null,a,n=f())=>S(async()=>{g(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=Z();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!H(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!H(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?Z():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},d),k=at(t,async()=>{const t=await P();return!t||H(t[0][0])&&H(t[1][0])?void 0:t},async(e,s)=>s?M(null,f(),3,s):M(null,f(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,d,2,{startSync:async t=>(C=1,await k.startAutoPersisting(t)),stopSync:async()=>(C=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:p,receives:v}),...y},1);return n((e,s,a,n)=>{const r=C||k.isAutoLoading();v++,0==a?h($(b,s),([t,s])=>u(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{w?.(void 0,t)}).catch(d):3==a&&r?w?.(void 0,n):h(1==a&&(C||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(rt,W(t,e,s,a)),t=>this.#t=e=>((t,e)=>N(t,(t,s)=>{return e(t,...(a=s,E(R(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),i(s.startSync)}))}fetch(t){const s=it(t);return h(ot(t),t=>{const[a,n]=(r=new WebSocketPair,A.values(r));var r,i;return i=this.#s(),0==C(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(W(rt,null,1,e)),ct(101,a)},lt)}webSocketMessage(t,e){h(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==C(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){N(s.toString(),(s,n)=>{const r=z(t,n);this.onMessage(t,s,n),s==e?(t!=rt&&this.#t?.(r),v(this.#s(),t=>{t!=a&&t.send(r)})):s==rt?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const ut=t=>(e,s)=>ot(e)?s[t].get(s[t].idFromName(it(e))).fetch(e):lt();export{gt as WsServerDurableObject,ut as getWsServerDurableObjectFetch};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=t=>(e,s,a)=>t(e)?a?.():s(e),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),y=t=>Array.isArray(t),w=(t,e,s)=>t.slice(e,s),C=t=>t.length,p=t=>{throw Error(t)},S=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},v=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),f=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=A.
|
|
1
|
+
import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=t=>(e,s,a)=>t(e)?a?.():s(e),r=globalThis,i=(t,e=0)=>setTimeout(t,1e3*e),o=Math,c=o.floor,l=t=>null==t,g=t=>void 0===t,u=t=>null===t,d=n(l),h=n(g),y=t=>Array.isArray(t),w=(t,e,s)=>t.slice(e,s),C=t=>t.length,p=t=>{throw Error(t)},S=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},v=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),f=(t,...e)=>t.push(...e),M=t=>t.shift(),A=Object,m=t=>A.getPrototypeOf(t),P=A.entries,k=t=>!l(t)&&d(m(t),t=>t==A.prototype||l(m(t)),()=>!0),T=A.keys,x=A.freeze,L=(t=[])=>A.fromEntries(t),I=(t,e)=>v(P(t),([t,s])=>e(s,t)),H=t=>k(t)&&0==(t=>C(T(t)))(t),D=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=JSON.stringify,R=JSON.parse,E=t=>""===t?void 0:y(t)?b(t,E):k(t)?((t,e)=>L(((t,e)=>b(P(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,E):t,N=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(w(t,0,s),w(t,s+1))},W=(t,...s)=>z(t??e,O(s,(t,e)=>g(e)?"":e)),z=(t,e)=>t+"\n"+e,U=t=>g(t)||0==(t=>t?.size??0)(t),V=(t,e)=>t?.forEach(e),F=(t,e)=>t?.delete(e),J=t=>new Map(t),$=(t,e)=>t?.get(e),j=(t,e,s)=>g(s)?(F(t,e),t):t?.set(e,s),q=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.($(t,e)):j(t,e,s()),$(t,e)},B=(t,e,s,a,n=0)=>h((s?q:$)(t,e[n],n>C(e)-2?s:J),r=>{if(n>C(e)-2)return a?.(r)&&j(t,e[n]),r;const i=B(r,e,s,a,n+1);return U(r)&&j(t,e[n]),i}),G=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),K=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>c(256*o.random())),Q=(t=16)=>{return e=(t,e)=>t+G[63&e],K(new Uint8Array(t)).reduce(e,"");var e},X=(t,e)=>e?[t,e]:[t],Y=(t,e)=>((t??"")>(e??"")?t:e)??"",Z=(t="")=>X(L(),t),_=/^\d+$/,tt=t=>new Set(y(t)||g(t)?t:[t]),et=J(),st=J(),at=(t,s,a,n,r,i,o,c={},l=0,d=[])=>{let w,b,A,m=0,P=0,k=0;q(et,d,()=>0),q(st,d,()=>[]);const T=J(),[L,I,D,O,R]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!s),([[t],[e]])=>!H(t)||!H(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!H(t)||!H(e),e.setContent]:p("Store type not supported by this Persister"))(o,t,l),[E,N,W]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?M(t):null)??e+s++,e=>{_.test(e)&&C(t)<1e3&&f(t,e)}]})(),n=J();return[(a,r,i,o=[],c=()=>[])=>{t??=it;const l=s(1);var g,u;return j(n,l,[a,r,i,o,c]),g=B(r,i??[e],tt),u=l,g?.add(u),l},(s,a,...r)=>v(((t,s=[e])=>{const a=[],n=(t,e)=>e==C(s)?f(a,t):u(s[e])?V(t,t=>n(t,e+1)):v([s[e],null],s=>n($(t,s),e+1));return n(t,0),a})(s,a),e=>V(e,e=>$(n,e)[0](t,...a??[],...r))),t=>h($(n,t),([,s,r])=>(B(s,r??[e],void 0,e=>(F(e,t),U(e)?1:0)),j(n,t),a(t),r)),e=>h($(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=C(i);o==C(s)?e(t,...i,...n(i)):u(s[o])?v(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),z=t=>{t!=m&&(m=t,N(T,void 0,m))},G=e=>{(L&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},K=async t=>(2!=m&&(z(1),P++,await rt(async()=>{await S(async()=>{const e=await s();y(e)?G(e):t?R(t):p("Content is not an array: "+e)},()=>{t&&R(t)}),z(0)})),it),Q=async t=>(X(),await K(t),await S(async()=>b=await n(async(t,e)=>{e||t?2!=m&&(z(1),P++,G(e??t),z(0)):await K()}),i),it),X=async()=>(b&&(await S(()=>r(b),i),b=void 0),it),Y=async t=>(1!=m&&(z(2),k++,await rt(async()=>{await S(()=>a(I,t),i),z(0)})),it),Z=async()=>(at(),await Y(),A=t.addDidFinishTransactionListener(()=>{const t=D();O(t)&&Y(t)}),it),at=async()=>(A&&(t.delListener(A),A=void 0),it),nt=async(t=!1)=>{const[e,s]=t?[at,X]:[X,at];return await e(),await s(),it},rt=async(...t)=>(f($(st,d),...t),await(async()=>{if(!$(et,d)){for(j(et,d,1);!g(w=M($(st,d)));)await S(w,i);j(et,d,0)}})(),it),it={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!g(b),save:Y,startAutoSave:Z,stopAutoSave:at,isAutoSaving:()=>!g(A),startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),it},stopAutoPersisting:nt,getStatus:()=>m,addStatusListener:t=>E(t,T),delListener:e=>(W(e),t),schedule:rt,getStore:()=>t,destroy:()=>($(st,d).splice(0,void 0),nt()),getStats:()=>({loads:P,saves:k}),...c};return x(it)},nt=/\/([^?]*)/,rt="S",it=t=>{return(s=new URL(t.url).pathname,a=nt,s?.match(a))?.[1]??e;var s,a},ot=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,ct=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),lt=()=>ct(426,null,"Upgrade required");class gt extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await h(await this.createPersister(),async t=>{const s=((t,s,n,r,o,c,l,d,y={})=>{let w,C=0,p=0,v=0;const b=J(),f=()=>Q(11),M=(t,e,a,n)=>{p++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+Q(4),l=i(()=>{F(b,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},o);j(b,c,[t,(t,e)=>{clearTimeout(l),F(b,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{I(e,([e,s],a)=>{const n=D(t[0],a,Z);I(e,([t,e],s)=>{const a=D(n[0],s,Z);I(t,([t,e],s)=>a[0][s]=X(t,e)),a[1]=Y(a[1],e)}),n[1]=Y(n[1],s)}),t[1]=Y(t[1],s)},P=(s=null,a,n=f())=>S(async()=>{g(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=Z();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!H(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!H(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?Z():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},d),k=at(t,async()=>{const t=await P();return!t||H(t[0][0])&&H(t[1][0])?void 0:t},async(e,s)=>s?M(null,f(),3,s):M(null,f(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,d,2,{startSync:async t=>(C=1,await k.startAutoPersisting(t)),stopSync:async()=>(C=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:p,receives:v}),...y},1);return n((e,s,a,n)=>{const r=C||k.isAutoLoading();v++,0==a?h($(b,s),([t,s])=>u(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{w?.(void 0,t)}).catch(d):3==a&&r?w?.(void 0,n):h(1==a&&(C||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(rt,W(t,e,s,a)),t=>this.#t=e=>((t,e)=>N(t,(t,s)=>{return e(t,...(a=s,E(R(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),i(s.startSync)}))}fetch(t){const s=it(t);return h(ot(t),t=>{const[a,n]=(r=new WebSocketPair,A.values(r));var r,i;return i=this.#s(),0==C(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(W(rt,null,1,e)),ct(101,a)},lt)}webSocketMessage(t,e){h(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==C(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){N(s.toString(),(s,n)=>{const r=z(t,n);this.onMessage(t,s,n),s==e?(t!=rt&&this.#t?.(r),v(this.#s(),t=>{t!=a&&t.send(r)})):s==rt?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const ut=t=>(e,s)=>ot(e)?s[t].get(s[t].idFromName(it(e))).fetch(e):lt();export{gt as WsServerDurableObject,ut as getWsServerDurableObjectFetch};
|