tinybase 9.4.0-beta.1 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/persisters/index.d.ts +4 -0
- package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +9 -2
- package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +9 -2
- package/@types/persisters/with-schemas/index.d.ts +4 -0
- package/@types/queries/index.d.ts +4 -0
- package/@types/queries/with-schemas/index.d.ts +4 -0
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +7 -3
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +7 -3
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +9 -3
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +9 -3
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +6 -3
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +6 -3
- package/@types/ui-react-dom/index.d.ts +10 -10
- package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-react-dom-charts/index.d.ts +7 -7
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
- package/@types/ui-react-inspector/index.d.ts +1 -1
- package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-solid-dom/index.d.ts +10 -10
- package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-solid-inspector/index.d.ts +1 -1
- package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-svelte-dom/index.d.ts +10 -10
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
- package/@types/ui-svelte-inspector/index.d.ts +1 -1
- package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
- package/index.js +191 -74
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-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-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-solid-inspector/index.js +1 -1
- package/min/ui-solid-inspector/index.js.gz +0 -0
- package/min/ui-solid-inspector/with-schemas/index.js +1 -1
- package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-inspector/index.js +1 -1
- package/min/ui-svelte-inspector/index.js.gz +0 -0
- package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
- package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +606 -179
- package/omni/with-schemas/index.js +606 -179
- package/package.json +12 -8
- package/persisters/index.js +49 -10
- package/persisters/persister-automerge/index.js +29 -5
- package/persisters/persister-automerge/with-schemas/index.js +29 -5
- package/persisters/persister-browser/index.js +29 -5
- package/persisters/persister-browser/with-schemas/index.js +29 -5
- package/persisters/persister-cr-sqlite-wasm/index.js +29 -5
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +29 -5
- package/persisters/persister-durable-object-sql-storage/index.js +44 -8
- package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +44 -8
- package/persisters/persister-durable-object-storage/index.js +31 -5
- package/persisters/persister-durable-object-storage/with-schemas/index.js +31 -5
- package/persisters/persister-electric-sql/index.js +29 -5
- package/persisters/persister-electric-sql/with-schemas/index.js +29 -5
- package/persisters/persister-expo-sqlite/index.js +29 -5
- package/persisters/persister-expo-sqlite/with-schemas/index.js +29 -5
- package/persisters/persister-file/index.js +31 -5
- package/persisters/persister-file/with-schemas/index.js +31 -5
- package/persisters/persister-indexed-db/index.js +29 -5
- package/persisters/persister-indexed-db/with-schemas/index.js +29 -5
- package/persisters/persister-libsql/index.js +29 -5
- package/persisters/persister-libsql/with-schemas/index.js +29 -5
- package/persisters/persister-partykit-client/index.js +31 -5
- package/persisters/persister-partykit-client/with-schemas/index.js +31 -5
- package/persisters/persister-pglite/index.js +49 -10
- package/persisters/persister-pglite/with-schemas/index.js +49 -10
- package/persisters/persister-postgres/index.js +49 -10
- package/persisters/persister-postgres/with-schemas/index.js +49 -10
- package/persisters/persister-powersync/index.js +29 -5
- package/persisters/persister-powersync/with-schemas/index.js +29 -5
- package/persisters/persister-react-native-mmkv/index.js +31 -5
- package/persisters/persister-react-native-mmkv/with-schemas/index.js +31 -5
- package/persisters/persister-react-native-sqlite/index.js +29 -5
- package/persisters/persister-react-native-sqlite/with-schemas/index.js +29 -5
- package/persisters/persister-remote/index.js +31 -5
- package/persisters/persister-remote/with-schemas/index.js +31 -5
- package/persisters/persister-sqlite-bun/index.js +29 -5
- package/persisters/persister-sqlite-bun/with-schemas/index.js +29 -5
- package/persisters/persister-sqlite-wasm/index.js +29 -5
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +29 -5
- package/persisters/persister-sqlite3/index.js +29 -5
- package/persisters/persister-sqlite3/with-schemas/index.js +29 -5
- package/persisters/persister-yjs/index.js +29 -5
- package/persisters/persister-yjs/with-schemas/index.js +29 -5
- package/persisters/with-schemas/index.js +49 -10
- package/queries/index.js +205 -74
- package/queries/with-schemas/index.js +205 -74
- package/readme.md +14 -14
- package/releases.md +84 -67
- package/synchronizers/index.js +31 -5
- package/synchronizers/synchronizer-broadcast-channel/index.js +39 -13
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +39 -13
- package/synchronizers/synchronizer-local/index.js +31 -5
- package/synchronizers/synchronizer-local/with-schemas/index.js +31 -5
- package/synchronizers/synchronizer-ws-client/index.js +220 -61
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +220 -61
- package/synchronizers/synchronizer-ws-server/index.js +253 -73
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +253 -73
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +88 -40
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +88 -40
- package/synchronizers/synchronizer-ws-server-simple/index.js +184 -60
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +184 -60
- package/synchronizers/with-schemas/index.js +31 -5
- package/ui-react-inspector/index.js +29 -5
- package/ui-react-inspector/with-schemas/index.js +29 -5
- package/ui-solid-inspector/index.js +29 -5
- package/ui-solid-inspector/with-schemas/index.js +29 -5
- package/ui-svelte-inspector/index.js +29 -5
- package/ui-svelte-inspector/with-schemas/index.js +29 -5
- package/with-schemas/index.js +191 -74
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",n="",e=",",i=a(n),s="true",c=(a,t,n)=>a.replace(t,n),r=Promise,o=a=>(t,n,e)=>a(t)?e?.():n(t),l=globalThis,w=a=>null==a,u=a=>void 0===a,y=a=>null===a,d=a=>!0===a,_=o(w),E=o(u),m=t=>a(t)==i,N=a=>Array.isArray(a),v=a=>a.length,$=a=>0==v(a),O=a=>new r(a),A=async a=>r.all(a),f=(a,t)=>a.forEach(t),R=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),I=(a,t)=>a.filter(t),h=(a,t=v(a))=>a.splice(0,t),g=(a,...t)=>a.push(...t),S=(a,e)=>{throw((a,e)=>Error(t+":"+a+(u(e)?n:":"+e)))(a,e)},D=async(a,t)=>{try{return await a()}catch(a){t?.(a)}},b=(a,t)=>D(a,a=>{D(()=>t?.(a))}),L=async(a,t)=>{try{return await a()}finally{await t()}},p=(a,t)=>a?.has(t)??!1,C=a=>u(a)||0==(a=>a?.size??0)(a),F=a=>[...a?.values()??[]],M=a=>a.clear(),P=(a,t)=>a?.forEach(t),k=(a,t)=>a?.delete(t),U=Object,G=a=>U.getPrototypeOf(a),x=U.entries,H=a=>!w(a)&&_(G(a),a=>a==U.prototype||w(G(a)),()=>!0),Y=U.keys,B=U.freeze,W=(...a)=>U.assign(U.create(null),...a),X=(a,t,n)=>(U.defineProperty(a,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),j=(a=[])=>{const t=U.create(null);return f(a,([a,n])=>X(t,a,n)),t},q=(a,t)=>(delete a[t],a),J=(a,t)=>f(Y(a),n=>t(a[n],n)),K=(a,t)=>T(x(a),([a,n])=>t(n,a)),z=(a,t)=>{const n=j();return J(a,(a,e)=>X(n,e,t(a,e))),n},Q=a=>v(Y(a)),V=a=>H(a)&&0==Q(a),Z=Map,aa=a=>new Z(a),ta=(a,t)=>a?.get(t),na=(a,t)=>P(a,(a,n)=>t(n,a)),ea=(a,t)=>{const n=[];return na(a,(a,e)=>g(n,t(e,a))),n},ia=(a,t,n)=>u(n)?(k(a,t),a):a?.set(t,n),sa=(a,t,n,e)=>{let i=ta(a,t);return p(a,t)?e?.(i):ia(a,t,i=n()),i},ca=(a,t,n,e,i=0)=>E((n?sa:ta)(a,t[i],i>v(t)-2?n:aa),s=>{if(i>v(t)-2)return e?.(s)&&ia(a,t[i]),s;const c=ca(s,t,n,e,i+1);return C(s)&&ia(a,t[i]),c}),ra=/^\d+$/,oa=a=>new Set(N(a)||u(a)?a:[a]),la=(a,t)=>a?.add(t),wa={Idle:0,Loading:1,Saving:2},ua={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ya=aa(),da=aa(),_a=aa(),Ea=(a,t,e,i,s,c,r,o={},l=0,w=[])=>{let d,_,m,A,R,b=0,p=0,F=0,M=0,U=0,G=0,x=0,H=0,Y=0;const W={},X=o.destroy;sa(ya,w,()=>0),sa(da,w,()=>[]),ia(_a,w,(ta(_a,w)??0)+1);const j=aa(),[q,J,K,z,Q]=((a=1,t,n)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[a],[t]])=>!V(a)||!V(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!V(a)||!V(t),t.setContent]:S(0))(r,a,l),[Z,na,ea]=(a=>{let t;const[e,i]=(()=>{const a=[];let t=0;return[e=>(e?a.shift():null)??n+t++,t=>{ra.test(t)&&v(a)<1e3&&g(a,t)}]})(),s=aa(),c=(a,e,i,c)=>{let r,o=!1;if(f(((a,t=[n])=>{const e=[],i=(a,n)=>n==v(t)?g(e,a):y(t[n])?P(a,a=>i(a,n+1)):f([t[n],null],t=>i(ta(a,t),n+1));return i(a,0),e})(e,i),n=>P(n,n=>{const e=()=>ta(s,n)[0](t,...i??[],...c);a?(a=>{try{return a()}catch(a){(a=>{o||(r=a),o=!0})?.(a)}})(e):e()})),o)throw r};return[(i,c,r,o=[],l=()=>[])=>{t??=a();const w=e(1);return ia(s,w,[i,c,r,o,l]),la(ca(c,r??[n],oa),w),w},(a,t,...n)=>c(!1,a,t,n),a=>E(ta(s,a),([,t,e])=>(ca(t,e??[n],void 0,t=>(k(t,a),C(t)?1:0)),ia(s,a),i(a),e)),a=>E(ta(s,a),([a,,n=[],e,i])=>{const s=(...c)=>{const r=v(c);r==v(n)?a(t,...c,...i(c)):y(n[r])?f(e[r]?.(...c)??[],a=>s(...c,a)):s(...c,n[r])};s()}),(a,t,...n)=>c(!0,a,t,n)]})(()=>Sa),wa=a=>{a!=b&&(b=a,na(j,void 0,b))},ua=()=>{ta(_a,w)||ta(ya,w)||!$(ta(da,w)??[])||(ia(ya,w),ia(da,w),ia(_a,w))},Ea=t=>{(q&&N(t?.[0])?1===t?.[2]?a.__[4]:a.__[3]:1===t?.[2]?a._[10]:a._[9])(t)},ma=async()=>{Ia()&&a.__?.[0]?.()&&await fa()},Na=a=>L(()=>_=a,()=>{_==a&&(_=void 0)}),va=async a=>(2!=b&&(await L(async()=>{wa(1),p++,await ga(()=>D(async()=>{const n=await t();N(n)?Ea(n):u(n)&&a?Q(a):u(n)||S(1,n)},t=>{c?.(t),a&&Q(a)}))},()=>wa(0)),await ma()),Sa),$a=async()=>{const a=x;x=0,a&&a==M&&!Y&&(2==b?x=a:await va())},Oa=async a=>{const t=++M;let n=!0;if(await Aa(!0),t==M&&!Y){const e=D(async()=>{const a=await i(async(a,e)=>{if(t==M&&!Y)if(e||a){const t=n||2==b||!!G;U++,t&&G++,await L(async()=>{wa(1),p++,await(t?ga(()=>Ea(e??a)):(()=>{try{return Ea(e??a)}finally{wa(0)}})())},()=>{t&&G--,--U||wa(0)}),U||await ma()}else 2==b?x=t:await va()});t!=M||Y?u(a)||await s(a):d=a},c);await Na(e),t!=M||Y||await L(()=>va(a),()=>{n=!1})}return Sa},Aa=async(a=!1)=>{x=0,a||M++;const t=_,n=d;return d=void 0,await Na(L(async()=>{await t},async()=>{u(n)||await D(()=>s(n),c)})),Sa},fa=async a=>(1!=b&&await L(()=>L(async()=>{wa(2),F++,await ga(()=>D(()=>e(J,a),c))},()=>wa(0)),$a),Sa),Ra=async()=>{const t=++H;return await Ta(!0),t!=H||Y||(await fa(),t!=H||Y||(m=a.addDidFinishTransactionListener(()=>{if(t==H&&!Y){const a=K();z(a)&&D(()=>fa(a))}}))),Sa},Ta=async(t=!1)=>{t||H++;const n=m;return m=void 0,u(n)||a.delListener(n),Sa},Ia=()=>!u(m),ha=async(a=!1)=>{const[t,n]=a?[Ta,Aa]:[Aa,Ta];return await L(()=>t(),async()=>{await n()}),Sa},ga=async(...a)=>{let t,n=!1;const e=O(e=>$(a)?e():g(ta(da,w),...T(a,(i,s)=>{const r=s==v(a)-1;return[async()=>{let a;R=O(t=>a=t),await L(async()=>{try{await D(i,c)}catch(a){n||(n=!0,t=a)}r&&e()},()=>{R=void 0,a()})},r?e:void 0,W]})));if(await(async()=>{if(!ta(ya,w)){ia(ya,w,1);const a=ta(da,w);let t=0;await L(async()=>{for(;t<v(a);){const n=a[t++];n[2]=void 0,await n[0]()}},()=>{h(a,t),ia(ya,w,0),ua()})}})(),await e,n)throw t;return Sa},Sa={load:va,startAutoLoad:Oa,stopAutoLoad:Aa,isAutoLoading:()=>!u(d),save:fa,startAutoSave:Ra,stopAutoSave:Ta,isAutoSaving:Ia,startAutoPersisting:async(a,t=!1)=>{const[n,e]=t?[Ra,Oa]:[Oa,Ra];return await n(a),await e(a),Sa},stopAutoPersisting:ha,getStatus:()=>b,addStatusListener:a=>Z(a,j),delListener:t=>(ea(t),a),schedule:ga,getStore:()=>a,getStats:()=>({loads:p,saves:F}),...o,destroy:async()=>(u(A)&&(Y=1,A=(async()=>{const a=ta(da,w),t=I(a,([,a,t])=>t!=W||(a?.(),!1)),n=R;h(a),g(a,...t),await L(()=>L(()=>L(ha,()=>n),()=>X?.()),()=>{const a=(ta(_a,w)??1)-1;ia(_a,w,a||void 0),ua()})})()),await A,Sa)};return B(Sa)},ma=JSON.stringify,Na=JSON.parse,va=a=>ma(a,(a,t)=>u(t)?"":t),$a=a=>""===a?void 0:N(a)?T(a,$a):H(a)?z(a,$a):a,Oa=new l.TextEncoder,Aa=a=>{let t=2166136261;return f(Oa.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},fa="_",Ra="_id",Ta="SELECT",Ia="WHERE",ha="TABLE",ga="INSERT",Sa="DELETE",Da="UPDATE",ba="ALTER "+ha,La="FROM",pa=Sa+" "+La,Ca=Ta+"*"+La,Fa="pragma_",Ma="data_version",Pa="schema_version",ka="pragma_table_",Ua="CREATE ",Ga=Ua+ha,xa="OR REPLACE ",Ha="FUNCTION",Ya=/\$tableName/g,Ba=(a,t)=>t?async(n,e)=>(t(n,e),await a(n,e)):a,Wa=a=>R(T(((a,t="",n)=>a.split(t,n))(a,"."),a=>`"${c(a,/"/g,'""')}"`),"."),Xa=(...a)=>Wa(R(a,"_")),ja=(a,t=[1])=>R(T(a,()=>"$"+t[0]++),e),qa=(a,t=s)=>Ia+`(${Ja(t,Wa(a))})`,Ja=(a,t)=>c(a,Ya,t),Ka="ColumnName",za="store",Qa="json",Va=za+"TableName",Za=za+"Id"+Ka,at=za+Ka,tt="autoLoadIntervalSeconds",nt="rowId"+Ka,et="tableId",it="tableName",st="deleteEmptyColumns",ct="deleteEmptyTable",rt="condition",ot={mode:Qa,[tt]:1},lt={load:0,save:0,[it]:t+"_values"},wt=a=>N(a)?a:void 0,ut=a=>d(a)||N(a),yt=(a,t,n,e,i)=>{const s=aa();return J(a,(a,c)=>{const r=(w=W(t,m(a)?{[n]:a}:a),o=U.values(w),l=Q(t),o.slice(0,l));var o,l,w;y(r[0])||e(c,r[0])||(i(c,r[0]),ia(s,c,r))}),s},dt=a=>{const n=(a=>W(ot,m(a)?{[Va]:a}:a??{}))(a),e=n[tt];if(n.mode==Qa){const a=n[Va]??t;return[1,e,[a,n[Za]??Ra,n[at]??za],oa(a)]}const{tables:{load:i={},save:c={}}={},values:r={}}=n,o=W(lt,r),{load:l,save:w}=o,u=[ut(l),ut(w),o[it],wt(l),wt(w)],y=u[2],d=oa(y),_=oa(y),E=yt(i,{[et]:null,[nt]:Ra,[rt]:s},et,a=>p(_,a),a=>la(d,a)),N=yt(c,{[it]:null,[nt]:Ra,[st]:0,[ct]:0,[rt]:null},it,(a,t)=>p(_,t),(a,t)=>la(d,t));return na(N,(a,t)=>t[4]??=ta(E,t[0])?.[2]??s),[0,e,[E,N,u],d]},_t=(a,n,i,c,r=Et,o,l,w)=>{const y=aa(),d=aa();let _=a;return[async()=>{M(y),M(d),f(await i(_,n),({tn:a,cn:t,uq:n})=>{la(sa(y,a,oa),t),n&&la(sa(d,a,oa),t)})},async(a,t,n,e)=>{const i=u(e)?void 0:oa(e);return((a,t)=>p(ta(y,a),t))(a,t)?j(I(T(await _(Ca+Wa(a)+qa(a,n)),a=>{const n=a[t],e=l?z(q(a,t),l):q(a,t);return[n,u(i)?e:j(I(K(e,(a,t)=>[t,a]),([a])=>(a=>u(i)||p(i,a))(a)))]}),a=>!u(a[0])&&!V(a[1]))):{}},async(a,n,i,l,w,E=!1,m=s,N)=>{const v=u(N)?void 0:oa(N),O=a=>u(v)||p(v,a),h=oa();J(i??{},a=>f(I(Y(a??{}),O),a=>la(h,a)));const S=F(h);if(u(v)&&!E&&w&&m==s&&$(S)&&p(y,a))return await _("DROP "+ha+Wa(a)),ia(y,a),void ia(d,a);const D=ta(y,a),b=oa(I(F(D),a=>a==n||O(a)));if(!$(S))if(p(y,a)){if(await A(T([n,...S],async t=>{k(b,t)||(await _(ba+Wa(a)+"ADD"+Wa(t)+c),la(D,t))})),r==Et&&!p(ta(d,a),n)){const e=t+"_pk_"+Aa(ma([a,n]));await _("CREATE UNIQUE INDEX IF NOT EXISTS"+Wa(e)+"ON"+Wa(a)+`(${Wa(n)})`),la(sa(d,a,oa),n)}}else await _(Ga+Wa(a)+`(${Wa(n)}${c} PRIMARY KEY${R(T(S,a=>e+Wa(a)+c))});`),ia(y,a,oa([n,...S])),ia(d,a,oa([n]));if(await A([...!E&&l?T(F(b),async t=>{t!=n&&(await _(ba+Wa(a)+"DROP"+Wa(t)),k(D,t))}):[]]),E)u(i)?u(v)&&await _(pa+Wa(a)+qa(a,m)):await A(K(i,async(t,e)=>{if(u(t))await _(pa+Wa(a)+qa(a,m)+`AND(${Wa(n)}=$1)`,[e]);else if(!$(S)){const i=I(Y(t),O);$(i)||await r(_,a,n,i,{[e]:T(i,a=>o?o(t[a]):t[a])},D)}}));else if($(S))u(v)&&p(y,a)&&await _(pa+Wa(a)+qa(a,m));else{const t=I(F(ta(y,a)),a=>a!=n&&O(a)),e=j(),s=[];J(i??{},(a,n)=>{X(e,n,T(t,t=>o?o(a?.[t]):a?.[t])),g(s,n)}),await r(_,a,n,t,e,D),await _(pa+Wa(a)+qa(a,m)+`AND${Wa(n)}NOT IN(${ja(s)})`,s)}},async t=>{if(w)return await w(async a=>{const n=_;return _=a,await L(t,()=>{_=n})});await a("BEGIN");try{const n=await t();return await a("END"),n}catch(t){throw await D(()=>a("ROLLBACK")),t}}]},Et=async(a,t,n,i,s)=>{const c=[1];await a(ga+" INTO"+Wa(t)+"("+((...a)=>R(T(a,Wa),e))(n,...i)+")VALUES"+R(K(s,a=>"($"+c[0]+++","+ja(a,c)+")"),e)+"ON CONFLICT("+Wa(n)+`)DO ${Da} SET`+R(T(i,a=>Wa(a)+"=excluded."+Wa(a)),e),K(s,(a,t)=>[t,...T(a,a=>a??null)]).flat())},mt=(a,t,n,e,i,s,c,[r,o,l],w,u,y,d,_,E,m,N,v)=>{const[$,O,A,f]=_t(t,w,u,_,E,void 0,void 0,v);return Ea(a,()=>f(async()=>{return await $(),a=(await O(r,o))[fa]?.[l]??"null",$a(Na(a));var a}),a=>f(async()=>{await $(),await A(r,o,{[fa]:{[l]:va(a()??null)}},!0,!0)}),n,e,i,c,{[d]:()=>y,destroy:s},0,y)},Nt=(a,t,n,e,i,s,c,[r,o,[l,w,y,d,_]],E,m,N,v,$,O,f,R,h)=>{const[g,S,D,b]=_t(t,E,m,$,O,f,R,h),L=(a,t)=>A(ea(o,async([n,e,i,s,c],r)=>{var o,l;t&&(o=a,l=r,!U.hasOwn(o,l))||await D(n,e,a[r],i,s,t,c)})),p=(a,t,n)=>j(1==n?I(K(a,(a,t)=>[t,a]),([a])=>{return n=a,t.includes(n);var n}):I(T(t,t=>[t,a[t]]),([,a])=>!u(a))),C=async(a,t)=>w?await D(y,Ra,{[fa]:u(_)?a:p(a,_,t)},!0,!0,t,void 0,_):null;return Ea(a,()=>b(async()=>{await g();const a=await(async()=>j(I(await A(ea(r,async([a,t,n],e)=>[a,await S(e,t,n)])),a=>!V(a[1]))))(),t=await(async()=>l?(await S(y,Ra,void 0,d))[fa]:{})();return V(a)&&u(t)?void 0:[a,t]}),(a,t)=>b(async()=>{if(await g(),u(t)){const[t,n]=a();await L(t),await C(n)}else await L(t[0],!0),await C(t[1],!0)}),n,e,i,c,{[v]:()=>N,destroy:s},0,N)},vt=/^([cd]:)(.+)/,$t=aa(),Ot=(a,e,i,c,r,o,l,w,u,y,d="getDb")=>{const _=Ba(i,o),[m,,N,v]=dt(e);!m&&a.isMergeable()&&S(0);const O=n+Aa(va(N)),f=t+"_"+O,I=y??i,h=async(a,n,e="",i="")=>{const s=Xa(t,a,O);return await _(Ua+xa+Ha+s+`()RETURNS ${e}trigger AS $$ ${i}BEGIN ${n}END;$$ LANGUAGE plpgsql;`),s},M=async(a,t,n,e)=>(await _(Ua+a+"TRIGGER"+t+n+"EXECUTE "+Ha+e+"()"),t),P=a=>`PERFORM pg_notify('${f}',${a});`,k=(a,t)=>m?s:2===t?k(a,0)+" OR "+k(a,1):Ja(ta(N[0],a)?.[2]??s,0==t?"NEW":"OLD"),U=(a,n)=>A(T([ga,Sa,Da],(e,i)=>M(xa,Xa(t,"d",O,a,e),`AFTER ${e} ON${Wa(a)}FOR EACH ROW WHEN(${k(a,i)})`,n))),G=async a=>{$(a)||await _(`DROP FUNCTION IF EXISTS${R(a,",")}CASCADE`)},x=(a,t)=>{ta(a,O)===t&&(ia(a,O),C(a)&&ta($t,I)===a&&ia($t,I))},H=async()=>{const a=sa($t,I,()=>aa()),n=ta(a,O);if(n)return await n[1],n[0]?(n[0]++,n):(await D(()=>n[4]),await H());const e=[],i=[1,void 0,e];ia(a,O,i),i[1]=(async()=>{const a=await h("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Ia} command_tag='${Ga}' LOOP ${P("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");g(e,a),await M("EVENT ",Xa(t,"c",O),`ON ddl_command_end WHEN TAG IN('${Ga}')`,a);const n=await h("d",P("'d:'||TG_TABLE_NAME")+"RETURN NULL;");g(e,n),i[3]=n,await A(T(F(v),async a=>(await _(Ga+` IF NOT EXISTS${Wa(a)}("_id"text PRIMARY KEY)`),await U(a,n))))})();try{await i[1]}catch(t){throw i[0]=0,i[4]=L(()=>G(e),()=>x(a,i)),await D(()=>i[4]),t}return i},Y=async a=>{if(0==--a[0]){const t=ta($t,I);a[4]=L(()=>G(a[2]),()=>x(t,a)),await a[4]}};return(m?mt:Nt)(a,_,async a=>{const t=await H();try{return[await c(f,n=>{b(()=>{return E((e=n,i=vt,e?.match(i)),async([,n,e])=>{p(v,e)&&("c:"==n&&await U(e,t[3]),await a())});var e,i},l)}),t]}catch(a){throw await b(()=>Y(t),l),a}},async([a,t])=>{await L(()=>r(a),()=>Y(t))},l,w,u,N,F(v),async(a,t)=>await a(Ta+` c.table_name tn,c.column_name cn,CASE WHEN tc.constraint_type IN('PRIMARY KEY','UNIQUE')AND(${Ta} count(*) FROM information_schema.key_column_usage kcu2 ${Ia} kcu2.constraint_schema=kcu.constraint_schema AND kcu2.constraint_name=kcu.constraint_name)=1 THEN 1 ELSE 0 END uq FROM information_schema.columns c LEFT JOIN information_schema.key_column_usage kcu ON kcu.table_schema=c.table_schema AND kcu.table_name=c.table_name AND kcu.column_name=c.column_name LEFT JOIN information_schema.table_constraints tc ON tc.constraint_schema=kcu.constraint_schema AND tc.constraint_name=kcu.constraint_name ${Ia} c.table_schema='public'AND c.table_name IN(${ja(t)})`,t),y,d,"text",void 0,a=>ma(a),a=>Na(a))},At=(a,t,e,i,s,c,o,l,y,_,E="getDb",m,N)=>{let v,$,O;const A=Ba(e,c),[f,R,T,I]=dt(t);return!f&&a.isMergeable()&&S(0),(f?mt:Nt)(a,A,a=>{let t,n,e=1,c=0,l=0;const y=async(t=!0)=>{const[{d:n,s:i,c:s}]=await A(Ta+` ${Ma} d,${Pa} s,TOTAL_CHANGES() c FROM ${Fa}${Ma} JOIN ${Fa}${Pa}`);if(e&&(n!=v||i!=$||s!=O)){const c=t&&!l&&!w(v);v=n,$=i,O=s,c&&e&&await a()}},d=()=>{u(t)||((a=>{clearInterval(a)})(t),t=void 0)},_=(i=!1)=>{if(n)return n;const s=L(()=>b(async()=>{for(c?i&&await y():(await y(!1),c=1);e&&l;)l=0,await y(!1),e&&(await a(),await y())},o),()=>{n==s&&(n=void 0),e&&(l?_():e&&u(t)&&(t=setInterval(()=>_(!0),1e3*R)))});return n=s,s},E=i(a=>{e&&p(I,a)&&(l=1,d(),r.resolve().then(()=>e?void _():0))});return _().then(()=>async()=>{e=0,l=0,d(),await L(async()=>await n,async()=>{v=$=O=null,await s(E)})})},a=>a(),o,l,y,T,F(I),async(a,t)=>await a(Ta+` t.name tn,c.name cn,c.pk OR EXISTS(${Ta} 1 FROM ${Fa}index_list(t.name)i,${Fa}index_info(i.name)ii ${Ia} i."unique"=1 AND ii.name=c.name AND(${Ta} count(*) FROM ${Fa}index_info(i.name))=1)uq FROM ${ka}list()t,${ka}info(t.name)c ${Ia} t.schema='main'AND t.type IN('table','view')AND t.name IN(${ja(t)})ORDER BY t.name,c.name`,t),_,E,n,m,a=>d(a)?1:(a=>!1===a)(a)?0:a,void 0,N)};export{ua as Persists,wa as Status,Ea as createCustomPersister,Ot as createCustomPostgreSqlPersister,At as createCustomSqlitePersister};
|
|
1
|
+
const a=a=>typeof a,t="tinybase",n="",e=",",i=a(n),s="true",c=(a,t,n)=>a.replace(t,n),r=Promise,o=a=>(t,n,e)=>a(t)?e?.():n(t),w=globalThis,l=a=>null==a,u=a=>void 0===a,y=a=>null===a,d=a=>!0===a,_=o(l),E=o(u),m=t=>a(t)==i,N=a=>Array.isArray(a),v=a=>a.length,$=a=>0==v(a),O=(a,t)=>a.test(t),A=a=>new r(a),f=async a=>r.all(a),R=(a,t)=>a.forEach(t),T=(a,t="")=>a.join(t),h=(a,t)=>a.map(t),I=(a,t)=>a.filter(t),g=(a,t=v(a))=>a.splice(0,t),S=(a,...t)=>a.push(...t),D=(a,e)=>{throw((a,e)=>Error(t+":"+a+(u(e)?n:":"+e)))(a,e)},b=async(a,t)=>{try{return await a()}catch(a){t?.(a)}},L=(a,t)=>b(a,a=>{b(()=>t?.(a))}),p=async(a,t)=>{try{return await a()}finally{await t()}},C=(a,t)=>a?.has(t)??!1,F=a=>u(a)||0==(a=>a?.size??0)(a),M=a=>[...a?.values()??[]],P=a=>a.clear(),k=(a,t)=>a?.forEach(t),U=(a,t)=>a?.delete(t),G=Object,x=a=>G.getPrototypeOf(a),H=G.entries,Y=a=>!l(a)&&_(x(a),a=>a==G.prototype||l(x(a)),()=>!0),B=G.keys,W=G.freeze,X=(...a)=>G.assign(G.create(null),...a),j=(a,t,n)=>(G.defineProperty(a,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),q=(a=[])=>{const t=G.create(null);return R(a,([a,n])=>j(t,a,n)),t},J=(a,t)=>(delete a[t],a),K=(a,t)=>R(B(a),n=>t(a[n],n)),z=(a,t)=>h(H(a),([a,n])=>t(n,a)),Q=(a,t)=>{const n=q();return K(a,(a,e)=>j(n,e,t(a,e))),n},V=a=>v(B(a)),Z=a=>Y(a)&&0==V(a),aa=Map,ta=a=>new aa(a),na=(a,t)=>a?.get(t),ea=(a,t)=>k(a,(a,n)=>t(n,a)),ia=(a,t)=>{const n=[];return ea(a,(a,e)=>S(n,t(e,a))),n},sa=(a,t,n)=>u(n)?(U(a,t),a):a?.set(t,n),ca=(a,t,n,e)=>{let i=na(a,t);return C(a,t)?e?.(i):sa(a,t,i=n()),i},ra=(a,t,n,e,i=0)=>E((n?ca:na)(a,t[i],i>v(t)-2?n:ta),s=>{if(i>v(t)-2)return e?.(s)&&sa(a,t[i]),s;const c=ra(s,t,n,e,i+1);return F(s)&&sa(a,t[i]),c}),oa=/^\d+$/,wa=a=>new Set(N(a)||u(a)?a:[a]),la=(a,t)=>a?.add(t),ua={Idle:0,Loading:1,Saving:2},ya={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},da=ta(),_a=ta(),Ea=ta(),ma=(a,t,e,i,s,c,r,o={},w=0,l=[])=>{let d,_,m,f,T,C=0,M=0,P=0,G=0,x=0,H=0,Y=0,B=0,X=0;const j={},q=o.destroy;ca(da,l,()=>0),ca(_a,l,()=>[]),sa(Ea,l,(na(Ea,l)??0)+1);const J=ta(),[K,z,Q,V,aa]=((a=1,t,n)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[a],[t]])=>!Z(a)||!Z(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!Z(a)||!Z(t),t.setContent]:D(0))(r,a,w),[ea,ia,ua]=(a=>{let t;const[e,i]=(()=>{const a=[];let t=0;return[e=>(e?a.shift():null)??n+t++,t=>{O(oa,t)&&v(a)<1e3&&S(a,t)}]})(),s=ta(),c=(a,e,i,c)=>{let r,o=!1;if(R(((a,t=[n])=>{const e=[],i=(a,n)=>n==v(t)?S(e,a):y(t[n])?k(a,a=>i(a,n+1)):R([t[n],null],t=>i(na(a,t),n+1));return i(a,0),e})(e,i),n=>k(n,n=>{const e=()=>na(s,n)[0](t,...i??[],...c);a?(a=>{try{return a()}catch(a){(a=>{o||(r=a),o=!0})?.(a)}})(e):e()})),o)throw r};return[(i,c,r,o=[],w=()=>[])=>{t??=a();const l=e(1);return sa(s,l,[i,c,r,o,w]),la(ra(c,r??[n],wa),l),l},(a,t,...n)=>c(!1,a,t,n),a=>E(na(s,a),([,t,e])=>(ra(t,e??[n],void 0,t=>(U(t,a),F(t)?1:0)),sa(s,a),i(a),e)),a=>E(na(s,a),([a,,n=[],e,i])=>{const s=(...c)=>{const r=v(c);r==v(n)?a(t,...c,...i(c)):y(n[r])?R(e[r]?.(...c)??[],a=>s(...c,a)):s(...c,n[r])};s()}),(a,t,...n)=>c(!0,a,t,n)]})(()=>ba),ya=a=>{a!=C&&(C=a,ia(J,void 0,C))},ma=()=>{na(Ea,l)||na(da,l)||!$(na(_a,l)??[])||(sa(da,l),sa(_a,l),sa(Ea,l))},Na=t=>{(K&&N(t?.[0])?1===t?.[2]?a.__[4]:a.__[3]:1===t?.[2]?a._[10]:a._[9])(t)},va=async()=>{ga()&&a.__?.[0]?.()&&await Ta()},$a=a=>p(()=>_=a,()=>{_==a&&(_=void 0)}),Oa=async a=>(2!=C&&(await p(async()=>{ya(1),M++,await Da(()=>b(async()=>{const n=await t();N(n)?Na(n):u(n)&&a?aa(a):u(n)||D(1,n)},t=>{c?.(t),a&&aa(a)}))},()=>ya(0)),await va()),ba),Aa=async()=>{const a=Y;Y=0,a&&a==G&&!X&&(2==C?Y=a:await Oa())},fa=async a=>{const t=++G;let n=!0;if(await Ra(!0),t==G&&!X){const e=b(async()=>{const a=await i(async(a,e)=>{if(t==G&&!X)if(e||a){const t=n||2==C||!!H;x++,t&&H++,await p(async()=>{ya(1),M++,await(t?Da(()=>Na(e??a)):(()=>{try{return Na(e??a)}finally{ya(0)}})())},()=>{t&&H--,--x||ya(0)}),x||await va()}else 2==C?Y=t:await Oa()});t!=G||X?u(a)||await s(a):d=a},c);await $a(e),t!=G||X||await p(()=>Oa(a),()=>{n=!1})}return ba},Ra=async(a=!1)=>{Y=0,a||G++;const t=_,n=d;return d=void 0,await $a(p(async()=>{await t},async()=>{u(n)||await b(()=>s(n),c)})),ba},Ta=async a=>(1!=C&&await p(()=>p(async()=>{ya(2),P++,await Da(()=>b(()=>e(z,a),c))},()=>ya(0)),Aa),ba),ha=async()=>{const t=++B;return await Ia(!0),t!=B||X||(await Ta(),t!=B||X||(m=a.addDidFinishTransactionListener(()=>{if(t==B&&!X){const a=Q();V(a)&&b(()=>Ta(a))}}))),ba},Ia=async(t=!1)=>{t||B++;const n=m;return m=void 0,u(n)||a.delListener(n),ba},ga=()=>!u(m),Sa=async(a=!1)=>{const[t,n]=a?[Ia,Ra]:[Ra,Ia];return await p(()=>t(),async()=>{await n()}),ba},Da=async(...a)=>{let t,n=!1;const e=A(e=>$(a)?e():S(na(_a,l),...h(a,(i,s)=>{const r=s==v(a)-1;return[async()=>{let a;T=A(t=>a=t),await p(async()=>{try{await b(i,c)}catch(a){n||(n=!0,t=a)}r&&e()},()=>{T=void 0,a()})},r?e:void 0,j]})));if(await(async()=>{if(!na(da,l)){sa(da,l,1);const a=na(_a,l);let t=0;await p(async()=>{for(;t<v(a);){const n=a[t++];n[2]=void 0,await n[0]()}},()=>{g(a,t),sa(da,l,0),ma()})}})(),await e,n)throw t;return ba},ba={load:Oa,startAutoLoad:fa,stopAutoLoad:Ra,isAutoLoading:()=>!u(d),save:Ta,startAutoSave:ha,stopAutoSave:Ia,isAutoSaving:ga,startAutoPersisting:async(a,t=!1)=>{const[n,e,i,s]=t?[ha,fa,Ia,Ra]:[fa,ha,Ra,Ia],c=n(a),r=t?B:G;await c;const o=e(a),w=t?G:B;try{await o}catch(a){throw w==(t?G:B)&&await L(s),r==(t?B:G)&&await L(i),a}return ba},stopAutoPersisting:Sa,getStatus:()=>C,addStatusListener:a=>ea(a,J),delListener:t=>(ua(t),a),schedule:Da,getStore:()=>a,getStats:()=>({loads:M,saves:P}),...o,destroy:async()=>(u(f)&&(X=1,f=(async()=>{const a=na(_a,l),t=I(a,([,a,t])=>t!=j||(a?.(),!1)),n=T;g(a),S(a,...t),await p(()=>p(()=>p(Sa,()=>n),()=>q?.()),()=>{const a=(na(Ea,l)??1)-1;sa(Ea,l,a||void 0),ma()})})()),await f,ba)};return W(ba)},Na=JSON.stringify,va=JSON.parse,$a=a=>Na(a,(a,t)=>u(t)?"":t),Oa=a=>""===a?void 0:N(a)?h(a,Oa):Y(a)?Q(a,Oa):a,Aa=new w.TextEncoder,fa=a=>{let t=2166136261;return R(Aa.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Ra="_",Ta="_id",ha="SELECT",Ia="WHERE",ga="TABLE",Sa="INSERT",Da="DELETE",ba="UPDATE",La="ALTER "+ga,pa="FROM",Ca=Da+" "+pa,Fa=ha+"*"+pa,Ma="pragma_",Pa="data_version",ka="schema_version",Ua="pragma_table_",Ga="CREATE ",xa=Ga+ga,Ha="OR REPLACE ",Ya="FUNCTION",Ba=/\$tableName/g,Wa=(a,t)=>t?async(n,e)=>(t(n,e),await a(n,e)):a,Xa=a=>T(h(((a,t="",n)=>a.split(t,n))(a,"."),a=>`"${c(a,/"/g,'""')}"`),"."),ja=(...a)=>Xa(T(a,"_")),qa=(a,t=[1])=>T(h(a,()=>"$"+t[0]++),e),Ja=(a,t=s)=>Ia+`(${Ka(t,Xa(a))})`,Ka=(a,t)=>c(a,Ba,t),za="ColumnName",Qa="store",Va="json",Za=Qa+"TableName",at=Qa+"Id"+za,tt=Qa+za,nt="autoLoadIntervalSeconds",et="rowId"+za,it="tableId",st="tableName",ct="deleteEmptyColumns",rt="deleteEmptyTable",ot="condition",wt={mode:Va,[nt]:1},lt={load:0,save:0,[st]:t+"_values"},ut=a=>N(a)?a:void 0,yt=a=>d(a)||N(a),dt=(a,t,n,e,i)=>{const s=ta();return K(a,(a,c)=>{const r=(l=X(t,m(a)?{[n]:a}:a),o=G.values(l),w=V(t),o.slice(0,w));var o,w,l;y(r[0])||e(c,r[0])||(i(c,r[0]),sa(s,c,r))}),s},_t=a=>{const n=(a=>X(wt,m(a)?{[Za]:a}:a??{}))(a),e=n[nt];if(n.mode==Va){const a=n[Za]??t;return[1,e,[a,n[at]??Ta,n[tt]??Qa],wa(a)]}const{tables:{load:i={},save:c={}}={},values:r={}}=n,o=X(lt,r),{load:w,save:l}=o,u=[yt(w),yt(l),o[st],ut(w),ut(l)],y=u[2],d=wa(y),_=wa(y),E=dt(i,{[it]:null,[et]:Ta,[ot]:s},it,a=>C(_,a),a=>la(d,a)),N=dt(c,{[st]:null,[et]:Ta,[ct]:0,[rt]:0,[ot]:null},st,(a,t)=>C(_,t),(a,t)=>la(d,t));return ea(N,(a,t)=>t[4]??=na(E,t[0])?.[2]??s),[0,e,[E,N,u],d]},Et=(a,n,i,c,r=mt,o,w,l)=>{const y=ta(),d=ta();let _=a;return[async()=>{P(y),P(d),R(await i(_,n),({tn:a,cn:t,uq:n})=>{la(ca(y,a,wa),t),n&&la(ca(d,a,wa),t)})},async(a,t,n,e)=>{const i=u(e)?void 0:wa(e);return((a,t)=>C(na(y,a),t))(a,t)?q(I(h(await _(Fa+Xa(a)+Ja(a,n)),a=>{const n=a[t],e=w?Q(J(a,t),w):J(a,t);return[n,u(i)?e:q(I(z(e,(a,t)=>[t,a]),([a])=>(a=>u(i)||C(i,a))(a)))]}),a=>!u(a[0])&&!Z(a[1]))):{}},async(a,n,i,w,l,E=!1,m=s,N)=>{const v=u(N)?void 0:wa(N),O=a=>u(v)||C(v,a),A=wa();K(i??{},a=>R(I(B(a??{}),O),a=>la(A,a)));const g=M(A);if(u(v)&&!E&&l&&m==s&&$(g)&&C(y,a))return await _("DROP "+ga+Xa(a)),sa(y,a),void sa(d,a);const D=na(y,a),b=wa(I(M(D),a=>a==n||O(a)));if(!$(g))if(C(y,a)){if(await f(h([n,...g],async t=>{U(b,t)||(await _(La+Xa(a)+"ADD"+Xa(t)+c),la(D,t))})),r==mt&&!C(na(d,a),n)){const e=t+"_pk_"+fa(Na([a,n]));await _("CREATE UNIQUE INDEX IF NOT EXISTS"+Xa(e)+"ON"+Xa(a)+`(${Xa(n)})`),la(ca(d,a,wa),n)}}else await _(xa+Xa(a)+`(${Xa(n)}${c} PRIMARY KEY${T(h(g,a=>e+Xa(a)+c))});`),sa(y,a,wa([n,...g])),sa(d,a,wa([n]));if(await f([...!E&&w?h(M(b),async t=>{t!=n&&(await _(La+Xa(a)+"DROP"+Xa(t)),U(D,t))}):[]]),E)u(i)?u(v)&&await _(Ca+Xa(a)+Ja(a,m)):await f(z(i,async(t,e)=>{if(u(t))await _(Ca+Xa(a)+Ja(a,m)+`AND(${Xa(n)}=$1)`,[e]);else if(!$(g)){const i=I(B(t),O);$(i)||await r(_,a,n,i,{[e]:h(i,a=>o?o(t[a]):t[a])},D)}}));else if($(g))u(v)&&C(y,a)&&await _(Ca+Xa(a)+Ja(a,m));else{const t=I(M(na(y,a)),a=>a!=n&&O(a)),e=q(),s=[];K(i??{},(a,n)=>{j(e,n,h(t,t=>o?o(a?.[t]):a?.[t])),S(s,n)}),await r(_,a,n,t,e,D),await _(Ca+Xa(a)+Ja(a,m)+`AND${Xa(n)}NOT IN(${qa(s)})`,s)}},async t=>{if(l)return await l(async a=>{const n=_;return _=a,await p(t,()=>{_=n})});await a("BEGIN");try{const n=await t();return await a("END"),n}catch(t){throw await b(()=>a("ROLLBACK")),t}}]},mt=async(a,t,n,i,s)=>{const c=[1];await a(Sa+" INTO"+Xa(t)+"("+((...a)=>T(h(a,Xa),e))(n,...i)+")VALUES"+T(z(s,a=>"($"+c[0]+++","+qa(a,c)+")"),e)+"ON CONFLICT("+Xa(n)+`)DO ${ba} SET`+T(h(i,a=>Xa(a)+"=excluded."+Xa(a)),e),z(s,(a,t)=>[t,...h(a,a=>a??null)]).flat())},Nt=(a,t,n,e,i,s,c,[r,o,w],l,u,y,d,_,E,m,N,v)=>{const[$,O,A,f]=Et(t,l,u,_,E,void 0,void 0,v);return ma(a,()=>f(async()=>{return await $(),a=(await O(r,o))[Ra]?.[w]??"null",Oa(va(a));var a}),a=>f(async()=>{await $(),await A(r,o,{[Ra]:{[w]:$a(a()??null)}},!0,!0)}),n,e,i,c,{[d]:()=>y,destroy:s},0,y)},vt=(a,t,n,e,i,s,c,[r,o,[w,l,y,d,_]],E,m,N,v,$,O,A,R,T)=>{const[g,S,D,b]=Et(t,E,m,$,O,A,R,T),L=(a,t)=>f(ia(o,async([n,e,i,s,c],r)=>{var o,w;t&&(o=a,w=r,!G.hasOwn(o,w))||await D(n,e,a[r],i,s,t,c)})),p=(a,t,n)=>q(1==n?I(z(a,(a,t)=>[t,a]),([a])=>{return n=a,t.includes(n);var n}):I(h(t,t=>[t,a[t]]),([,a])=>!u(a))),C=async(a,t)=>l?await D(y,Ta,{[Ra]:u(_)?a:p(a,_,t)},!0,!0,t,void 0,_):null;return ma(a,()=>b(async()=>{await g();const a=await(async()=>q(I(await f(ia(r,async([a,t,n],e)=>[a,await S(e,t,n)])),a=>!Z(a[1]))))(),t=await(async()=>w?(await S(y,Ta,void 0,d))[Ra]:{})();return Z(a)&&u(t)?void 0:[a,t]}),(a,t)=>b(async()=>{if(await g(),u(t)){const[t,n]=a();await L(t),await C(n)}else await L(t[0],!0),await C(t[1],!0)}),n,e,i,c,{[v]:()=>N,destroy:s},0,N)},$t=/^([cd]:)(.+)/,Ot=/^[A-Za-z0-9_]+$/,At=ta(),ft=(a,e,i,c,r,o,w,l,u,y,d="getDb")=>{const _=Wa(i,o),[m,,N,A]=_t(e);!m&&a.isMergeable()&&D(0);const R=n+fa($a(N)),I=t+"_"+R,g=y??i,P=async(a,n,e="",i="")=>{const s=ja(t,a,R);return await _(Ga+Ha+Ya+s+`()RETURNS ${e}trigger AS $$ ${i}BEGIN ${n}END;$$ LANGUAGE plpgsql;`),s},k=async(a,t,n,e)=>(await _(Ga+a+"TRIGGER"+t+n+"EXECUTE "+Ya+e+"()"),t),U=a=>`PERFORM pg_notify('${I}',${a});`,G=(a,t)=>m?s:2===t?G(a,0)+" OR "+G(a,1):Ka(na(N[0],a)?.[2]??s,0==t?"NEW":"OLD"),x=(a,e)=>f(h([Sa,Da,ba],(i,s)=>{const c=T([t,"d",R,a,i],"_");return k(Ha,O(Ot,a)&&v(c)<=63?Xa(c):ja(t,"d",R,i,n+fa(a)),`AFTER ${i} ON${Xa(a)}FOR EACH ROW WHEN(${G(a,s)})`,e)})),H=async a=>{$(a)||await _(`DROP FUNCTION IF EXISTS${T(a,",")}CASCADE`)},Y=(a,t)=>{na(a,R)===t&&(sa(a,R),F(a)&&na(At,g)===a&&sa(At,g))},B=async()=>{const a=ca(At,g,()=>ta()),n=na(a,R);if(n)return await n[1],n[0]?(n[0]++,n):(await b(()=>n[4]),await B());const e=[],i=[1,void 0,e];sa(a,R,i),i[1]=(async()=>{const a=await P("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Ia} command_tag='${xa}' LOOP ${U("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");S(e,a),await k("EVENT ",ja(t,"c",R),`ON ddl_command_end WHEN TAG IN('${xa}')`,a);const n=await P("d",U("'d:'||TG_TABLE_NAME")+"RETURN NULL;");S(e,n),i[3]=n,await f(h(M(A),async a=>(await _(xa+` IF NOT EXISTS${Xa(a)}("_id"text PRIMARY KEY)`),await x(a,n))))})();try{await i[1]}catch(t){throw i[0]=0,i[4]=p(()=>H(e),()=>Y(a,i)),await b(()=>i[4]),t}return i},W=async a=>{if(0==--a[0]){const t=na(At,g);a[4]=p(()=>H(a[2]),()=>Y(t,a)),await a[4]}};return(m?Nt:vt)(a,_,async a=>{const t=await B();try{return[await c(I,n=>{L(()=>{return E((e=n,i=$t,e?.match(i)),async([,n,e])=>{C(A,e)&&("c:"==n&&await x(e,t[3]),await a())});var e,i},w)}),t]}catch(a){throw await L(()=>W(t),w),a}},async([a,t])=>{await p(()=>r(a),()=>W(t))},w,l,u,N,M(A),async(a,t)=>await a(ha+` c.table_name tn,c.column_name cn,CASE WHEN tc.constraint_type IN('PRIMARY KEY','UNIQUE')AND(${ha} count(*) FROM information_schema.key_column_usage kcu2 ${Ia} kcu2.constraint_schema=kcu.constraint_schema AND kcu2.constraint_name=kcu.constraint_name)=1 THEN 1 ELSE 0 END uq FROM information_schema.columns c LEFT JOIN information_schema.key_column_usage kcu ON kcu.table_schema=c.table_schema AND kcu.table_name=c.table_name AND kcu.column_name=c.column_name LEFT JOIN information_schema.table_constraints tc ON tc.constraint_schema=kcu.constraint_schema AND tc.constraint_name=kcu.constraint_name ${Ia} c.table_schema='public'AND c.table_name IN(${qa(t)})`,t),y,d,"text",void 0,a=>Na(a),a=>va(a))},Rt=(a,t,e,i,s,c,o,w,y,_,E="getDb",m,N)=>{let v,$,O;const A=Wa(e,c),[f,R,T,h]=_t(t);return!f&&a.isMergeable()&&D(0),(f?Nt:vt)(a,A,a=>{let t,n,e=1,c=0,w=0;const y=async(t=!0)=>{const[{d:n,s:i,c:s}]=await A(ha+` ${Pa} d,${ka} s,TOTAL_CHANGES() c FROM ${Ma}${Pa} JOIN ${Ma}${ka}`);if(e&&(n!=v||i!=$||s!=O)){const c=t&&!w&&!l(v);v=n,$=i,O=s,c&&e&&await a()}},d=()=>{u(t)||((a=>{clearInterval(a)})(t),t=void 0)},_=(i=!1)=>{if(n)return n;const s=p(()=>L(async()=>{for(c?i&&await y():(await y(!1),c=1);e&&w;)w=0,await y(!1),e&&(await a(),await y())},o),()=>{n==s&&(n=void 0),e&&(w?_():e&&u(t)&&(t=setInterval(()=>_(!0),1e3*R)))});return n=s,s},E=i(a=>{e&&C(h,a)&&(w=1,d(),r.resolve().then(()=>e?void _():0))});return _().then(()=>async()=>{e=0,w=0,d(),await p(async()=>await n,async()=>{v=$=O=null,await s(E)})})},a=>a(),o,w,y,T,M(h),async(a,t)=>await a(ha+` t.name tn,c.name cn,c.pk OR EXISTS(${ha} 1 FROM ${Ma}index_list(t.name)i,${Ma}index_info(i.name)ii ${Ia} i."unique"=1 AND ii.name=c.name AND(${ha} count(*) FROM ${Ma}index_info(i.name))=1)uq FROM ${Ua}list()t,${Ua}info(t.name)c ${Ia} t.schema='main'AND t.type IN('table','view')AND t.name IN(${qa(t)})ORDER BY t.name,c.name`,t),_,E,n,m,a=>d(a)?1:(a=>!1===a)(a)?0:a,void 0,N)};export{ya as Persists,ua as Status,ma as createCustomPersister,ft as createCustomPostgreSqlPersister,Rt as createCustomSqlitePersister};
|
|
Binary file
|
package/min/queries/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),r=e(!0),n=e(0),s=e(e),o="Listener",l="Result",a="Ids",i="Table",d="Row",c=d+"Count",u=d+a,v="Sorted"+d+a,f="Cell",w=f+a,g=Math,L=e=>(t,r,n)=>e(t)?n?.():r(t),R=g.max,h=g.min,y=1/0,p=isFinite,C=e=>null==e,b=e=>void 0===e,m=e=>!0===e,T=L(C),I=L(b),P=t=>e(t)==s,V=e=>Array.isArray(e),S=(e,t,r)=>e.slice(t,r),E=e=>e.length,Q=e=>0==E(e),_=()=>{},D=(e,t)=>e.every(t),O=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),k=e=>x(e,(e,t)=>e+t,0),x=(e,t,r)=>e.reduce(t,r),A=(e,...t)=>e.push(...t),F=e=>e?.size??0,M=(e,t)=>e?.has(t)??!1,z=e=>b(e)||0==F(e),W=(e,t)=>{for(const[r,n]of e?.entries()??[])if(!t(n,r))return!1;return!0},J=e=>e.clear(),N=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),B=Object,G=e=>B.getPrototypeOf(e),H=e=>!C(e)&&T(G(e),e=>e==B.prototype||C(G(e)),()=>!0),K=B.keys,U=B.freeze,X=(e,t,r)=>(B.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}),r),Y=(e=[])=>{const t=B.create(null);return j(e,([e,r])=>X(t,e,r)),t},Z=e=>H(e)&&0==(e=>E(K(e)))(e),$=Map,ee=e=>new $(e),te=(e,t)=>e?.get(t),re=(e,t)=>N(e,(e,r)=>t(r,e)),ne=(e,t,r)=>b(r)?(q(e,t),e):e?.set(t,r),se=(e,t,r,n)=>{let s=te(e,t);return M(e,t)?n?.(s):ne(e,t,s=r()),s},oe=(e,t,r,n,s=0)=>I((r?se:te)(e,t[s],s>E(t)-2?r:ee),o=>{if(s>E(t)-2)return n?.(o)&&ne(e,t[s]),o;const l=oe(o,t,r,n,s+1);return z(o)&&ne(e,t[s]),l}),le=ee([["avg",[(e,t)=>k(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>x(e,(e,t)=>R(e,t),-1/0),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>x(e,(e,t)=>h(e,t),y),(e,t)=>h(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:h(t,e)]],["sum",[e=>k(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),ae=JSON.stringify,ie=(e,t)=>{try{return e()}catch(e){t?.(e)}},de=e=>new Set(V(e)||b(e)?e:[e]),ce=(e,t)=>e?.add(t),ue="_",ve=(()=>{const s=new WeakMap;return a=>{if(!s.has(a)){const g=(s=>{const a=s._[0],g=a(),L=a(),R=ee(),h=ee(),y=de(),C=ee(),T=ee(),k={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},x=ee(),G=ee(),$=ee(),ve=ee(),{_:[,fe,we],delListener:ge}=L,[Le,Re,he,ye,pe,Ce,be,me,,Te,Ie,Pe]=((e,t,r,n,s)=>{const o=e.hasRow,l=ee(),a=ee(),i=ee(),d=ee(),c=ee(),u=ee(),v=t=>I(te(u,t),r=>{N(r,t=>{e.delListener(t),q(r,t)}),ne(u,t)}),f=(e,t)=>{ne(l,e,t),M(a,e)||(ne(a,e,[]),ne(d,e,ee()),ne(c,e,ee()),ie(()=>s(i),t=>{throw ne(l,e),ne(a,e),ne(d,e),ne(c,e),t}))},w=e=>{ne(l,e),ne(a,e),ne(d,e),ne(c,e),v(e),s(i)};return[()=>e,()=>{return e=l,[...e?.keys()??[]];var e},e=>re(a,e),e=>M(a,e),e=>te(l,e),e=>te(a,e),(e,t)=>ne(a,e,t),f,(t,n,s,l,a)=>{f(t,n);const i=ee(),w=ee(),g=te(d,t),L=te(c,t),R=t=>{const s=r=>e.getCell(n,t,r),d=te(g,t),c=o(n,t)?r(l(s,t)):void 0;var u,v,f,R;if(d===c||V(d)&&V(c)&&(v=c,E(u=d)===E(v)&&D(u,(e,t)=>v[t]===e))||ne(i,t,[d,c]),!b(a)){const e=te(L,t),r=o(n,t)?a(s,t):void 0;(f=e)===(R=r)||(H(f)||V(f))&&ae(f)===ae(R)||ne(w,t,r)}},h=e=>{s(()=>{N(i,([,e],t)=>ne(g,t,e)),N(w,(e,t)=>ne(L,t,e))},i,w,g,L,e),J(i),J(w)};re(g,R),e.hasTable(n)&&j(e.getRowIds(n),e=>{M(g,e)||R(e)}),h(!0),v(t),((e,...t)=>{const r=se(u,e,de);j(t,e=>ce(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>R(r)),e.addTableListener(n,()=>h()))},w,e=>n(e,i),()=>re(u,w)]})(s,0,_,fe,we),Ve=e=>se(h,e,a),Se=(e,t,...r)=>j(r,r=>ce(se(t,e,de),r)),Ee=e=>re(e,(e,t)=>N(t,t=>e.delListener(t))),Qe=(e,t,r,...n)=>{const s=se(t,e,de);return j(n,t=>{ce(s,t),r&&e.callListener(t)}),n},_e=(e,t,r)=>I(te(t,e),n=>{e.delListener(r),q(n,r),z(n)&&ne(t,e)}),De=(e,t=ee())=>{const r=se($,e,ee);re(r,(e,n)=>{re(n,(r,s)=>M(te(t,e),r)?0:(e.delListener(s),ne(n,r))),z(n)&&ne(r,e)}),re(t,(t,n)=>{const s=se(r,t,ee);N(n,r=>se(s,r,()=>t.addTableCellIdsListener(r,()=>xe(e))))}),z(r)&&ne($,e)},Oe=()=>{re(R,e=>ye(e)?0:ne(R,e)),re(h,(e,t)=>ye(e)||((e,t)=>!(W(C,([,e])=>W(e,([e])=>e!==t))&&W(ve,t=>!M(t,e))&&D([x,G],e=>W(e,e=>!M(e,t)))))(e,t)?0:ne(h,e))},je=(e,t,r)=>{Se(e,r,e.addWillFinishTransactionListener(t.startTransaction)),Se(e,r,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},ke=(e,t)=>(Z(t)?g.delRow:g.setRow)(ue,e,{...t}),xe=(o,l)=>{const i=[ee(),ee(),void 0,ee(),de()];let d=!1;return ie(()=>((o,l,i,d)=>Ve(o).transaction(()=>I(((e,t)=>b(t)?Ce(e):[t[1],"",t[2]])(o,i),([c,,u])=>{const[v,f]=l,w=i?.[0]??pe(o),g=u?Ve(w):s,L=Ve(o),R=i?.[3]??Me(o),h=l[4];u&&ce(h,w);const y=[];let C=!1,T=0;const S=[[void 0,[w,void 0,void 0,[],ee(),g]]],E=[],_=[],k=[];if(c({select:(e,t,r)=>{const n=m(e)?t:e,s=m(e)?r:t,o=P(e)?[0,T+"",e]:b(s)?[0,e,t=>t(e)]:[0,s,t=>m(e)?t(!0,n,s):t(n,s)];return T++,A(y,o),{as:e=>o[1]=e}},selectAll:(e,t,r)=>{C=!0;const n=m(e)?t:e,s=m(e)?r:t;A(y,[1,n,P(s)?s:e=>(s??"")+e])},join:(e,t,r,n)=>{const o=m(e)?t:e,[l,a]=m(e)?b(n)||P(r)?[void 0,r]:[r,n]:b(r)||P(t)?[void 0,t]:[t,r],i=m(e),d=i?Ve(o):s;i&&ce(h,o);const c=[o,[o,l,P(a)?a:e=>e(a),[],ee(),d]];return A(S,c),{as:e=>c[0]=e}},where:(e,t,r,n)=>A(E,P(e)?e:m(e)?e=>e(!0,t,r)===n:b(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,P(t)?[t,r,n,s]:te(le,t)??[(e,t)=>t]]];return A(_,o),{as:e=>o[0]=e}},having:(e,t)=>A(k,P(e)?e:r=>r(e)===t),param:e=>{return t=e,I(R,e=>I(B.getOwnPropertyDescriptor(e,t),()=>e[t]));var t}}),L.delTable(o),Q(y))return d?.(),ze;const x=ee(S);re(x,(e,[,t])=>I(te(x,t),({3:t})=>b(e)?0:A(t,e)));const W=ee(_),J=!z(W)||!Q(k),G=[],K=l[3],U=e=>te(x,b(e)||e===w?void 0:e);j(y,([e,t,r])=>{e?J&&I(U(t),([e,,,,,n])=>{ce(se(K,n,de),e),j(O(n.getTableCellIds(e)),e=>A(G,[r(e),r=>b(t)||t===w?r(e):r(t,e)]))}):A(G,[t,r])});const $=ee(G);if(J&&z($))return d?.(),ze;const ie=J?l[2]=a():L;if(J){const s=ee();re(W,(e,[t,r])=>ce(se(s,t,de),[e,r]));const l=de();re($,e=>M(s,e)?0:ce(l,e));const a=ee(),i=e=>{return b(e)?void 0:H(t=e)||V(t)?"�"+ae(t):t;var t},d=(l,a,i,d)=>I(l,([c,u,v,f])=>{re(a,(o,[l])=>{const a=se(c,o,ee),u=te(a,i),v=d?void 0:l;if(u!==v){const l=de([[u,v]]),d=F(a);ne(a,i,v),N(te(s,o),([s,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(z(r))return;const[l,a,i,d]=s;return o||=b(e),N(n,([r,n])=>{o||(e=b(r)?a?.(e,n,t++):b(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=b(e))}),o?l((c=r,[...c?.values()??[]]),F(r)):e;var c})(f[s],d,a,l,o);X(f,s,b((s=>{if(null===s)return"null";if(V(s))return"array";if(H(s))return"object";const o=e(s);return(e=>e==t||e==r)(o)||o==n&&p(s)?o:void 0})(i))?void 0:i)})}}),z(u)||!D(k,e=>e(e=>f[e]))?L.delRow(o,v):b(v)?l[2]=L.addRow(o,{...f}):L.setRow(o,v,{...f})});Se(ie,v,ie.addRowListener(o,null,(e,t,r,n)=>{const c=[],u=[],v=ee(),f=ie.hasRow(o,r);let w=!f;N(l,e=>{const[t,s,l]=n(o,r,e);A(c,i(s)),A(u,i(l)),w||=t}),re(s,e=>{const[t,,s]=n(o,r,e);(w||t)&&ne(v,e,[s])}),w&&d(oe(a,c,void 0,([,e])=>(q(e,r),z(e))),v,r,1),f&&d(oe(a,u,()=>{const e=Y();return N(l,t=>X(e,t,ie.getCell(o,r,t))),[ee(),de(),void 0,e]},([,e])=>{ce(e,r)}),v,r)}))}const ue=(e,t,r,n,s)=>{const l=e=>t.getCell(r,n,e);j(s,t=>{const[r,,n,s,o,a]=te(x,t),i=n?.(l,e),d=te(o,e),c=d?.[0];i!=c&&(I(d,([,e,t])=>_e(e,f,t)),ne(o,e,b(i)?void 0:[i,a,...Qe(a,f,1,a.addRowListener(r,i,()=>ue(e,a,r,i,s)))]))}),(e=>{const t=(t,r,n)=>{const s=m(t)?r:t,o=m(t)?n:r;if(b(o))return g.getCell(w,e,t);if(s===w&&!m(t))return g.getCell(w,e,o);const l=te(x,s);return b(l)?void 0:l[5].getCell(l[0],te(l[4],e)?.[0],o)};ie.transaction(()=>{if(D(E,e=>e(t)))if(J)re($,(r,n)=>ie._[5](o,e,r,n(t,e)));else if(C){const r=Y();j(y,([n,s,o])=>{if(n)I(U(s),([t,,,,n,l])=>{const a=b(s)||s===w?e:te(n,e)?.[0];I(a,e=>j(O(l.getCellIds(t,e)),n=>X(r,o(n),l.getCell(t,e,n))))});else{const n=o(t,e),l=s;b(n)?delete r[l]:X(r,l,n)}}),Z(r)?ie.delRow(o,e):ie.setRow(o,e,r)}else re($,(r,n)=>ie._[5](o,e,r,n(t,e)));else ie.delRow(o,e)})})(e)},{3:ve}=te(x,void 0),fe=(e,t,r)=>{g.hasRow(w,r)?ue(r,g,w,r,ve):(ie.delRow(o,r),N(x,({4:e})=>I(te(e,r),([,t,n])=>{_e(t,f,n),ne(e,r)})))};return ie.transaction(()=>{j(g.getRowIds(w),e=>fe(0,0,e)),Qe(g,f,0,g.addRowListener(w,null,fe))}),J&&je(ie,L,v),je(g,ie,v),d?.(),ze})))(o,i,l,()=>{I(l,e=>Ae(o,e)),Ee(te(x,o)),Ee(te(G,o)),ne(x,o,z(i[0])?void 0:i[0]),ne(G,o,z(i[1])?void 0:i[1]),ne(R,o,i[2]),De(o,i[3]),ne(ve,o,z(i[4])?void 0:i[4]),d=!0}),e=>{throw d||(Ee(i[0]),Ee(i[1])),Oe(),e}),ze},Ae=(e,[t,r,n,s])=>{I(Ce(e),([,e])=>g.delListener(e)),ce(y,e),(()=>{try{return me(e,t),be(e,[r,g.addRowListener(ue,e,()=>M(y,e)?0:xe(e),!0),n]),void ke(e,s)}finally{q(y,e)}})()},Fe=e=>(I(Ce(e),([,e])=>g.delListener(e)),g.delRow(ue,e),(e=>{Ee(te(x,e)),ne(x,e),j([te(h,e),te(R,e)],t=>t?.delTable(e))})(e),(e=>{Ee(te(G,e)),ne(G,e)})(e),De(e),ne(ve,e),Te(e),Oe(),ze),Me=e=>g.getRow(ue,e),ze={setQueryDefinition:(e,t,r,n,s={})=>{const[o,l,a,i]=m(t)?[r,n,1,s]:[t,r,0,n??{}];return xe(e,[o,l,a,i]),Oe(),ze},delQueryDefinition:Fe,getParamValues:Me,getParamValue:(e,t)=>g.getCell(ue,e,t),setParamValues:(e,t)=>(ye(e)&&ke(e,t),ze),setParamValue:(e,t,r)=>(ye(e)&&g.setCell(ue,e,t,r),ze),getStore:Le,getQueryIds:Re,forEachQuery:he,hasQuery:ye,getTableId:pe,forEachResultTable:e=>he(t=>Ve(t).hasTable(t)?e(t,e=>ze.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Ie(()=>e(ze)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(ue,e,(e,r,n)=>t(ze,n,Me(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(ue,e,t,(e,t,n,s,o)=>r(ze,n,s,o)),delListener:e=>{const t=te(C,e);if("p"==e[0])g.delListener(S(e,1));else if(b(t))ge(e);else{const[r,n,s]=t;re(n,(e,[t,r])=>t.delListener(r)),I(s,ge),ne(C,e),ge(e),k[r]--}return Oe(),ze},destroy:()=>{j(Re(),Fe),Pe()},getListenerStats:()=>({...k,paramValues:g.getListenerStats().row-E(Re()),paramValue:g.getListenerStats().cell})};var We,Je;return Je=([e,t],r)=>{j(S(["get","has","forEach"],0,e),e=>X(ze,e+l+r,(...t)=>(te(h,t[0])??L)[e+r](...t))),X(ze,"add"+l+r+o,(...e)=>((n,s)=>{const l=fe(_,T),a=ee(),i=()=>{const n=null==s?Re():[s];j(n,n=>{return M(a,n)?0:ne(a,n,[Ve(n),(s=Ve(n),s["add"+r+o](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:S(e,0,t))(e,t),(r,...n)=>e[t](ze,...n),!0))]);var s}),re(a,(e,[t,r])=>null==s&&ye(e)||e==s?0:(t.delListener(r),void ne(a,e)))};return i(),ne(C,l,[n,a,null==s?Ie(i):void 0]),k[n]++,l})((e=>e[0].toLowerCase()+S(e,1))(r),e[0]))},j(K(We={[i]:[2,1],[i+w]:[1,1],[c]:[1,1],[u]:[1,1],[v]:[1,5],[d]:[3,2],[w]:[1,2],[f]:[3,3]}),e=>Je(We[e],e)),U(ze)})(a);s.set(a,g)}return s.get(a)}})();export{ve as createQueries};
|
|
1
|
+
const e=e=>typeof e,t="",r=e(t),n=e(!0),s=e(0),o=e(e),l="Listener",a="Result",i="Ids",d="Table",c="Row",u=c+"Count",v=c+i,w="Sorted"+c+i,f="Cell",L=f+i,g=Math,h=e=>(t,r,n)=>e(t)?n?.():r(t),R=g.max,y=g.min,b=1/0,p=isFinite,C=e=>null==e,m=e=>void 0===e,T=e=>!0===e,I=h(C),P=h(m),V=t=>e(t)==o,E=e=>Array.isArray(e),S=(e,t,r)=>e.slice(t,r),Q=e=>e.length,D=e=>0==Q(e),O=()=>{},_=(e,t)=>e.every(t),j=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=e=>A(e,(e,t)=>e+t,0),A=(e,t,r)=>e.reduce(t,r),F=(e,...t)=>e.push(...t),M=e=>e?.size??0,z=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==M(e),J=(e,t)=>{for(const[r,n]of e?.entries()??[])if(!t(n,r))return!1;return!0},N=e=>e.clear(),q=(e,t)=>e?.forEach(t),B=(e,t)=>e?.delete(t),G=Object,H=e=>G.getPrototypeOf(e),K=e=>!C(e)&&I(H(e),e=>e==G.prototype||C(H(e)),()=>!0),U=G.keys,X=G.freeze,Y=(e,t,r)=>(G.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}),r),Z=(e=[])=>{const t=G.create(null);return k(e,([e,r])=>Y(t,e,r)),t},$=e=>K(e)&&0==(e=>Q(U(e)))(e),ee=Map,te=e=>new ee(e),re=(e,t)=>e?.get(t),ne=(e,t)=>q(e,(e,r)=>t(r,e)),se=(e,t,r)=>m(r)?(B(e,t),e):e?.set(t,r),oe=(e,t,r,n)=>{let s=re(e,t);return z(e,t)?n?.(s):se(e,t,s=r()),s},le=(e,t,r,n,s=0)=>P((r?oe:re)(e,t[s],s>Q(t)-2?r:te),o=>{if(s>Q(t)-2)return n?.(o)&&se(e,t[s]),o;const l=le(o,t,r,n,s+1);return W(o)&&se(e,t[s]),l}),ae=te([["avg",[(e,t)=>x(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>A(e,(e,t)=>R(e,t),-1/0),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>A(e,(e,t)=>y(e,t),b),(e,t)=>y(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:y(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),ie=JSON.stringify,de=(e,t)=>{try{return e()}catch(e){t?.(e)}},ce=e=>new Set(E(e)||m(e)?e:[e]),ue=(e,t)=>e?.add(t),ve="_",we=(()=>{const o=new WeakMap;return i=>{if(!o.has(i)){const g=(o=>{const i=o._[0],g=i(),h=i(),R=te(),y=te(),b=ce(),C=te(),I=te(),x={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},A=te(),H=te(),ee=te(),we=te(),fe=te(),Le=te(),{_:[,ge,he],delListener:Re}=h,[ye,be,pe,Ce,me,Te,Ie,Pe,,Ve,Ee,Se]=((e,t,r,n,s)=>{const o=e.hasRow,l=te(),a=te(),i=te(),d=te(),c=te(),u=te(),v=t=>P(re(u,t),r=>{q(r,t=>{e.delListener(t),B(r,t)}),se(u,t)}),w=(e,t)=>{se(l,e,t),z(a,e)||(se(a,e,[]),se(d,e,te()),se(c,e,te()),de(()=>s(i),t=>{throw se(l,e),se(a,e),se(d,e),se(c,e),t}))},f=e=>{se(l,e),se(a,e),se(d,e),se(c,e),v(e),s(i)};return[()=>e,()=>{return e=l,[...e?.keys()??[]];var e},e=>ne(a,e),e=>z(a,e),e=>re(l,e),e=>re(a,e),(e,t)=>se(a,e,t),w,(t,n,s,l,a)=>{w(t,n);const i=te(),f=te(),L=re(d,t),g=re(c,t),h=t=>{const s=r=>e.getCell(n,t,r),d=re(L,t),c=o(n,t)?r(l(s,t)):void 0;var u,v,w,h;if(d===c||E(d)&&E(c)&&(v=c,Q(u=d)===Q(v)&&_(u,(e,t)=>v[t]===e))||se(i,t,[d,c]),!m(a)){const e=re(g,t),r=o(n,t)?a(s,t):void 0;(w=e)===(h=r)||(K(w)||E(w))&&ie(w)===ie(h)||se(f,t,r)}},R=e=>{s(()=>{q(i,([,e],t)=>se(L,t,e)),q(f,(e,t)=>se(g,t,e))},i,f,L,g,e),N(i),N(f)};ne(L,h),e.hasTable(n)&&k(e.getRowIds(n),e=>{z(L,e)||h(e)}),R(!0),v(t),((e,...t)=>{const r=oe(u,e,ce);k(t,e=>ue(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>h(r)),e.addTableListener(n,()=>R()))},f,e=>n(e,i),()=>ne(u,f)]})(o,0,O,ge,he),Qe=e=>oe(y,e,i),De=(e,t,...r)=>k(r,r=>ue(oe(t,e,ce),r)),Oe=e=>ne(e,(e,t)=>q(t,t=>e.delListener(t))),_e=(e,t,r,...n)=>{const s=oe(t,e,ce);return k(n,t=>{ue(s,t),r&&e.callListener(t)}),n},je=(e,t,r)=>P(re(t,e),n=>{e.delListener(r),B(n,r),W(n)&&se(t,e)}),ke=e=>P(re(we,e),t=>{ne(t,(e,t)=>ne(t,(t,r)=>e.delListener(r))),se(we,e)}),xe=(e,t=te())=>{const r=oe(ee,e,te);ne(r,(e,n)=>{ne(n,(r,s)=>z(re(t,e),r)?0:(e.delListener(s),se(n,r))),W(n)&&se(r,e)}),ne(t,(t,n)=>{const s=oe(r,t,te);q(n,r=>oe(s,r,()=>t.addTableCellIdsListener(r,()=>de(()=>We(e),n=>{throw((e,t,r)=>{const n=oe(oe(we,e,te),t,te);oe(n,r,()=>t.addTableListener(r,()=>We(e)))})(e,t,r),n}))))}),W(r)&&se(ee,e)},Ae=()=>{ne(R,e=>Ce(e)?0:se(R,e)),ne(y,(e,t)=>Ce(e)||((e,t)=>!(J(C,([,e])=>J(e,([e])=>e!==t))&&J(Le,t=>!z(t,e))&&_([A,H],e=>J(e,e=>!z(e,t)))))(e,t)?0:se(y,e))},Fe=(e,t,r)=>{De(e,r,e.addWillFinishTransactionListener(t.startTransaction)),De(e,r,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},Me=(e,t)=>($(t)?g.delRow:g.setRow)(ve,e,{...t}),ze=(l,a,d,c)=>Qe(l).transaction(()=>P(((e,r)=>m(r)?Te(e):[r[1],t,r[2]])(l,d),([u,,v])=>{const[w,f]=a,L=d?.[0]??me(l),g=v?Qe(L):o,h=Qe(l),R=d?.[3]??qe(l),y=a[4];v&&ue(y,L);const b=[];let C=!1,I=0;const S=[[void 0,[L,void 0,void 0,[],te(),g]]],Q=[],x=[],A=[];u({select:(e,r,n)=>{const s=T(e)?r:e,o=T(e)?n:r,l=V(e)?[0,I+t,e]:m(o)?[0,e,t=>t(e)]:[0,o,t=>T(e)?t(!0,s,o):t(s,o)];return I++,F(b,l),{as:e=>l[1]=e}},selectAll:(e,r,n)=>{C=!0;const s=T(e)?r:e,o=T(e)?n:r;F(b,[1,s,V(o)?o:e=>(o??t)+e,V(o)||!m(o)&&o!==t?1:0])},join:(e,t,r,n)=>{const s=T(e)?t:e,[l,a]=T(e)?m(n)||V(r)?[void 0,r]:[r,n]:m(r)||V(t)?[void 0,t]:[t,r],i=T(e),d=i?Qe(s):o;i&&ue(y,s);const c=[s,[s,l,V(a)?a:e=>e(a),[],te(),d]];return F(S,c),{as:e=>c[0]=e}},where:(e,t,r,n)=>F(Q,V(e)?e:T(e)?e=>e(!0,t,r)===n:m(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,V(t)?[t,r,n,s]:re(ae,t)??[(e,t)=>t]]];return F(x,o),{as:e=>o[0]=e}},having:(e,t)=>F(A,V(e)?e:r=>r(e)===t),param:e=>{return t=e,P(R,e=>P(G.getOwnPropertyDescriptor(e,t),()=>e[t]));var t}});const N=te(S);ne(N,(e,[,t])=>P(re(N,t),({3:t})=>m(e)?0:F(t,e)));const H=e=>m(e),U=e=>re(N,H(e)?void 0:e),X=a[5];if(k(b,([e,t,,r=0])=>e?P(U(t),([e,,,,,t])=>t===o?0:se(X,e,re(X,e)||r?1:0)):0),((e,r)=>{const n=(t,s,o=ce())=>t===s||!z(o,t)&&(ue(o,t),!J((t=>t===e?r:re(fe,t))(t),(e,t)=>!n(t,s,o))),s=(e,t)=>!J(t,(t,r)=>!t||!n(r,e));!s(e,r)&&J(fe,(t,r)=>r===e||!s(r,t))||(()=>{throw Error("tinybase:16"+(m(e=void 0)?t:":"+e));var e})()})(l,X),h.delTable(l),D(b))return c?.(),Be;const ee=te(x),de=!W(ee)||!D(A),ve=[],we=a[3];k(b,([e,t,r])=>{e?de&&P(U(t),([e,,,,,t])=>{ue(oe(we,t,ce),e),k(j(t.getTableCellIds(e)),e=>F(ve,[r(e),O]))}):F(ve,[t,r])});const Le=te(ve);if(de&&W(Le))return c?.(),Be;const ge=de?a[2]=i():h;if(de){const t=te();ne(ee,(e,[r,n])=>ue(oe(t,r,ce),[e,n]));const o=ce();ne(Le,e=>z(t,e)?0:ue(o,e));const a=te(),i=e=>{return m(e)?void 0:K(t=e)||E(t)?"�"+ie(t):t;var t},d=(o,a,i,d)=>P(o,([c,u,v,w])=>{ne(a,(o,[l])=>{const a=oe(c,o,te),u=re(a,i),v=d?void 0:l;if(u!==v){const l=ce([[u,v]]),d=M(a);se(a,i,v),q(re(t,o),([t,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(W(r))return;const[l,a,i,d]=s;return o||=m(e),q(n,([r,n])=>{o||(e=m(r)?a?.(e,n,t++):m(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=m(e))}),o?l((c=r,[...c?.values()??[]]),M(r)):e;var c})(w[t],d,a,l,o);Y(w,t,m((t=>{if(null===t)return"null";if(E(t))return"array";if(K(t))return"object";const o=e(t);return(e=>e==r||e==n)(o)||o==s&&p(t)?o:void 0})(i))?void 0:i)})}}),W(u)||!_(A,e=>e(e=>w[e]))?h.delRow(l,v):m(v)?o[2]=h.addRow(l,{...w}):h.setRow(l,v,{...w})});De(ge,w,ge.addRowListener(l,null,(e,r,n,s)=>{const c=[],u=[],v=te(),w=ge.hasRow(l,n);let f=!w;q(o,e=>{const[t,r,o]=s(l,n,e);F(c,i(r)),F(u,i(o)),f||=t}),ne(t,e=>{const[t,,r]=s(l,n,e);(f||t)&&se(v,e,[r])}),f&&d(le(a,c,void 0,([,e])=>(B(e,n),W(e))),v,n,1),w&&d(le(a,u,()=>{const e=Z();return q(o,t=>Y(e,t,ge.getCell(l,n,t))),[te(),ce(),void 0,e]},([,e])=>{ue(e,n)}),v,n)}))}const he=(e,t,r,n,s)=>{const o=e=>t.getCell(r,n,e);k(s,t=>{const[r,,n,s,l,a]=re(N,t),i=n?.(o,e),d=re(l,e),c=d?.[0];i!=c&&(P(d,([,e,t])=>je(e,f,t)),se(l,e,m(i)?void 0:[i,a,..._e(a,f,1,a.addRowListener(r,i,()=>he(e,a,r,i,s)))]))}),(e=>{const t=(t,r,n)=>{const s=T(t)?r:t,o=T(t)?n:r;if(m(o))return g.getCell(L,e,t);if(s===L&&!T(t))return g.getCell(L,e,o);const l=re(N,s);return m(l)?void 0:l[5].getCell(l[0],re(l[4],e)?.[0],o)};ge.transaction(()=>{_(Q,e=>e(t))?C?(()=>{const r=Z();k(b,([n,s,o])=>{if(n)P(U(s),([t,,,,n,l])=>{const a=H(s)?e:re(n,e)?.[0];P(a,e=>k(j(l.getCellIds(t,e)),n=>Y(r,o(n),l.getCell(t,e,n))))});else{const n=o(t,e),l=s;m(n)?delete r[l]:Y(r,l,n)}}),$(r)?ge.delRow(l,e):ge.setRow(l,e,r)})():ne(Le,(r,n)=>ge._[5](l,e,r,n(t,e))):ge.delRow(l,e)})})(e)},{3:Re}=re(N,void 0),ye=(e,t,r)=>{g.hasRow(L,r)?he(r,g,L,r,Re):(ge.delRow(l,r),q(N,({4:e})=>P(re(e,r),([,t,n])=>{je(t,f,n),se(e,r)})))};return ge.transaction(()=>{k(g.getRowIds(L),e=>ye(0,0,e)),_e(g,f,0,g.addRowListener(L,null,ye))}),de&&Fe(ge,h,w),Fe(g,ge,w),c?.(),Be})),We=(e,t)=>{const r=[te(),te(),void 0,te(),ce(),te()];let n=!1;return de(()=>ze(e,r,t,()=>{P(t,t=>Je(e,t)),Oe(re(A,e)),Oe(re(H,e)),se(A,e,W(r[0])?void 0:r[0]),se(H,e,W(r[1])?void 0:r[1]),se(R,e,r[2]),xe(e,r[3]),ke(e),se(Le,e,W(r[4])?void 0:r[4]),se(fe,e,W(r[5])?void 0:r[5]),n=!0}),e=>{throw n||(Oe(r[0]),Oe(r[1])),Ae(),e}),Be},Je=(e,[t,r,n,s])=>{P(Te(e),([,e])=>g.delListener(e)),ue(b,e),(()=>{try{return Pe(e,t),Ie(e,[r,g.addRowListener(ve,e,()=>z(b,e)?0:We(e),!0),n]),void Me(e,s)}finally{B(b,e)}})()},Ne=e=>(P(Te(e),([,e])=>g.delListener(e)),g.delRow(ve,e),(e=>{Oe(re(A,e)),se(A,e),k([re(y,e),re(R,e)],t=>t?.delTable(e))})(e),(e=>{Oe(re(H,e)),se(H,e)})(e),xe(e),ke(e),se(Le,e),se(fe,e),Ve(e),Ae(),Be),qe=e=>g.getRow(ve,e),Be={setQueryDefinition:(e,t,r,n,s={})=>{const[o,l,a,i]=T(t)?[r,n,1,s]:[t,r,0,n??{}];return We(e,[o,l,a,i]),Ae(),Be},delQueryDefinition:Ne,getParamValues:qe,getParamValue:(e,t)=>g.getCell(ve,e,t),setParamValues:(e,t)=>(Ce(e)&&Me(e,t),Be),setParamValue:(e,t,r)=>(Ce(e)&&g.setCell(ve,e,t,r),Be),getStore:ye,getQueryIds:be,forEachQuery:pe,hasQuery:Ce,getTableId:me,forEachResultTable:e=>pe(t=>Qe(t).hasTable(t)?e(t,e=>Be.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Ee(()=>e(Be)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(ve,e,(e,r,n)=>t(Be,n,qe(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(ve,e,t,(e,t,n,s,o)=>r(Be,n,s,o)),delListener:e=>{const t=re(C,e);if("p"==e[0])g.delListener(S(e,1));else if(m(t))Re(e);else{const[r,n,s]=t;ne(n,(e,[t,r])=>t.delListener(r)),P(s,Re),se(C,e),Re(e),x[r]--}return Ae(),Be},destroy:()=>{k(be(),Ne),Se()},getListenerStats:()=>({...x,paramValues:g.getListenerStats().row-Q(be()),paramValue:g.getListenerStats().cell})};var Ge,He;return He=([e,t],r)=>{k(S(["get","has","forEach"],0,e),e=>Y(Be,e+a+r,(...t)=>(re(y,t[0])??h)[e+r](...t))),Y(Be,"add"+a+r+l,(...e)=>((n,s)=>{const o=ge(O,I),a=te(),i=()=>{const n=null==s?be():[s];k(n,n=>{return z(a,n)?0:se(a,n,[Qe(n),(s=Qe(n),s["add"+r+l](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:S(e,0,t))(e,t),(r,...n)=>e[t](Be,...n),!0))]);var s}),ne(a,(e,[t,r])=>null==s&&Ce(e)||e==s?0:(t.delListener(r),void se(a,e)))};return i(),se(C,o,[n,a,null==s?Ee(i):void 0]),x[n]++,o})((e=>e[0].toLowerCase()+S(e,1))(r),e[0]))},k(U(Ge={[d]:[2,1],[d+L]:[1,1],[u]:[1,1],[v]:[1,1],[w]:[1,5],[c]:[3,2],[L]:[1,2],[f]:[3,3]}),e=>He(Ge[e],e)),X(Be)})(i);o.set(i,g)}return o.get(i)}})();export{we as createQueries};
|
package/min/queries/index.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),r=e(!0),n=e(0),s=e(e),o="Listener",l="Result",a="Ids",i="Table",d="Row",c=d+"Count",u=d+a,v="Sorted"+d+a,f="Cell",w=f+a,g=Math,L=e=>(t,r,n)=>e(t)?n?.():r(t),R=g.max,h=g.min,y=1/0,p=isFinite,C=e=>null==e,b=e=>void 0===e,m=e=>!0===e,T=L(C),I=L(b),P=t=>e(t)==s,V=e=>Array.isArray(e),S=(e,t,r)=>e.slice(t,r),E=e=>e.length,Q=e=>0==E(e),_=()=>{},D=(e,t)=>e.every(t),O=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),k=e=>x(e,(e,t)=>e+t,0),x=(e,t,r)=>e.reduce(t,r),A=(e,...t)=>e.push(...t),F=e=>e?.size??0,M=(e,t)=>e?.has(t)??!1,z=e=>b(e)||0==F(e),W=(e,t)=>{for(const[r,n]of e?.entries()??[])if(!t(n,r))return!1;return!0},J=e=>e.clear(),N=(e,t)=>e?.forEach(t),q=(e,t)=>e?.delete(t),B=Object,G=e=>B.getPrototypeOf(e),H=e=>!C(e)&&T(G(e),e=>e==B.prototype||C(G(e)),()=>!0),K=B.keys,U=B.freeze,X=(e,t,r)=>(B.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}),r),Y=(e=[])=>{const t=B.create(null);return j(e,([e,r])=>X(t,e,r)),t},Z=e=>H(e)&&0==(e=>E(K(e)))(e),$=Map,ee=e=>new $(e),te=(e,t)=>e?.get(t),re=(e,t)=>N(e,(e,r)=>t(r,e)),ne=(e,t,r)=>b(r)?(q(e,t),e):e?.set(t,r),se=(e,t,r,n)=>{let s=te(e,t);return M(e,t)?n?.(s):ne(e,t,s=r()),s},oe=(e,t,r,n,s=0)=>I((r?se:te)(e,t[s],s>E(t)-2?r:ee),o=>{if(s>E(t)-2)return n?.(o)&&ne(e,t[s]),o;const l=oe(o,t,r,n,s+1);return z(o)&&ne(e,t[s]),l}),le=ee([["avg",[(e,t)=>k(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>x(e,(e,t)=>R(e,t),-1/0),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>x(e,(e,t)=>h(e,t),y),(e,t)=>h(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:h(t,e)]],["sum",[e=>k(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),ae=JSON.stringify,ie=(e,t)=>{try{return e()}catch(e){t?.(e)}},de=e=>new Set(V(e)||b(e)?e:[e]),ce=(e,t)=>e?.add(t),ue="_",ve=(()=>{const s=new WeakMap;return a=>{if(!s.has(a)){const g=(s=>{const a=s._[0],g=a(),L=a(),R=ee(),h=ee(),y=de(),C=ee(),T=ee(),k={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},x=ee(),G=ee(),$=ee(),ve=ee(),{_:[,fe,we],delListener:ge}=L,[Le,Re,he,ye,pe,Ce,be,me,,Te,Ie,Pe]=((e,t,r,n,s)=>{const o=e.hasRow,l=ee(),a=ee(),i=ee(),d=ee(),c=ee(),u=ee(),v=t=>I(te(u,t),r=>{N(r,t=>{e.delListener(t),q(r,t)}),ne(u,t)}),f=(e,t)=>{ne(l,e,t),M(a,e)||(ne(a,e,[]),ne(d,e,ee()),ne(c,e,ee()),ie(()=>s(i),t=>{throw ne(l,e),ne(a,e),ne(d,e),ne(c,e),t}))},w=e=>{ne(l,e),ne(a,e),ne(d,e),ne(c,e),v(e),s(i)};return[()=>e,()=>{return e=l,[...e?.keys()??[]];var e},e=>re(a,e),e=>M(a,e),e=>te(l,e),e=>te(a,e),(e,t)=>ne(a,e,t),f,(t,n,s,l,a)=>{f(t,n);const i=ee(),w=ee(),g=te(d,t),L=te(c,t),R=t=>{const s=r=>e.getCell(n,t,r),d=te(g,t),c=o(n,t)?r(l(s,t)):void 0;var u,v,f,R;if(d===c||V(d)&&V(c)&&(v=c,E(u=d)===E(v)&&D(u,(e,t)=>v[t]===e))||ne(i,t,[d,c]),!b(a)){const e=te(L,t),r=o(n,t)?a(s,t):void 0;(f=e)===(R=r)||(H(f)||V(f))&&ae(f)===ae(R)||ne(w,t,r)}},h=e=>{s(()=>{N(i,([,e],t)=>ne(g,t,e)),N(w,(e,t)=>ne(L,t,e))},i,w,g,L,e),J(i),J(w)};re(g,R),e.hasTable(n)&&j(e.getRowIds(n),e=>{M(g,e)||R(e)}),h(!0),v(t),((e,...t)=>{const r=se(u,e,de);j(t,e=>ce(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>R(r)),e.addTableListener(n,()=>h()))},w,e=>n(e,i),()=>re(u,w)]})(s,0,_,fe,we),Ve=e=>se(h,e,a),Se=(e,t,...r)=>j(r,r=>ce(se(t,e,de),r)),Ee=e=>re(e,(e,t)=>N(t,t=>e.delListener(t))),Qe=(e,t,r,...n)=>{const s=se(t,e,de);return j(n,t=>{ce(s,t),r&&e.callListener(t)}),n},_e=(e,t,r)=>I(te(t,e),n=>{e.delListener(r),q(n,r),z(n)&&ne(t,e)}),De=(e,t=ee())=>{const r=se($,e,ee);re(r,(e,n)=>{re(n,(r,s)=>M(te(t,e),r)?0:(e.delListener(s),ne(n,r))),z(n)&&ne(r,e)}),re(t,(t,n)=>{const s=se(r,t,ee);N(n,r=>se(s,r,()=>t.addTableCellIdsListener(r,()=>xe(e))))}),z(r)&&ne($,e)},Oe=()=>{re(R,e=>ye(e)?0:ne(R,e)),re(h,(e,t)=>ye(e)||((e,t)=>!(W(C,([,e])=>W(e,([e])=>e!==t))&&W(ve,t=>!M(t,e))&&D([x,G],e=>W(e,e=>!M(e,t)))))(e,t)?0:ne(h,e))},je=(e,t,r)=>{Se(e,r,e.addWillFinishTransactionListener(t.startTransaction)),Se(e,r,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},ke=(e,t)=>(Z(t)?g.delRow:g.setRow)(ue,e,{...t}),xe=(o,l)=>{const i=[ee(),ee(),void 0,ee(),de()];let d=!1;return ie(()=>((o,l,i,d)=>Ve(o).transaction(()=>I(((e,t)=>b(t)?Ce(e):[t[1],"",t[2]])(o,i),([c,,u])=>{const[v,f]=l,w=i?.[0]??pe(o),g=u?Ve(w):s,L=Ve(o),R=i?.[3]??Me(o),h=l[4];u&&ce(h,w);const y=[];let C=!1,T=0;const S=[[void 0,[w,void 0,void 0,[],ee(),g]]],E=[],_=[],k=[];if(c({select:(e,t,r)=>{const n=m(e)?t:e,s=m(e)?r:t,o=P(e)?[0,T+"",e]:b(s)?[0,e,t=>t(e)]:[0,s,t=>m(e)?t(!0,n,s):t(n,s)];return T++,A(y,o),{as:e=>o[1]=e}},selectAll:(e,t,r)=>{C=!0;const n=m(e)?t:e,s=m(e)?r:t;A(y,[1,n,P(s)?s:e=>(s??"")+e])},join:(e,t,r,n)=>{const o=m(e)?t:e,[l,a]=m(e)?b(n)||P(r)?[void 0,r]:[r,n]:b(r)||P(t)?[void 0,t]:[t,r],i=m(e),d=i?Ve(o):s;i&&ce(h,o);const c=[o,[o,l,P(a)?a:e=>e(a),[],ee(),d]];return A(S,c),{as:e=>c[0]=e}},where:(e,t,r,n)=>A(E,P(e)?e:m(e)?e=>e(!0,t,r)===n:b(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,P(t)?[t,r,n,s]:te(le,t)??[(e,t)=>t]]];return A(_,o),{as:e=>o[0]=e}},having:(e,t)=>A(k,P(e)?e:r=>r(e)===t),param:e=>{return t=e,I(R,e=>I(B.getOwnPropertyDescriptor(e,t),()=>e[t]));var t}}),L.delTable(o),Q(y))return d?.(),ze;const x=ee(S);re(x,(e,[,t])=>I(te(x,t),({3:t})=>b(e)?0:A(t,e)));const W=ee(_),J=!z(W)||!Q(k),G=[],K=l[3],U=e=>te(x,b(e)||e===w?void 0:e);j(y,([e,t,r])=>{e?J&&I(U(t),([e,,,,,n])=>{ce(se(K,n,de),e),j(O(n.getTableCellIds(e)),e=>A(G,[r(e),r=>b(t)||t===w?r(e):r(t,e)]))}):A(G,[t,r])});const $=ee(G);if(J&&z($))return d?.(),ze;const ie=J?l[2]=a():L;if(J){const s=ee();re(W,(e,[t,r])=>ce(se(s,t,de),[e,r]));const l=de();re($,e=>M(s,e)?0:ce(l,e));const a=ee(),i=e=>{return b(e)?void 0:H(t=e)||V(t)?"�"+ae(t):t;var t},d=(l,a,i,d)=>I(l,([c,u,v,f])=>{re(a,(o,[l])=>{const a=se(c,o,ee),u=te(a,i),v=d?void 0:l;if(u!==v){const l=de([[u,v]]),d=F(a);ne(a,i,v),N(te(s,o),([s,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(z(r))return;const[l,a,i,d]=s;return o||=b(e),N(n,([r,n])=>{o||(e=b(r)?a?.(e,n,t++):b(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=b(e))}),o?l((c=r,[...c?.values()??[]]),F(r)):e;var c})(f[s],d,a,l,o);X(f,s,b((s=>{if(null===s)return"null";if(V(s))return"array";if(H(s))return"object";const o=e(s);return(e=>e==t||e==r)(o)||o==n&&p(s)?o:void 0})(i))?void 0:i)})}}),z(u)||!D(k,e=>e(e=>f[e]))?L.delRow(o,v):b(v)?l[2]=L.addRow(o,{...f}):L.setRow(o,v,{...f})});Se(ie,v,ie.addRowListener(o,null,(e,t,r,n)=>{const c=[],u=[],v=ee(),f=ie.hasRow(o,r);let w=!f;N(l,e=>{const[t,s,l]=n(o,r,e);A(c,i(s)),A(u,i(l)),w||=t}),re(s,e=>{const[t,,s]=n(o,r,e);(w||t)&&ne(v,e,[s])}),w&&d(oe(a,c,void 0,([,e])=>(q(e,r),z(e))),v,r,1),f&&d(oe(a,u,()=>{const e=Y();return N(l,t=>X(e,t,ie.getCell(o,r,t))),[ee(),de(),void 0,e]},([,e])=>{ce(e,r)}),v,r)}))}const ue=(e,t,r,n,s)=>{const l=e=>t.getCell(r,n,e);j(s,t=>{const[r,,n,s,o,a]=te(x,t),i=n?.(l,e),d=te(o,e),c=d?.[0];i!=c&&(I(d,([,e,t])=>_e(e,f,t)),ne(o,e,b(i)?void 0:[i,a,...Qe(a,f,1,a.addRowListener(r,i,()=>ue(e,a,r,i,s)))]))}),(e=>{const t=(t,r,n)=>{const s=m(t)?r:t,o=m(t)?n:r;if(b(o))return g.getCell(w,e,t);if(s===w&&!m(t))return g.getCell(w,e,o);const l=te(x,s);return b(l)?void 0:l[5].getCell(l[0],te(l[4],e)?.[0],o)};ie.transaction(()=>{if(D(E,e=>e(t)))if(J)re($,(r,n)=>ie._[5](o,e,r,n(t,e)));else if(C){const r=Y();j(y,([n,s,o])=>{if(n)I(U(s),([t,,,,n,l])=>{const a=b(s)||s===w?e:te(n,e)?.[0];I(a,e=>j(O(l.getCellIds(t,e)),n=>X(r,o(n),l.getCell(t,e,n))))});else{const n=o(t,e),l=s;b(n)?delete r[l]:X(r,l,n)}}),Z(r)?ie.delRow(o,e):ie.setRow(o,e,r)}else re($,(r,n)=>ie._[5](o,e,r,n(t,e)));else ie.delRow(o,e)})})(e)},{3:ve}=te(x,void 0),fe=(e,t,r)=>{g.hasRow(w,r)?ue(r,g,w,r,ve):(ie.delRow(o,r),N(x,({4:e})=>I(te(e,r),([,t,n])=>{_e(t,f,n),ne(e,r)})))};return ie.transaction(()=>{j(g.getRowIds(w),e=>fe(0,0,e)),Qe(g,f,0,g.addRowListener(w,null,fe))}),J&&je(ie,L,v),je(g,ie,v),d?.(),ze})))(o,i,l,()=>{I(l,e=>Ae(o,e)),Ee(te(x,o)),Ee(te(G,o)),ne(x,o,z(i[0])?void 0:i[0]),ne(G,o,z(i[1])?void 0:i[1]),ne(R,o,i[2]),De(o,i[3]),ne(ve,o,z(i[4])?void 0:i[4]),d=!0}),e=>{throw d||(Ee(i[0]),Ee(i[1])),Oe(),e}),ze},Ae=(e,[t,r,n,s])=>{I(Ce(e),([,e])=>g.delListener(e)),ce(y,e),(()=>{try{return me(e,t),be(e,[r,g.addRowListener(ue,e,()=>M(y,e)?0:xe(e),!0),n]),void ke(e,s)}finally{q(y,e)}})()},Fe=e=>(I(Ce(e),([,e])=>g.delListener(e)),g.delRow(ue,e),(e=>{Ee(te(x,e)),ne(x,e),j([te(h,e),te(R,e)],t=>t?.delTable(e))})(e),(e=>{Ee(te(G,e)),ne(G,e)})(e),De(e),ne(ve,e),Te(e),Oe(),ze),Me=e=>g.getRow(ue,e),ze={setQueryDefinition:(e,t,r,n,s={})=>{const[o,l,a,i]=m(t)?[r,n,1,s]:[t,r,0,n??{}];return xe(e,[o,l,a,i]),Oe(),ze},delQueryDefinition:Fe,getParamValues:Me,getParamValue:(e,t)=>g.getCell(ue,e,t),setParamValues:(e,t)=>(ye(e)&&ke(e,t),ze),setParamValue:(e,t,r)=>(ye(e)&&g.setCell(ue,e,t,r),ze),getStore:Le,getQueryIds:Re,forEachQuery:he,hasQuery:ye,getTableId:pe,forEachResultTable:e=>he(t=>Ve(t).hasTable(t)?e(t,e=>ze.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Ie(()=>e(ze)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(ue,e,(e,r,n)=>t(ze,n,Me(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(ue,e,t,(e,t,n,s,o)=>r(ze,n,s,o)),delListener:e=>{const t=te(C,e);if("p"==e[0])g.delListener(S(e,1));else if(b(t))ge(e);else{const[r,n,s]=t;re(n,(e,[t,r])=>t.delListener(r)),I(s,ge),ne(C,e),ge(e),k[r]--}return Oe(),ze},destroy:()=>{j(Re(),Fe),Pe()},getListenerStats:()=>({...k,paramValues:g.getListenerStats().row-E(Re()),paramValue:g.getListenerStats().cell})};var We,Je;return Je=([e,t],r)=>{j(S(["get","has","forEach"],0,e),e=>X(ze,e+l+r,(...t)=>(te(h,t[0])??L)[e+r](...t))),X(ze,"add"+l+r+o,(...e)=>((n,s)=>{const l=fe(_,T),a=ee(),i=()=>{const n=null==s?Re():[s];j(n,n=>{return M(a,n)?0:ne(a,n,[Ve(n),(s=Ve(n),s["add"+r+o](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:S(e,0,t))(e,t),(r,...n)=>e[t](ze,...n),!0))]);var s}),re(a,(e,[t,r])=>null==s&&ye(e)||e==s?0:(t.delListener(r),void ne(a,e)))};return i(),ne(C,l,[n,a,null==s?Ie(i):void 0]),k[n]++,l})((e=>e[0].toLowerCase()+S(e,1))(r),e[0]))},j(K(We={[i]:[2,1],[i+w]:[1,1],[c]:[1,1],[u]:[1,1],[v]:[1,5],[d]:[3,2],[w]:[1,2],[f]:[3,3]}),e=>Je(We[e],e)),U(ze)})(a);s.set(a,g)}return s.get(a)}})();export{ve as createQueries};
|
|
1
|
+
const e=e=>typeof e,t="",r=e(t),n=e(!0),s=e(0),o=e(e),l="Listener",a="Result",i="Ids",d="Table",c="Row",u=c+"Count",v=c+i,w="Sorted"+c+i,f="Cell",L=f+i,g=Math,h=e=>(t,r,n)=>e(t)?n?.():r(t),R=g.max,y=g.min,b=1/0,p=isFinite,C=e=>null==e,m=e=>void 0===e,T=e=>!0===e,I=h(C),P=h(m),V=t=>e(t)==o,E=e=>Array.isArray(e),S=(e,t,r)=>e.slice(t,r),Q=e=>e.length,D=e=>0==Q(e),O=()=>{},_=(e,t)=>e.every(t),j=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=e=>A(e,(e,t)=>e+t,0),A=(e,t,r)=>e.reduce(t,r),F=(e,...t)=>e.push(...t),M=e=>e?.size??0,z=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==M(e),J=(e,t)=>{for(const[r,n]of e?.entries()??[])if(!t(n,r))return!1;return!0},N=e=>e.clear(),q=(e,t)=>e?.forEach(t),B=(e,t)=>e?.delete(t),G=Object,H=e=>G.getPrototypeOf(e),K=e=>!C(e)&&I(H(e),e=>e==G.prototype||C(H(e)),()=>!0),U=G.keys,X=G.freeze,Y=(e,t,r)=>(G.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}),r),Z=(e=[])=>{const t=G.create(null);return k(e,([e,r])=>Y(t,e,r)),t},$=e=>K(e)&&0==(e=>Q(U(e)))(e),ee=Map,te=e=>new ee(e),re=(e,t)=>e?.get(t),ne=(e,t)=>q(e,(e,r)=>t(r,e)),se=(e,t,r)=>m(r)?(B(e,t),e):e?.set(t,r),oe=(e,t,r,n)=>{let s=re(e,t);return z(e,t)?n?.(s):se(e,t,s=r()),s},le=(e,t,r,n,s=0)=>P((r?oe:re)(e,t[s],s>Q(t)-2?r:te),o=>{if(s>Q(t)-2)return n?.(o)&&se(e,t[s]),o;const l=le(o,t,r,n,s+1);return W(o)&&se(e,t[s]),l}),ae=te([["avg",[(e,t)=>x(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>A(e,(e,t)=>R(e,t),-1/0),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>A(e,(e,t)=>y(e,t),b),(e,t)=>y(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:y(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),ie=JSON.stringify,de=(e,t)=>{try{return e()}catch(e){t?.(e)}},ce=e=>new Set(E(e)||m(e)?e:[e]),ue=(e,t)=>e?.add(t),ve="_",we=(()=>{const o=new WeakMap;return i=>{if(!o.has(i)){const g=(o=>{const i=o._[0],g=i(),h=i(),R=te(),y=te(),b=ce(),C=te(),I=te(),x={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},A=te(),H=te(),ee=te(),we=te(),fe=te(),Le=te(),{_:[,ge,he],delListener:Re}=h,[ye,be,pe,Ce,me,Te,Ie,Pe,,Ve,Ee,Se]=((e,t,r,n,s)=>{const o=e.hasRow,l=te(),a=te(),i=te(),d=te(),c=te(),u=te(),v=t=>P(re(u,t),r=>{q(r,t=>{e.delListener(t),B(r,t)}),se(u,t)}),w=(e,t)=>{se(l,e,t),z(a,e)||(se(a,e,[]),se(d,e,te()),se(c,e,te()),de(()=>s(i),t=>{throw se(l,e),se(a,e),se(d,e),se(c,e),t}))},f=e=>{se(l,e),se(a,e),se(d,e),se(c,e),v(e),s(i)};return[()=>e,()=>{return e=l,[...e?.keys()??[]];var e},e=>ne(a,e),e=>z(a,e),e=>re(l,e),e=>re(a,e),(e,t)=>se(a,e,t),w,(t,n,s,l,a)=>{w(t,n);const i=te(),f=te(),L=re(d,t),g=re(c,t),h=t=>{const s=r=>e.getCell(n,t,r),d=re(L,t),c=o(n,t)?r(l(s,t)):void 0;var u,v,w,h;if(d===c||E(d)&&E(c)&&(v=c,Q(u=d)===Q(v)&&_(u,(e,t)=>v[t]===e))||se(i,t,[d,c]),!m(a)){const e=re(g,t),r=o(n,t)?a(s,t):void 0;(w=e)===(h=r)||(K(w)||E(w))&&ie(w)===ie(h)||se(f,t,r)}},R=e=>{s(()=>{q(i,([,e],t)=>se(L,t,e)),q(f,(e,t)=>se(g,t,e))},i,f,L,g,e),N(i),N(f)};ne(L,h),e.hasTable(n)&&k(e.getRowIds(n),e=>{z(L,e)||h(e)}),R(!0),v(t),((e,...t)=>{const r=oe(u,e,ce);k(t,e=>ue(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>h(r)),e.addTableListener(n,()=>R()))},f,e=>n(e,i),()=>ne(u,f)]})(o,0,O,ge,he),Qe=e=>oe(y,e,i),De=(e,t,...r)=>k(r,r=>ue(oe(t,e,ce),r)),Oe=e=>ne(e,(e,t)=>q(t,t=>e.delListener(t))),_e=(e,t,r,...n)=>{const s=oe(t,e,ce);return k(n,t=>{ue(s,t),r&&e.callListener(t)}),n},je=(e,t,r)=>P(re(t,e),n=>{e.delListener(r),B(n,r),W(n)&&se(t,e)}),ke=e=>P(re(we,e),t=>{ne(t,(e,t)=>ne(t,(t,r)=>e.delListener(r))),se(we,e)}),xe=(e,t=te())=>{const r=oe(ee,e,te);ne(r,(e,n)=>{ne(n,(r,s)=>z(re(t,e),r)?0:(e.delListener(s),se(n,r))),W(n)&&se(r,e)}),ne(t,(t,n)=>{const s=oe(r,t,te);q(n,r=>oe(s,r,()=>t.addTableCellIdsListener(r,()=>de(()=>We(e),n=>{throw((e,t,r)=>{const n=oe(oe(we,e,te),t,te);oe(n,r,()=>t.addTableListener(r,()=>We(e)))})(e,t,r),n}))))}),W(r)&&se(ee,e)},Ae=()=>{ne(R,e=>Ce(e)?0:se(R,e)),ne(y,(e,t)=>Ce(e)||((e,t)=>!(J(C,([,e])=>J(e,([e])=>e!==t))&&J(Le,t=>!z(t,e))&&_([A,H],e=>J(e,e=>!z(e,t)))))(e,t)?0:se(y,e))},Fe=(e,t,r)=>{De(e,r,e.addWillFinishTransactionListener(t.startTransaction)),De(e,r,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},Me=(e,t)=>($(t)?g.delRow:g.setRow)(ve,e,{...t}),ze=(l,a,d,c)=>Qe(l).transaction(()=>P(((e,r)=>m(r)?Te(e):[r[1],t,r[2]])(l,d),([u,,v])=>{const[w,f]=a,L=d?.[0]??me(l),g=v?Qe(L):o,h=Qe(l),R=d?.[3]??qe(l),y=a[4];v&&ue(y,L);const b=[];let C=!1,I=0;const S=[[void 0,[L,void 0,void 0,[],te(),g]]],Q=[],x=[],A=[];u({select:(e,r,n)=>{const s=T(e)?r:e,o=T(e)?n:r,l=V(e)?[0,I+t,e]:m(o)?[0,e,t=>t(e)]:[0,o,t=>T(e)?t(!0,s,o):t(s,o)];return I++,F(b,l),{as:e=>l[1]=e}},selectAll:(e,r,n)=>{C=!0;const s=T(e)?r:e,o=T(e)?n:r;F(b,[1,s,V(o)?o:e=>(o??t)+e,V(o)||!m(o)&&o!==t?1:0])},join:(e,t,r,n)=>{const s=T(e)?t:e,[l,a]=T(e)?m(n)||V(r)?[void 0,r]:[r,n]:m(r)||V(t)?[void 0,t]:[t,r],i=T(e),d=i?Qe(s):o;i&&ue(y,s);const c=[s,[s,l,V(a)?a:e=>e(a),[],te(),d]];return F(S,c),{as:e=>c[0]=e}},where:(e,t,r,n)=>F(Q,V(e)?e:T(e)?e=>e(!0,t,r)===n:m(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,V(t)?[t,r,n,s]:re(ae,t)??[(e,t)=>t]]];return F(x,o),{as:e=>o[0]=e}},having:(e,t)=>F(A,V(e)?e:r=>r(e)===t),param:e=>{return t=e,P(R,e=>P(G.getOwnPropertyDescriptor(e,t),()=>e[t]));var t}});const N=te(S);ne(N,(e,[,t])=>P(re(N,t),({3:t})=>m(e)?0:F(t,e)));const H=e=>m(e),U=e=>re(N,H(e)?void 0:e),X=a[5];if(k(b,([e,t,,r=0])=>e?P(U(t),([e,,,,,t])=>t===o?0:se(X,e,re(X,e)||r?1:0)):0),((e,r)=>{const n=(t,s,o=ce())=>t===s||!z(o,t)&&(ue(o,t),!J((t=>t===e?r:re(fe,t))(t),(e,t)=>!n(t,s,o))),s=(e,t)=>!J(t,(t,r)=>!t||!n(r,e));!s(e,r)&&J(fe,(t,r)=>r===e||!s(r,t))||(()=>{throw Error("tinybase:16"+(m(e=void 0)?t:":"+e));var e})()})(l,X),h.delTable(l),D(b))return c?.(),Be;const ee=te(x),de=!W(ee)||!D(A),ve=[],we=a[3];k(b,([e,t,r])=>{e?de&&P(U(t),([e,,,,,t])=>{ue(oe(we,t,ce),e),k(j(t.getTableCellIds(e)),e=>F(ve,[r(e),O]))}):F(ve,[t,r])});const Le=te(ve);if(de&&W(Le))return c?.(),Be;const ge=de?a[2]=i():h;if(de){const t=te();ne(ee,(e,[r,n])=>ue(oe(t,r,ce),[e,n]));const o=ce();ne(Le,e=>z(t,e)?0:ue(o,e));const a=te(),i=e=>{return m(e)?void 0:K(t=e)||E(t)?"�"+ie(t):t;var t},d=(o,a,i,d)=>P(o,([c,u,v,w])=>{ne(a,(o,[l])=>{const a=oe(c,o,te),u=re(a,i),v=d?void 0:l;if(u!==v){const l=ce([[u,v]]),d=M(a);se(a,i,v),q(re(t,o),([t,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(W(r))return;const[l,a,i,d]=s;return o||=m(e),q(n,([r,n])=>{o||(e=m(r)?a?.(e,n,t++):m(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=m(e))}),o?l((c=r,[...c?.values()??[]]),M(r)):e;var c})(w[t],d,a,l,o);Y(w,t,m((t=>{if(null===t)return"null";if(E(t))return"array";if(K(t))return"object";const o=e(t);return(e=>e==r||e==n)(o)||o==s&&p(t)?o:void 0})(i))?void 0:i)})}}),W(u)||!_(A,e=>e(e=>w[e]))?h.delRow(l,v):m(v)?o[2]=h.addRow(l,{...w}):h.setRow(l,v,{...w})});De(ge,w,ge.addRowListener(l,null,(e,r,n,s)=>{const c=[],u=[],v=te(),w=ge.hasRow(l,n);let f=!w;q(o,e=>{const[t,r,o]=s(l,n,e);F(c,i(r)),F(u,i(o)),f||=t}),ne(t,e=>{const[t,,r]=s(l,n,e);(f||t)&&se(v,e,[r])}),f&&d(le(a,c,void 0,([,e])=>(B(e,n),W(e))),v,n,1),w&&d(le(a,u,()=>{const e=Z();return q(o,t=>Y(e,t,ge.getCell(l,n,t))),[te(),ce(),void 0,e]},([,e])=>{ue(e,n)}),v,n)}))}const he=(e,t,r,n,s)=>{const o=e=>t.getCell(r,n,e);k(s,t=>{const[r,,n,s,l,a]=re(N,t),i=n?.(o,e),d=re(l,e),c=d?.[0];i!=c&&(P(d,([,e,t])=>je(e,f,t)),se(l,e,m(i)?void 0:[i,a,..._e(a,f,1,a.addRowListener(r,i,()=>he(e,a,r,i,s)))]))}),(e=>{const t=(t,r,n)=>{const s=T(t)?r:t,o=T(t)?n:r;if(m(o))return g.getCell(L,e,t);if(s===L&&!T(t))return g.getCell(L,e,o);const l=re(N,s);return m(l)?void 0:l[5].getCell(l[0],re(l[4],e)?.[0],o)};ge.transaction(()=>{_(Q,e=>e(t))?C?(()=>{const r=Z();k(b,([n,s,o])=>{if(n)P(U(s),([t,,,,n,l])=>{const a=H(s)?e:re(n,e)?.[0];P(a,e=>k(j(l.getCellIds(t,e)),n=>Y(r,o(n),l.getCell(t,e,n))))});else{const n=o(t,e),l=s;m(n)?delete r[l]:Y(r,l,n)}}),$(r)?ge.delRow(l,e):ge.setRow(l,e,r)})():ne(Le,(r,n)=>ge._[5](l,e,r,n(t,e))):ge.delRow(l,e)})})(e)},{3:Re}=re(N,void 0),ye=(e,t,r)=>{g.hasRow(L,r)?he(r,g,L,r,Re):(ge.delRow(l,r),q(N,({4:e})=>P(re(e,r),([,t,n])=>{je(t,f,n),se(e,r)})))};return ge.transaction(()=>{k(g.getRowIds(L),e=>ye(0,0,e)),_e(g,f,0,g.addRowListener(L,null,ye))}),de&&Fe(ge,h,w),Fe(g,ge,w),c?.(),Be})),We=(e,t)=>{const r=[te(),te(),void 0,te(),ce(),te()];let n=!1;return de(()=>ze(e,r,t,()=>{P(t,t=>Je(e,t)),Oe(re(A,e)),Oe(re(H,e)),se(A,e,W(r[0])?void 0:r[0]),se(H,e,W(r[1])?void 0:r[1]),se(R,e,r[2]),xe(e,r[3]),ke(e),se(Le,e,W(r[4])?void 0:r[4]),se(fe,e,W(r[5])?void 0:r[5]),n=!0}),e=>{throw n||(Oe(r[0]),Oe(r[1])),Ae(),e}),Be},Je=(e,[t,r,n,s])=>{P(Te(e),([,e])=>g.delListener(e)),ue(b,e),(()=>{try{return Pe(e,t),Ie(e,[r,g.addRowListener(ve,e,()=>z(b,e)?0:We(e),!0),n]),void Me(e,s)}finally{B(b,e)}})()},Ne=e=>(P(Te(e),([,e])=>g.delListener(e)),g.delRow(ve,e),(e=>{Oe(re(A,e)),se(A,e),k([re(y,e),re(R,e)],t=>t?.delTable(e))})(e),(e=>{Oe(re(H,e)),se(H,e)})(e),xe(e),ke(e),se(Le,e),se(fe,e),Ve(e),Ae(),Be),qe=e=>g.getRow(ve,e),Be={setQueryDefinition:(e,t,r,n,s={})=>{const[o,l,a,i]=T(t)?[r,n,1,s]:[t,r,0,n??{}];return We(e,[o,l,a,i]),Ae(),Be},delQueryDefinition:Ne,getParamValues:qe,getParamValue:(e,t)=>g.getCell(ve,e,t),setParamValues:(e,t)=>(Ce(e)&&Me(e,t),Be),setParamValue:(e,t,r)=>(Ce(e)&&g.setCell(ve,e,t,r),Be),getStore:ye,getQueryIds:be,forEachQuery:pe,hasQuery:Ce,getTableId:me,forEachResultTable:e=>pe(t=>Qe(t).hasTable(t)?e(t,e=>Be.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Ee(()=>e(Be)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(ve,e,(e,r,n)=>t(Be,n,qe(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(ve,e,t,(e,t,n,s,o)=>r(Be,n,s,o)),delListener:e=>{const t=re(C,e);if("p"==e[0])g.delListener(S(e,1));else if(m(t))Re(e);else{const[r,n,s]=t;ne(n,(e,[t,r])=>t.delListener(r)),P(s,Re),se(C,e),Re(e),x[r]--}return Ae(),Be},destroy:()=>{k(be(),Ne),Se()},getListenerStats:()=>({...x,paramValues:g.getListenerStats().row-Q(be()),paramValue:g.getListenerStats().cell})};var Ge,He;return He=([e,t],r)=>{k(S(["get","has","forEach"],0,e),e=>Y(Be,e+a+r,(...t)=>(re(y,t[0])??h)[e+r](...t))),Y(Be,"add"+a+r+l,(...e)=>((n,s)=>{const o=ge(O,I),a=te(),i=()=>{const n=null==s?be():[s];k(n,n=>{return z(a,n)?0:se(a,n,[Qe(n),(s=Qe(n),s["add"+r+l](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:S(e,0,t))(e,t),(r,...n)=>e[t](Be,...n),!0))]);var s}),ne(a,(e,[t,r])=>null==s&&Ce(e)||e==s?0:(t.delListener(r),void se(a,e)))};return i(),se(C,o,[n,a,null==s?Ee(i):void 0]),x[n]++,o})((e=>e[0].toLowerCase()+S(e,1))(r),e[0]))},k(U(Ge={[d]:[2,1],[d+L]:[1,1],[u]:[1,1],[v]:[1,1],[w]:[1,5],[c]:[3,2],[L]:[1,2],[f]:[3,3]}),e=>He(Ge[e],e)),X(Be)})(i);o.set(i,g)}return o.get(i)}})();export{we as createQueries};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,e="",a=t(e),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(e,a,n)=>t(e)?n?.():a(e),c=globalThis,l=t=>clearTimeout(t),u=i.floor,y=i.random,w=isFinite,f=Number.isInteger,d=t=>null==t,g=t=>void 0===t,v=t=>null===t,h=o(d),b=o(g),p=e=>t(e)==a,A=e=>t(e)==s,_=t=>Array.isArray(t),M=t=>t.length,S=t=>0==M(t),C=(t,e)=>t.test(e),D=()=>{},H=t=>new r(t),m=(t,e)=>t.forEach(e),L=(t,e)=>t.map(e),T=(t,e=M(t))=>t.splice(0,e),P=(t,...e)=>t.push(...e),G=t=>t?.size??0,R=t=>g(t)||0==G(t),z=(t,e)=>t?.forEach(e),E=(t,e)=>t?.delete(e),V=Object,O=t=>V.getPrototypeOf(t),j=t=>!d(t)&&h(O(t),t=>t==V.prototype||d(O(t)),()=>!0),x=V.keys,F=V.freeze,k=(t,e)=>V.hasOwn(t,e),q=(t,e,a)=>(V.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}),a),I=(t,e)=>m(x(t),a=>e(t[a],a)),N=(t,e)=>{for(const a in t)if(k(t,a)&&!e(t[a],a))return!1;return!0},U=t=>j(t)&&0==(t=>M(x(t)))(t),Z=(t,e,a)=>(k(t,e)||q(t,e,a()),t[e]),$=Map,B=t=>new $(t),J=(t,e)=>t?.get(e),K=(t,e,a)=>g(a)?(E(t,e),t):t?.set(e,a),Q=(t,e,a,n)=>{let s=J(t,e);var r,i;return r=t,i=e,r?.has(i)?n?.(s):K(t,e,s=a()),s},W=(t,e,a,n,s=0)=>b((a?Q:J)(t,e[s],s>M(e)-2?a:B),r=>{if(s>M(e)-2)return n?.(r)&&K(t,e[s]),r;const i=W(r,e,a,n,s+1);return R(r)&&K(t,e[s]),i}),X=((t,e="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(e,void 0))(),Y=B(L(X,(t,e)=>[t,e])),tt=(t,e)=>J(Y,t[e])??0,et=c.crypto?t=>c.crypto.getRandomValues(t):t=>L(t,()=>u(256*y())),at=(t=16)=>{return e=(t,e)=>t+X[63&e],et(new Uint8Array(t)).reduce(e,"");var e},nt=(t,a)=>Error("tinybase:"+t+(g(a)?e:":"+a)),st=(t,e)=>{throw nt(t,e)},rt=async(t,e)=>{try{return await t()}catch(t){e?.(t)}},it=async(t,e)=>{try{return await t()}finally{await e()}};new c.TextEncoder;const
|
|
1
|
+
const t=t=>typeof t,e="",a=t(e),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(e,a,n)=>t(e)?n?.():a(e),c=globalThis,l=t=>clearTimeout(t),u=i.floor,y=i.random,w=isFinite,f=Number.isInteger,d=t=>null==t,g=t=>void 0===t,v=t=>null===t,h=o(d),b=o(g),p=e=>t(e)==a,A=e=>t(e)==s,_=t=>Array.isArray(t),M=t=>t.length,S=t=>0==M(t),C=(t,e)=>t.test(e),D=()=>{},H=t=>new r(t),m=(t,e)=>t.forEach(e),L=(t,e)=>t.map(e),T=(t,e=M(t))=>t.splice(0,e),P=(t,...e)=>t.push(...e),G=t=>t?.size??0,R=t=>g(t)||0==G(t),z=(t,e)=>t?.forEach(e),E=(t,e)=>t?.delete(e),V=Object,O=t=>V.getPrototypeOf(t),j=t=>!d(t)&&h(O(t),t=>t==V.prototype||d(O(t)),()=>!0),x=V.keys,F=V.freeze,k=(t,e)=>V.hasOwn(t,e),q=(t,e,a)=>(V.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}),a),I=(t,e)=>m(x(t),a=>e(t[a],a)),N=(t,e)=>{for(const a in t)if(k(t,a)&&!e(t[a],a))return!1;return!0},U=t=>j(t)&&0==(t=>M(x(t)))(t),Z=(t,e,a)=>(k(t,e)||q(t,e,a()),t[e]),$=Map,B=t=>new $(t),J=(t,e)=>t?.get(e),K=(t,e,a)=>g(a)?(E(t,e),t):t?.set(e,a),Q=(t,e,a,n)=>{let s=J(t,e);var r,i;return r=t,i=e,r?.has(i)?n?.(s):K(t,e,s=a()),s},W=(t,e,a,n,s=0)=>b((a?Q:J)(t,e[s],s>M(e)-2?a:B),r=>{if(s>M(e)-2)return n?.(r)&&K(t,e[s]),r;const i=W(r,e,a,n,s+1);return R(r)&&K(t,e[s]),i}),X=((t,e="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(e,void 0))(),Y=B(L(X,(t,e)=>[t,e])),tt=(t,e)=>J(Y,t[e])??0,et=c.crypto?t=>c.crypto.getRandomValues(t):t=>L(t,()=>u(256*y())),at=(t=16)=>{return e=(t,e)=>t+X[63&e],et(new Uint8Array(t)).reduce(e,"");var e},nt=(t,a)=>Error("tinybase:"+t+(g(a)?e:":"+a)),st=(t,e)=>{throw nt(t,e)},rt=async(t,e)=>{try{return await t()}catch(t){e?.(t)}},it=(t,e)=>rt(t,t=>{rt(()=>e?.(t))}),ot=async(t,e)=>{try{return await t()}finally{await e()}};new c.TextEncoder;const ct=(t,e)=>e?[t,e]:[t],lt=(t,a)=>((t??e)>(a??e)?t:a)??e,ut=(t="")=>ct(((t=[])=>{const e=V.create(null);return m(t,([t,a])=>q(e,t,a)),e})(),t),yt=/^\d+$/,wt=t=>new Set(_(t)||g(t)?t:[t]),ft=B(),dt=B(),gt=B(),vt=(t,a,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,f,d,h,p=0,A=0,D=0,G=0,V=0,O=0,j=0,x=0,k=0;const q={},I=c.destroy;Q(ft,u,()=>0),Q(dt,u,()=>[]),K(gt,u,(J(gt,u)??0)+1);const N=B(),[Z,$,X,Y,tt]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!U(t)||!U(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!U(t)||!U(e),e.setContent]:st(0))(o,t,l),[et,at,nt]=(t=>{let a;const[n,s]=(()=>{const t=[];let a=0;return[n=>(n?t.shift():null)??e+a++,e=>{C(yt,e)&&M(t)<1e3&&P(t,e)}]})(),r=B(),i=(t,n,s,i)=>{let o,c=!1;if(m(((t,a=[e])=>{const n=[],s=(t,e)=>e==M(a)?P(n,t):v(a[e])?z(t,t=>s(t,e+1)):m([a[e],null],a=>s(J(t,a),e+1));return s(t,0),n})(n,s),e=>z(e,e=>{const n=()=>J(r,e)[0](a,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{a??=t();const u=n(1);var y,w;return K(r,u,[s,i,o,c,l]),y=W(i,o??[e],wt),w=u,y?.add(w),u},(t,e,...a)=>i(!1,t,e,a),t=>b(J(r,t),([,a,n])=>(W(a,n??[e],void 0,e=>(E(e,t),R(e)?1:0)),K(r,t),s(t),n)),t=>b(J(r,t),([t,,e=[],n,s])=>{const r=(...i)=>{const o=M(i);o==M(e)?t(a,...i,...s(i)):v(e[o])?m(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,e[o])};r()}),(t,e,...a)=>i(!0,t,e,a)]})(()=>Lt),ct=t=>{t!=p&&(p=t,at(N,void 0,p))},lt=()=>{J(gt,u)||J(ft,u)||!S(J(dt,u)??[])||(K(ft,u),K(dt,u),K(gt,u))},ut=e=>{(Z&&_(e?.[0])?1===e?.[2]?t.__[4]:t.__[3]:1===e?.[2]?t._[10]:t._[9])(e)},vt=async()=>{Dt()&&t.__?.[0]?.()&&await Mt()},ht=t=>ot(()=>w=t,()=>{w==t&&(w=void 0)}),bt=async t=>(2!=p&&(await ot(async()=>{ct(1),A++,await mt(()=>rt(async()=>{const e=await a();_(e)?ut(e):g(e)&&t?tt(t):g(e)||st(1,e)},e=>{i?.(e),t&&tt(t)}))},()=>ct(0)),await vt()),Lt),pt=async()=>{const t=j;j=0,t&&t==G&&!k&&(2==p?j=t:await bt())},At=async t=>{const e=++G;let a=!0;if(await _t(!0),e==G&&!k){const n=rt(async()=>{const t=await s(async(t,n)=>{if(e==G&&!k)if(n||t){const e=a||2==p||!!O;V++,e&&O++,await ot(async()=>{ct(1),A++,await(e?mt(()=>ut(n??t)):(()=>{try{return ut(n??t)}finally{ct(0)}})())},()=>{e&&O--,--V||ct(0)}),V||await vt()}else 2==p?j=e:await bt()});e!=G||k?g(t)||await r(t):y=t},i);await ht(n),e!=G||k||await ot(()=>bt(t),()=>{a=!1})}return Lt},_t=async(t=!1)=>{j=0,t||G++;const e=w,a=y;return y=void 0,await ht(ot(async()=>{await e},async()=>{g(a)||await rt(()=>r(a),i)})),Lt},Mt=async t=>(1!=p&&await ot(()=>ot(async()=>{ct(2),D++,await mt(()=>rt(()=>n($,t),i))},()=>ct(0)),pt),Lt),St=async()=>{const e=++x;return await Ct(!0),e!=x||k||(await Mt(),e!=x||k||(f=t.addDidFinishTransactionListener(()=>{if(e==x&&!k){const t=X();Y(t)&&rt(()=>Mt(t))}}))),Lt},Ct=async(e=!1)=>{e||x++;const a=f;return f=void 0,g(a)||t.delListener(a),Lt},Dt=()=>!g(f),Ht=async(t=!1)=>{const[e,a]=t?[Ct,_t]:[_t,Ct];return await ot(()=>e(),async()=>{await a()}),Lt},mt=async(...t)=>{let e,a=!1;const n=H(n=>S(t)?n():P(J(dt,u),...L(t,(s,r)=>{const o=r==M(t)-1;return[async()=>{let t;h=H(e=>t=e),await ot(async()=>{try{await rt(s,i)}catch(t){a||(a=!0,e=t)}o&&n()},()=>{h=void 0,t()})},o?n:void 0,q]})));if(await(async()=>{if(!J(ft,u)){K(ft,u,1);const t=J(dt,u);let e=0;await ot(async()=>{for(;e<M(t);){const a=t[e++];a[2]=void 0,await a[0]()}},()=>{T(t,e),K(ft,u,0),lt()})}})(),await n,a)throw e;return Lt},Lt={load:bt,startAutoLoad:At,stopAutoLoad:_t,isAutoLoading:()=>!g(y),save:Mt,startAutoSave:St,stopAutoSave:Ct,isAutoSaving:Dt,startAutoPersisting:async(t,e=!1)=>{const[a,n,s,r]=e?[St,At,Ct,_t]:[At,St,_t,Ct],i=a(t),o=e?x:G;await i;const c=n(t),l=e?G:x;try{await c}catch(t){throw l==(e?G:x)&&await it(r),o==(e?x:G)&&await it(s),t}return Lt},stopAutoPersisting:Ht,getStatus:()=>p,addStatusListener:t=>et(t,N),delListener:e=>(nt(e),t),schedule:mt,getStore:()=>t,getStats:()=>({loads:A,saves:D}),...c,destroy:async()=>(g(d)&&(k=1,d=(async()=>{const t=J(dt,u),e=(a=([,t,e])=>e!=q||(t?.(),!1),t.filter(a));var a;const n=h;T(t),P(t,...e),await ot(()=>ot(()=>ot(Ht,()=>n),()=>I?.()),()=>{const t=(J(gt,u)??1)-1;K(gt,u,t||void 0),lt()})})()),await d,Lt)};return F(Lt)};B();const ht=2**36,bt=2**30,pt=/^[-0-9A-Z_a-z]{16}$/,At=t=>A(t)&&w(t)&&f(t)&&t>=0&&t<=4294967295,_t=(t,e)=>j(t)&&N(t,t=>e?_t(t,e-1):At(t)),Mt=(r,i)=>{return _(r)&&(1==M(r)||2==M(r)&&p(r[1])&&(c=1/0,(o=r[1])==e||p(o)&&C(pt,o)&&(t=>tt(t,0)*ht+tt(t,1)*bt+16777216*tt(t,2)+262144*tt(t,3)+4096*tt(t,4)+64*tt(t,5)+tt(t,6))(o)<=c))&&(i?j(r[0])&&N(r[0],t=>Mt(t,i-1)):(l=r[0],g(l)||!g((e=>{if(v(e))return"null";if(_(e))return"array";if(j(e))return"object";const r=t(e);return(t=>t==a||t==n)(r)||r==s&&w(e)?r:void 0})(l))));var o,c,l},St=t=>_(t)&&2==M(t)&&At(t[0])&&At(t[1]),Ct={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},Dt=(t,a,n,s,r,i,o,c,u={},y=D)=>{let d,h=0,S=0,C=0,m=!1;const L=B(),T=()=>at(11),P=t=>{return e=(e,[,,a,n])=>{l(n),E(L,e),a(t)},z(L,(t,a)=>e(a,t));var e},R=(t,e,n,s)=>{S++,i?.(t,e,n,s),a(t,e,n,s)},V=async(t,a,n,s)=>H((i,o)=>{if(G(L)>=100)return void o(nt(15,"requests"));const c=s+"."+at(4),u=((t,e=0)=>setTimeout(t,1e3*e))(()=>{E(L,c),o(nt(3,(t??e)+"."+c+"."+a))},r);K(L,c,[t,(t,e)=>{l(u),E(L,c),i([t,e,s])},o,u]);try{R(t,c,a,n)}catch(t){l(u),E(L,c),o(t)}}),O=(t,[e,a])=>{I(e,([e,a],n)=>{const s=Z(t[0],n,ut);I(e,([t,e],a)=>{const n=Z(s[0],a,ut);I(t,([t,e],a)=>q(n[0],a,ct(t,e))),n[1]=lt(n[1],e)}),s[1]=lt(s[1],a)}),t[1]=lt(t[1],a)},j=(a=null,n,s=T())=>rt(async()=>{g(n)&&([n,a,s]=await V(null,1,e,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=ut();if(o!=r){const[e,n]=(await V(a,4,t.getMergeableTableHashes(),s))[0];if(l=e,!U(n)){const[e,r]=(await V(a,5,t.getMergeableRowHashes(n),s))[0];if(O(l,e),!U(r)){const e=(await V(a,6,t.getMergeableCellHashes(r),s))[0];O(l,e)}}}return[l,c==i?ut():(await V(a,7,t.getMergeableValueHashes(),s))[0],1]},c),x=vt(t,async()=>{const t=await j();return!t||U(t[0][0])&&U(t[1][0])?void 0:t},async(e,a)=>a?R(null,T(),3,a):R(null,T(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,c,2,{startSync:async t=>(h=1,await x.startAutoPersisting(t)),stopSync:async()=>(h=0,await x.stopAutoPersisting(),x),destroy:async()=>(m=!0,P(nt(3,"destroyed")),y(),await x.stopSync(),s(),x),getSynchronizerStats:()=>({sends:S,receives:C}),...u},1);return n((a,n,s,r)=>{if(m)return;if(!((t,a,n)=>(v(t)||p(t))&&A(a)&&w(a)&&f(a)&&((t,a)=>0==t?(t=>St(t)||Mt(t,3)||Mt(t,1)||_(t)&&2==M(t)&&Mt(t[0],3)&&(_t(t[1],0)||_t(t[1],1)))(a):1==t?a===e:2==t?St(a):3==t?(t=>_(t)&&(2==M(t)||3==M(t)&&1===t[2])&&Mt(t[0],3)&&Mt(t[1],1))(a):4==t?_t(a,0):5==t?_t(a,1):6==t?_t(a,2):7==t&&_t(a,0))(a,n))(n,s,r))return void c?.(nt(14));const i=h||x.isAutoLoading();C++,o?.(a,n,s,r),0==s?b(J(L,n),([t,e])=>v(t)||t==a?e(r,a):0):2==s&&i?j(a,r,n??void 0).then(t=>{d?.(void 0,t)}).catch(c):3==s&&i?d?.(void 0,r):b(1==s&&(h||x.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{R(a,n,0,t)})},P),x};export{Ct as Message,Dt as createCustomSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,
|
|
1
|
+
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=t=>clearTimeout(t),u=i.floor,y=i.random,w=isFinite,d=Number.isInteger,g=t=>null==t,f=t=>void 0===t,v=t=>null===t,h=o(g),b=o(f),p=a=>t(a)==e,A=a=>t(a)==s,M=t=>Array.isArray(t),_=t=>t.length,S=t=>0==_(t),m=(t,a)=>t.test(a),C=()=>{},L=t=>new r(t),H=(t,a)=>t.forEach(a),P=(t,a)=>t.map(a),T=(t,a=_(t))=>t.splice(0,a),D=(t,...a)=>t.push(...a),z=t=>t?.size??0,E=t=>f(t)||0==z(t),O=(t,a)=>t?.forEach(a),R=(t,a)=>t?.delete(a),V=Object,j=t=>V.getPrototypeOf(t),x=t=>!g(t)&&h(j(t),t=>t==V.prototype||g(j(t)),()=>!0),F=V.keys,N=V.freeze,k=(t,a)=>V.hasOwn(t,a),q=(t,a,e)=>(V.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),B=(t,a)=>H(F(t),e=>a(t[e],e)),I=(t,a)=>{for(const e in t)if(k(t,e)&&!a(t[e],e))return!1;return!0},U=t=>x(t)&&0==(t=>_(F(t)))(t),Z=(t,a,e)=>(k(t,a)||q(t,a,e()),t[a]),$=Map,G=t=>new $(t),J=(t,a)=>t?.get(a),K=(t,a,e)=>f(e)?(R(t,a),t):t?.set(a,e),Q=(t,a,e,n)=>{let s=J(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):K(t,a,s=e()),s},W=(t,a,e,n,s=0)=>b((e?Q:J)(t,a[s],s>_(a)-2?e:G),r=>{if(s>_(a)-2)return n?.(r)&&K(t,a[s]),r;const i=W(r,a,e,n,s+1);return E(r)&&K(t,a[s]),i}),X=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),Y=G(P(X,(t,a)=>[t,a])),tt=(t,a)=>J(Y,t[a])??0,at=c.crypto?t=>c.crypto.getRandomValues(t):t=>P(t,()=>u(256*y())),et=(t=16)=>{return a=(t,a)=>t+X[63&a],at(new Uint8Array(t)).reduce(a,"");var a},nt=(t,e)=>Error("tinybase:"+t+(f(e)?a:":"+e)),st=(t,a)=>{throw nt(t,a)},rt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},it=(t,a)=>rt(t,t=>{rt(()=>a?.(t))}),ot=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const ct=2**36,lt=2**30,ut=/^[-0-9A-Z_a-z]{16}$/,yt=t=>new Set(M(t)||f(t)?t:[t]),wt=t=>A(t)&&w(t)&&d(t)&&t>=0&&t<=4294967295,dt=(t,a)=>x(t)&&I(t,t=>a?dt(t,a-1):wt(t)),gt=(r,i)=>{return M(r)&&(1==_(r)||2==_(r)&&p(r[1])&&(c=1/0,(o=r[1])==a||p(o)&&m(ut,o)&&(t=>tt(t,0)*ct+tt(t,1)*lt+16777216*tt(t,2)+262144*tt(t,3)+4096*tt(t,4)+64*tt(t,5)+tt(t,6))(o)<=c))&&(i?x(r[0])&&I(r[0],t=>gt(t,i-1)):(l=r[0],f(l)||!f((a=>{if(v(a))return"null";if(M(a))return"array";if(x(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&w(a)?r:void 0})(l))));var o,c,l},ft=t=>M(t)&&2==_(t)&&wt(t[0])&&wt(t[1]),vt=(t,e,n)=>(v(t)||p(t))&&A(e)&&w(e)&&d(e)&&((t,e)=>0==t?(t=>ft(t)||gt(t,3)||gt(t,1)||M(t)&&2==_(t)&>(t[0],3)&&(dt(t[1],0)||dt(t[1],1)))(e):1==t?e===a:2==t?ft(e):3==t?(t=>M(t)&&(2==_(t)||3==_(t)&&1===t[2])&>(t[0],3)&>(t[1],1))(e):4==t?dt(e,0):5==t?dt(e,1):6==t?dt(e,2):7==t&&dt(e,0))(e,n),ht=(t,a)=>a?[t,a]:[t],bt=(t,e)=>((t??a)>(e??a)?t:e)??a,pt=(t="")=>ht(((t=[])=>{const a=V.create(null);return H(t,([t,e])=>q(a,t,e)),a})(),t),At=/^\d+$/,Mt=G(),_t=G(),St=G(),mt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,h,p=0,A=0,C=0,z=0,V=0,j=0,x=0,F=0,k=0;const q={},B=c.destroy;Q(Mt,u,()=>0),Q(_t,u,()=>[]),K(St,u,(J(St,u)??0)+1);const I=G(),[Z,$,X,Y,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!U(t)||!U(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!U(t)||!U(a),a.setContent]:st(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{m(At,a)&&_(t)<1e3&&D(t,a)}]})(),r=G(),i=(t,n,s,i)=>{let o,c=!1;if(H(((t,e=[a])=>{const n=[],s=(t,a)=>a==_(e)?D(n,t):v(e[a])?O(t,t=>s(t,a+1)):H([e[a],null],e=>s(J(t,e),a+1));return s(t,0),n})(n,s),a=>O(a,a=>{const n=()=>J(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);var y,w;return K(r,u,[s,i,o,c,l]),y=W(i,o??[a],yt),w=u,y?.add(w),u},(t,a,...e)=>i(!1,t,a,e),t=>b(J(r,t),([,e,n])=>(W(e,n??[a],void 0,a=>(R(a,t),E(a)?1:0)),K(r,t),s(t),n)),t=>b(J(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=_(i);o==_(a)?t(e,...i,...s(i)):v(a[o])?H(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Pt),ct=t=>{t!=p&&(p=t,et(I,void 0,p))},lt=()=>{J(St,u)||J(Mt,u)||!S(J(_t,u)??[])||(K(Mt,u),K(_t,u),K(St,u))},ut=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},wt=async()=>{Ct()&&t.__?.[0]?.()&&await bt()},dt=t=>ot(()=>w=t,()=>{w==t&&(w=void 0)}),gt=async t=>(2!=p&&(await ot(async()=>{ct(1),A++,await Ht(()=>rt(async()=>{const a=await e();M(a)?ut(a):f(a)&&t?tt(t):f(a)||st(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>ct(0)),await wt()),Pt),ft=async()=>{const t=x;x=0,t&&t==z&&!k&&(2==p?x=t:await gt())},vt=async t=>{const a=++z;let e=!0;if(await ht(!0),a==z&&!k){const n=rt(async()=>{const t=await s(async(t,n)=>{if(a==z&&!k)if(n||t){const a=e||2==p||!!j;V++,a&&j++,await ot(async()=>{ct(1),A++,await(a?Ht(()=>ut(n??t)):(()=>{try{return ut(n??t)}finally{ct(0)}})())},()=>{a&&j--,--V||ct(0)}),V||await wt()}else 2==p?x=a:await gt()});a!=z||k?f(t)||await r(t):y=t},i);await dt(n),a!=z||k||await ot(()=>gt(t),()=>{e=!1})}return Pt},ht=async(t=!1)=>{x=0,t||z++;const a=w,e=y;return y=void 0,await dt(ot(async()=>{await a},async()=>{f(e)||await rt(()=>r(e),i)})),Pt},bt=async t=>(1!=p&&await ot(()=>ot(async()=>{ct(2),C++,await Ht(()=>rt(()=>n($,t),i))},()=>ct(0)),ft),Pt),pt=async()=>{const a=++F;return await mt(!0),a!=F||k||(await bt(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=X();Y(t)&&rt(()=>bt(t))}}))),Pt},mt=async(a=!1)=>{a||F++;const e=d;return d=void 0,f(e)||t.delListener(e),Pt},Ct=()=>!f(d),Lt=async(t=!1)=>{const[a,e]=t?[mt,ht]:[ht,mt];return await ot(()=>a(),async()=>{await e()}),Pt},Ht=async(...t)=>{let a,e=!1;const n=L(n=>S(t)?n():D(J(_t,u),...P(t,(s,r)=>{const o=r==_(t)-1;return[async()=>{let t;h=L(a=>t=a),await ot(async()=>{try{await rt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{h=void 0,t()})},o?n:void 0,q]})));if(await(async()=>{if(!J(Mt,u)){K(Mt,u,1);const t=J(_t,u);let a=0;await ot(async()=>{for(;a<_(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{T(t,a),K(Mt,u,0),lt()})}})(),await n,e)throw a;return Pt},Pt={load:gt,startAutoLoad:vt,stopAutoLoad:ht,isAutoLoading:()=>!f(y),save:bt,startAutoSave:pt,stopAutoSave:mt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[pt,vt,mt,ht]:[vt,pt,ht,mt],i=e(t),o=a?F:z;await i;const c=n(t),l=a?z:F;try{await c}catch(t){throw l==(a?z:F)&&await it(r),o==(a?F:z)&&await it(s),t}return Pt},stopAutoPersisting:Lt,getStatus:()=>p,addStatusListener:t=>at(t,I),delListener:a=>(nt(a),t),schedule:Ht,getStore:()=>t,getStats:()=>({loads:A,saves:C}),...c,destroy:async()=>(f(g)&&(k=1,g=(async()=>{const t=J(_t,u),a=(e=([,t,a])=>a!=q||(t?.(),!1),t.filter(e));var e;const n=h;T(t),D(t,...a),await ot(()=>ot(()=>ot(Lt,()=>n),()=>B?.()),()=>{const t=(J(St,u)??1)-1;K(St,u,t||void 0),lt()})})()),await g,Pt)};return N(Pt)};G();const Ct=(t,e,n,s,r)=>{const i=et(),o=new BroadcastChannel(e);return((t,e,n,s,r,i,o,c,u={},y=C)=>{let w,d=0,g=0,h=0,p=!1;const A=G(),M=()=>et(11),_=t=>{return a=(a,[,,e,n])=>{l(n),R(A,a),e(t)},O(A,(t,e)=>a(e,t));var a},S=(t,a,n,s)=>{g++,i?.(t,a,n,s),e(t,a,n,s)},m=async(t,e,n,s)=>L((i,o)=>{if(z(A)>=100)return void o(nt(15,"requests"));const c=s+"."+et(4),u=((t,a=0)=>setTimeout(t,1e3*a))(()=>{R(A,c),o(nt(3,(t??a)+"."+c+"."+e))},r);K(A,c,[t,(t,a)=>{l(u),R(A,c),i([t,a,s])},o,u]);try{S(t,c,e,n)}catch(t){l(u),R(A,c),o(t)}}),H=(t,[a,e])=>{B(a,([a,e],n)=>{const s=Z(t[0],n,pt);B(a,([t,a],e)=>{const n=Z(s[0],e,pt);B(t,([t,a],e)=>q(n[0],e,ht(t,a))),n[1]=bt(n[1],a)}),s[1]=bt(s[1],e)}),t[1]=bt(t[1],e)},P=(e=null,n,s=M())=>rt(async()=>{f(n)&&([n,e,s]=await m(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=pt();if(o!=r){const[a,n]=(await m(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!U(n)){const[a,r]=(await m(e,5,t.getMergeableRowHashes(n),s))[0];if(H(l,a),!U(r)){const a=(await m(e,6,t.getMergeableCellHashes(r),s))[0];H(l,a)}}}return[l,c==i?pt():(await m(e,7,t.getMergeableValueHashes(),s))[0],1]},c),T=mt(t,async()=>{const t=await P();return!t||U(t[0][0])&&U(t[1][0])?void 0:t},async(a,e)=>e?S(null,M(),3,e):S(null,M(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,c,2,{startSync:async t=>(d=1,await T.startAutoPersisting(t)),stopSync:async()=>(d=0,await T.stopAutoPersisting(),T),destroy:async()=>(p=!0,_(nt(3,"destroyed")),y(),await T.stopSync(),s(),T),getSynchronizerStats:()=>({sends:g,receives:h}),...u},1);return n((a,e,n,s)=>{if(p)return;if(!vt(e,n,s))return void c?.(nt(14));const r=d||T.isAutoLoading();h++,o?.(a,e,n,s),0==n?b(J(A,e),([t,e])=>v(t)||t==a?e(s,a):0):2==n&&r?P(a,s,e??void 0).then(t=>{w?.(void 0,t)}).catch(c):3==n&&r?w?.(void 0,s):b(1==n&&(d||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{S(a,e,0,t)})},_),T})(t,(t,a,e,n)=>o.postMessage([i,t,a,e,n]),t=>{o.onmessage=({data:a})=>{if(M(a)&&5==_(a)){const[e,n,s,r,o]=a;if(p(e)&&(v(n)||p(n))&&vt(s,r,o))return void((v(n)||n==i)&&t(e,s,r,o))}r?.(nt(14))}},()=>{o.onmessage=null,o.close()},.01,n,s,r,{getChannelName:()=>e})};export{Ct as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,
|
|
1
|
+
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=t=>clearTimeout(t),u=i.floor,y=i.random,w=isFinite,d=Number.isInteger,g=t=>null==t,f=t=>void 0===t,v=t=>null===t,h=o(g),b=o(f),p=a=>t(a)==e,A=a=>t(a)==s,M=t=>Array.isArray(t),_=t=>t.length,S=t=>0==_(t),m=(t,a)=>t.test(a),C=()=>{},L=t=>new r(t),H=(t,a)=>t.forEach(a),P=(t,a)=>t.map(a),T=(t,a=_(t))=>t.splice(0,a),D=(t,...a)=>t.push(...a),z=t=>t?.size??0,E=t=>f(t)||0==z(t),O=(t,a)=>t?.forEach(a),R=(t,a)=>t?.delete(a),V=Object,j=t=>V.getPrototypeOf(t),x=t=>!g(t)&&h(j(t),t=>t==V.prototype||g(j(t)),()=>!0),F=V.keys,N=V.freeze,k=(t,a)=>V.hasOwn(t,a),q=(t,a,e)=>(V.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),B=(t,a)=>H(F(t),e=>a(t[e],e)),I=(t,a)=>{for(const e in t)if(k(t,e)&&!a(t[e],e))return!1;return!0},U=t=>x(t)&&0==(t=>_(F(t)))(t),Z=(t,a,e)=>(k(t,a)||q(t,a,e()),t[a]),$=Map,G=t=>new $(t),J=(t,a)=>t?.get(a),K=(t,a,e)=>f(e)?(R(t,a),t):t?.set(a,e),Q=(t,a,e,n)=>{let s=J(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):K(t,a,s=e()),s},W=(t,a,e,n,s=0)=>b((e?Q:J)(t,a[s],s>_(a)-2?e:G),r=>{if(s>_(a)-2)return n?.(r)&&K(t,a[s]),r;const i=W(r,a,e,n,s+1);return E(r)&&K(t,a[s]),i}),X=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),Y=G(P(X,(t,a)=>[t,a])),tt=(t,a)=>J(Y,t[a])??0,at=c.crypto?t=>c.crypto.getRandomValues(t):t=>P(t,()=>u(256*y())),et=(t=16)=>{return a=(t,a)=>t+X[63&a],at(new Uint8Array(t)).reduce(a,"");var a},nt=(t,e)=>Error("tinybase:"+t+(f(e)?a:":"+e)),st=(t,a)=>{throw nt(t,a)},rt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},it=(t,a)=>rt(t,t=>{rt(()=>a?.(t))}),ot=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const ct=2**36,lt=2**30,ut=/^[-0-9A-Z_a-z]{16}$/,yt=t=>new Set(M(t)||f(t)?t:[t]),wt=t=>A(t)&&w(t)&&d(t)&&t>=0&&t<=4294967295,dt=(t,a)=>x(t)&&I(t,t=>a?dt(t,a-1):wt(t)),gt=(r,i)=>{return M(r)&&(1==_(r)||2==_(r)&&p(r[1])&&(c=1/0,(o=r[1])==a||p(o)&&m(ut,o)&&(t=>tt(t,0)*ct+tt(t,1)*lt+16777216*tt(t,2)+262144*tt(t,3)+4096*tt(t,4)+64*tt(t,5)+tt(t,6))(o)<=c))&&(i?x(r[0])&&I(r[0],t=>gt(t,i-1)):(l=r[0],f(l)||!f((a=>{if(v(a))return"null";if(M(a))return"array";if(x(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&w(a)?r:void 0})(l))));var o,c,l},ft=t=>M(t)&&2==_(t)&&wt(t[0])&&wt(t[1]),vt=(t,e,n)=>(v(t)||p(t))&&A(e)&&w(e)&&d(e)&&((t,e)=>0==t?(t=>ft(t)||gt(t,3)||gt(t,1)||M(t)&&2==_(t)&>(t[0],3)&&(dt(t[1],0)||dt(t[1],1)))(e):1==t?e===a:2==t?ft(e):3==t?(t=>M(t)&&(2==_(t)||3==_(t)&&1===t[2])&>(t[0],3)&>(t[1],1))(e):4==t?dt(e,0):5==t?dt(e,1):6==t?dt(e,2):7==t&&dt(e,0))(e,n),ht=(t,a)=>a?[t,a]:[t],bt=(t,e)=>((t??a)>(e??a)?t:e)??a,pt=(t="")=>ht(((t=[])=>{const a=V.create(null);return H(t,([t,e])=>q(a,t,e)),a})(),t),At=/^\d+$/,Mt=G(),_t=G(),St=G(),mt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,h,p=0,A=0,C=0,z=0,V=0,j=0,x=0,F=0,k=0;const q={},B=c.destroy;Q(Mt,u,()=>0),Q(_t,u,()=>[]),K(St,u,(J(St,u)??0)+1);const I=G(),[Z,$,X,Y,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!U(t)||!U(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!U(t)||!U(a),a.setContent]:st(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{m(At,a)&&_(t)<1e3&&D(t,a)}]})(),r=G(),i=(t,n,s,i)=>{let o,c=!1;if(H(((t,e=[a])=>{const n=[],s=(t,a)=>a==_(e)?D(n,t):v(e[a])?O(t,t=>s(t,a+1)):H([e[a],null],e=>s(J(t,e),a+1));return s(t,0),n})(n,s),a=>O(a,a=>{const n=()=>J(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);var y,w;return K(r,u,[s,i,o,c,l]),y=W(i,o??[a],yt),w=u,y?.add(w),u},(t,a,...e)=>i(!1,t,a,e),t=>b(J(r,t),([,e,n])=>(W(e,n??[a],void 0,a=>(R(a,t),E(a)?1:0)),K(r,t),s(t),n)),t=>b(J(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=_(i);o==_(a)?t(e,...i,...s(i)):v(a[o])?H(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Pt),ct=t=>{t!=p&&(p=t,et(I,void 0,p))},lt=()=>{J(St,u)||J(Mt,u)||!S(J(_t,u)??[])||(K(Mt,u),K(_t,u),K(St,u))},ut=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},wt=async()=>{Ct()&&t.__?.[0]?.()&&await bt()},dt=t=>ot(()=>w=t,()=>{w==t&&(w=void 0)}),gt=async t=>(2!=p&&(await ot(async()=>{ct(1),A++,await Ht(()=>rt(async()=>{const a=await e();M(a)?ut(a):f(a)&&t?tt(t):f(a)||st(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>ct(0)),await wt()),Pt),ft=async()=>{const t=x;x=0,t&&t==z&&!k&&(2==p?x=t:await gt())},vt=async t=>{const a=++z;let e=!0;if(await ht(!0),a==z&&!k){const n=rt(async()=>{const t=await s(async(t,n)=>{if(a==z&&!k)if(n||t){const a=e||2==p||!!j;V++,a&&j++,await ot(async()=>{ct(1),A++,await(a?Ht(()=>ut(n??t)):(()=>{try{return ut(n??t)}finally{ct(0)}})())},()=>{a&&j--,--V||ct(0)}),V||await wt()}else 2==p?x=a:await gt()});a!=z||k?f(t)||await r(t):y=t},i);await dt(n),a!=z||k||await ot(()=>gt(t),()=>{e=!1})}return Pt},ht=async(t=!1)=>{x=0,t||z++;const a=w,e=y;return y=void 0,await dt(ot(async()=>{await a},async()=>{f(e)||await rt(()=>r(e),i)})),Pt},bt=async t=>(1!=p&&await ot(()=>ot(async()=>{ct(2),C++,await Ht(()=>rt(()=>n($,t),i))},()=>ct(0)),ft),Pt),pt=async()=>{const a=++F;return await mt(!0),a!=F||k||(await bt(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=X();Y(t)&&rt(()=>bt(t))}}))),Pt},mt=async(a=!1)=>{a||F++;const e=d;return d=void 0,f(e)||t.delListener(e),Pt},Ct=()=>!f(d),Lt=async(t=!1)=>{const[a,e]=t?[mt,ht]:[ht,mt];return await ot(()=>a(),async()=>{await e()}),Pt},Ht=async(...t)=>{let a,e=!1;const n=L(n=>S(t)?n():D(J(_t,u),...P(t,(s,r)=>{const o=r==_(t)-1;return[async()=>{let t;h=L(a=>t=a),await ot(async()=>{try{await rt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{h=void 0,t()})},o?n:void 0,q]})));if(await(async()=>{if(!J(Mt,u)){K(Mt,u,1);const t=J(_t,u);let a=0;await ot(async()=>{for(;a<_(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{T(t,a),K(Mt,u,0),lt()})}})(),await n,e)throw a;return Pt},Pt={load:gt,startAutoLoad:vt,stopAutoLoad:ht,isAutoLoading:()=>!f(y),save:bt,startAutoSave:pt,stopAutoSave:mt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[pt,vt,mt,ht]:[vt,pt,ht,mt],i=e(t),o=a?F:z;await i;const c=n(t),l=a?z:F;try{await c}catch(t){throw l==(a?z:F)&&await it(r),o==(a?F:z)&&await it(s),t}return Pt},stopAutoPersisting:Lt,getStatus:()=>p,addStatusListener:t=>at(t,I),delListener:a=>(nt(a),t),schedule:Ht,getStore:()=>t,getStats:()=>({loads:A,saves:C}),...c,destroy:async()=>(f(g)&&(k=1,g=(async()=>{const t=J(_t,u),a=(e=([,t,a])=>a!=q||(t?.(),!1),t.filter(e));var e;const n=h;T(t),D(t,...a),await ot(()=>ot(()=>ot(Lt,()=>n),()=>B?.()),()=>{const t=(J(St,u)??1)-1;K(St,u,t||void 0),lt()})})()),await g,Pt)};return N(Pt)};G();const Ct=(t,e,n,s,r)=>{const i=et(),o=new BroadcastChannel(e);return((t,e,n,s,r,i,o,c,u={},y=C)=>{let w,d=0,g=0,h=0,p=!1;const A=G(),M=()=>et(11),_=t=>{return a=(a,[,,e,n])=>{l(n),R(A,a),e(t)},O(A,(t,e)=>a(e,t));var a},S=(t,a,n,s)=>{g++,i?.(t,a,n,s),e(t,a,n,s)},m=async(t,e,n,s)=>L((i,o)=>{if(z(A)>=100)return void o(nt(15,"requests"));const c=s+"."+et(4),u=((t,a=0)=>setTimeout(t,1e3*a))(()=>{R(A,c),o(nt(3,(t??a)+"."+c+"."+e))},r);K(A,c,[t,(t,a)=>{l(u),R(A,c),i([t,a,s])},o,u]);try{S(t,c,e,n)}catch(t){l(u),R(A,c),o(t)}}),H=(t,[a,e])=>{B(a,([a,e],n)=>{const s=Z(t[0],n,pt);B(a,([t,a],e)=>{const n=Z(s[0],e,pt);B(t,([t,a],e)=>q(n[0],e,ht(t,a))),n[1]=bt(n[1],a)}),s[1]=bt(s[1],e)}),t[1]=bt(t[1],e)},P=(e=null,n,s=M())=>rt(async()=>{f(n)&&([n,e,s]=await m(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=pt();if(o!=r){const[a,n]=(await m(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!U(n)){const[a,r]=(await m(e,5,t.getMergeableRowHashes(n),s))[0];if(H(l,a),!U(r)){const a=(await m(e,6,t.getMergeableCellHashes(r),s))[0];H(l,a)}}}return[l,c==i?pt():(await m(e,7,t.getMergeableValueHashes(),s))[0],1]},c),T=mt(t,async()=>{const t=await P();return!t||U(t[0][0])&&U(t[1][0])?void 0:t},async(a,e)=>e?S(null,M(),3,e):S(null,M(),2,t.getMergeableContentHashes()),t=>w=t,()=>w=void 0,c,2,{startSync:async t=>(d=1,await T.startAutoPersisting(t)),stopSync:async()=>(d=0,await T.stopAutoPersisting(),T),destroy:async()=>(p=!0,_(nt(3,"destroyed")),y(),await T.stopSync(),s(),T),getSynchronizerStats:()=>({sends:g,receives:h}),...u},1);return n((a,e,n,s)=>{if(p)return;if(!vt(e,n,s))return void c?.(nt(14));const r=d||T.isAutoLoading();h++,o?.(a,e,n,s),0==n?b(J(A,e),([t,e])=>v(t)||t==a?e(s,a):0):2==n&&r?P(a,s,e??void 0).then(t=>{w?.(void 0,t)}).catch(c):3==n&&r?w?.(void 0,s):b(1==n&&(d||T.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{S(a,e,0,t)})},_),T})(t,(t,a,e,n)=>o.postMessage([i,t,a,e,n]),t=>{o.onmessage=({data:a})=>{if(M(a)&&5==_(a)){const[e,n,s,r,o]=a;if(p(e)&&(v(n)||p(n))&&vt(s,r,o))return void((v(n)||n==i)&&t(e,s,r,o))}r?.(nt(14))}},()=>{o.onmessage=null,o.close()},.01,n,s,r,{getChannelName:()=>e})};export{Ct as createBroadcastChannelSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const
|
|
1
|
+
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=(t,a)=>lt(t,t=>{lt(()=>a?.(t))}),yt=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const wt=(t,a)=>a?[t,a]:[t],dt=(t,e)=>((t??a)>(e??a)?t:e)??a,gt=(t="")=>wt(((t=[])=>{const a=j.create(null);return P(t,([t,e])=>N(a,t,e)),a})(),t),ft=/^\d+$/,vt=J(),ht=J(),bt=J(),pt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,f,b=0,A=0,_=0,C=0,E=0,j=0,x=0,F=0,k=0;const I={},N=c.destroy;X(vt,u,()=>0),X(ht,u,()=>[]),W(bt,u,(K(bt,u)??0)+1);const U=J(),[Z,B,G,Q,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!$(t)||!$(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!$(t)||!$(a),a.setContent]:ct(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{L(ft,a)&&S(t)<1e3&&z(t,a)}]})(),r=J(),i=(t,n,s,i)=>{let o,c=!1;if(P(((t,e=[a])=>{const n=[],s=(t,a)=>a==S(e)?z(n,t):h(e[a])?R(t,t=>s(t,a+1)):P([e[a],null],e=>s(K(t,e),a+1));return s(t,0),n})(n,s),a=>R(a,a=>{const n=()=>K(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);return W(r,u,[s,i,o,c,l]),it(Y(i,o??[a],rt),u),u},(t,a,...e)=>i(!1,t,a,e),t=>p(K(r,t),([,e,n])=>(Y(e,n??[a],void 0,a=>(V(a,t),O(a)?1:0)),W(r,t),s(t),n)),t=>p(K(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=S(i);o==S(a)?t(e,...i,...s(i)):h(a[o])?P(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Tt),st=t=>{t!=b&&(b=t,et(U,void 0,b))},ot=()=>{K(bt,u)||K(vt,u)||!m(K(ht,u)??[])||(W(vt,u),W(ht,u),W(bt,u))},wt=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},dt=async()=>{Ct()&&t.__?.[0]?.()&&await St()},gt=t=>yt(()=>w=t,()=>{w==t&&(w=void 0)}),pt=async t=>(2!=b&&(await yt(async()=>{st(1),A++,await Pt(()=>lt(async()=>{const a=await e();M(a)?wt(a):v(a)&&t?tt(t):v(a)||ct(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>st(0)),await dt()),Tt),At=async()=>{const t=x;x=0,t&&t==C&&!k&&(2==b?x=t:await pt())},_t=async t=>{const a=++C;let e=!0;if(await Mt(!0),a==C&&!k){const n=lt(async()=>{const t=await s(async(t,n)=>{if(a==C&&!k)if(n||t){const a=e||2==b||!!j;E++,a&&j++,await yt(async()=>{st(1),A++,await(a?Pt(()=>wt(n??t)):(()=>{try{return wt(n??t)}finally{st(0)}})())},()=>{a&&j--,--E||st(0)}),E||await dt()}else 2==b?x=a:await pt()});a!=C||k?v(t)||await r(t):y=t},i);await gt(n),a!=C||k||await yt(()=>pt(t),()=>{e=!1})}return Tt},Mt=async(t=!1)=>{x=0,t||C++;const a=w,e=y;return y=void 0,await gt(yt(async()=>{await a},async()=>{v(e)||await lt(()=>r(e),i)})),Tt},St=async t=>(1!=b&&await yt(()=>yt(async()=>{st(2),_++,await Pt(()=>lt(()=>n(B,t),i))},()=>st(0)),At),Tt),mt=async()=>{const a=++F;return await Lt(!0),a!=F||k||(await St(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=G();Q(t)&<(()=>St(t))}}))),Tt},Lt=async(a=!1)=>{a||F++;const e=d;return d=void 0,v(e)||t.delListener(e),Tt},Ct=()=>!v(d),Ht=async(t=!1)=>{const[a,e]=t?[Lt,Mt]:[Mt,Lt];return await yt(()=>a(),async()=>{await e()}),Tt},Pt=async(...t)=>{let a,e=!1;const n=H(n=>m(t)?n():z(K(ht,u),...T(t,(s,r)=>{const o=r==S(t)-1;return[async()=>{let t;f=H(a=>t=a),await yt(async()=>{try{await lt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{f=void 0,t()})},o?n:void 0,I]})));if(await(async()=>{if(!K(vt,u)){W(vt,u,1);const t=K(ht,u);let a=0;await yt(async()=>{for(;a<S(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{D(t,a),W(vt,u,0),ot()})}})(),await n,e)throw a;return Tt},Tt={load:pt,startAutoLoad:_t,stopAutoLoad:Mt,isAutoLoading:()=>!v(y),save:St,startAutoSave:mt,stopAutoSave:Lt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[mt,_t,Lt,Mt]:[_t,mt,Mt,Lt],i=e(t),o=a?F:C;await i;const c=n(t),l=a?C:F;try{await c}catch(t){throw l==(a?C:F)&&await ut(r),o==(a?F:C)&&await ut(s),t}return Tt},stopAutoPersisting:Ht,getStatus:()=>b,addStatusListener:t=>at(t,U),delListener:a=>(nt(a),t),schedule:Pt,getStore:()=>t,getStats:()=>({loads:A,saves:_}),...c,destroy:async()=>(v(g)&&(k=1,g=(async()=>{const t=K(ht,u),a=(e=([,t,a])=>a!=I||(t?.(),!1),t.filter(e));var e;const n=f;D(t),z(t,...a),await yt(()=>yt(()=>yt(Ht,()=>n),()=>N?.()),()=>{const t=(K(bt,u)??1)-1;W(bt,u,t||void 0),ot()})})()),await g,Tt)};return q(Tt)};J();const At=2**36,_t=2**30,Mt=/^[-0-9A-Z_a-z]{16}$/,St=t=>_(t)&&d(t)&&g(t)&&t>=0&&t<=4294967295,mt=(t,a)=>F(t)&&Z(t,t=>a?mt(t,a-1):St(t)),Lt=(r,i)=>{return M(r)&&(1==S(r)||2==S(r)&&A(r[1])&&(c=1/0,(o=r[1])==a||A(o)&&L(Mt,o)&&(t=>et(t,0)*At+et(t,1)*_t+16777216*et(t,2)+262144*et(t,3)+4096*et(t,4)+64*et(t,5)+et(t,6))(o)<=c))&&(i?F(r[0])&&Z(r[0],t=>Lt(t,i-1)):(l=r[0],v(l)||!v((a=>{if(h(a))return"null";if(M(a))return"array";if(F(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&d(a)?r:void 0})(l))));var o,c,l},Ct=t=>M(t)&&2==S(t)&&St(t[0])&&St(t[1]),Ht=J(),Pt=(t,e,n,s)=>{const r=st(),i=rt();return((t,e,n,s,r,i,o,c,y={},w=C)=>{let f,b=0,m=0,L=0,P=!1;const T=J(),D=()=>st(11),z=t=>Q(T,(a,[,,e,n])=>{u(n),V(T,a),e(t)}),O=(t,a,n,s)=>{m++,i?.(t,a,n,s),e(t,a,n,s)},R=async(t,e,n,s)=>H((i,o)=>{if(E(T)>=100)return void o(ot(15,"requests"));const c=s+"."+st(4),y=l(()=>{V(T,c),o(ot(3,(t??a)+"."+c+"."+e))},r);W(T,c,[t,(t,a)=>{u(y),V(T,c),i([t,a,s])},o,y]);try{O(t,c,e,n)}catch(t){u(y),V(T,c),o(t)}}),j=(t,[a,e])=>{U(a,([a,e],n)=>{const s=B(t[0],n,gt);U(a,([t,a],e)=>{const n=B(s[0],e,gt);U(t,([t,a],e)=>N(n[0],e,wt(t,a))),n[1]=dt(n[1],a)}),s[1]=dt(s[1],e)}),t[1]=dt(t[1],e)},x=(e=null,n,s=D())=>lt(async()=>{v(n)&&([n,e,s]=await R(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=gt();if(o!=r){const[a,n]=(await R(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!$(n)){const[a,r]=(await R(e,5,t.getMergeableRowHashes(n),s))[0];if(j(l,a),!$(r)){const a=(await R(e,6,t.getMergeableCellHashes(r),s))[0];j(l,a)}}}return[l,c==i?gt():(await R(e,7,t.getMergeableValueHashes(),s))[0],1]},c),F=pt(t,async()=>{const t=await x();return!t||$(t[0][0])&&$(t[1][0])?void 0:t},async(a,e)=>e?O(null,D(),3,e):O(null,D(),2,t.getMergeableContentHashes()),t=>f=t,()=>f=void 0,c,2,{startSync:async t=>(b=1,await F.startAutoPersisting(t)),stopSync:async()=>(b=0,await F.stopAutoPersisting(),F),destroy:async()=>(P=!0,z(ot(3,"destroyed")),w(),await F.stopSync(),s(),F),getSynchronizerStats:()=>({sends:m,receives:L}),...y},1);return n((e,n,s,r)=>{if(P)return;if(!((t,e,n)=>(h(t)||A(t))&&_(e)&&d(e)&&g(e)&&((t,e)=>0==t?(t=>Ct(t)||Lt(t,3)||Lt(t,1)||M(t)&&2==S(t)&&Lt(t[0],3)&&(mt(t[1],0)||mt(t[1],1)))(e):1==t?e===a:2==t?Ct(e):3==t?(t=>M(t)&&(2==S(t)||3==S(t)&&1===t[2])&&Lt(t[0],3)&&Lt(t[1],1))(e):4==t?mt(e,0):5==t?mt(e,1):6==t?mt(e,2):7==t&&mt(e,0))(e,n))(n,s,r))return void c?.(ot(14));const i=b||F.isAutoLoading();L++,o?.(e,n,s,r),0==s?p(K(T,n),([t,a])=>h(t)||t==e?a(r,e):0):2==s&&i?x(e,r,n??void 0).then(t=>{f?.(void 0,t)}).catch(c):3==s&&i?f?.(void 0,r):p(1==s&&(b||F.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{O(e,n,0,t)})},z),F})(t,(t,a,e,n)=>{const s=h(t)?[]:[t];h(t)&&Q(Ht,t=>t!=r?z(s,t):0);const o=l(()=>{V(i,o),P(s,t=>K(Ht,t)?.(r,a,e,n))});return it(i,o),o},t=>{W(Ht,r,t)},()=>{V(Ht,r)},.01,e,n,s,{},()=>{R(i,u),i.clear()})};export{Pt as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const
|
|
1
|
+
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=(t,a)=>lt(t,t=>{lt(()=>a?.(t))}),yt=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const wt=(t,a)=>a?[t,a]:[t],dt=(t,e)=>((t??a)>(e??a)?t:e)??a,gt=(t="")=>wt(((t=[])=>{const a=j.create(null);return P(t,([t,e])=>N(a,t,e)),a})(),t),ft=/^\d+$/,vt=J(),ht=J(),bt=J(),pt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,f,b=0,A=0,_=0,C=0,E=0,j=0,x=0,F=0,k=0;const I={},N=c.destroy;X(vt,u,()=>0),X(ht,u,()=>[]),W(bt,u,(K(bt,u)??0)+1);const U=J(),[Z,B,G,Q,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!$(t)||!$(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!$(t)||!$(a),a.setContent]:ct(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{L(ft,a)&&S(t)<1e3&&z(t,a)}]})(),r=J(),i=(t,n,s,i)=>{let o,c=!1;if(P(((t,e=[a])=>{const n=[],s=(t,a)=>a==S(e)?z(n,t):h(e[a])?R(t,t=>s(t,a+1)):P([e[a],null],e=>s(K(t,e),a+1));return s(t,0),n})(n,s),a=>R(a,a=>{const n=()=>K(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);return W(r,u,[s,i,o,c,l]),it(Y(i,o??[a],rt),u),u},(t,a,...e)=>i(!1,t,a,e),t=>p(K(r,t),([,e,n])=>(Y(e,n??[a],void 0,a=>(V(a,t),O(a)?1:0)),W(r,t),s(t),n)),t=>p(K(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=S(i);o==S(a)?t(e,...i,...s(i)):h(a[o])?P(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Tt),st=t=>{t!=b&&(b=t,et(U,void 0,b))},ot=()=>{K(bt,u)||K(vt,u)||!m(K(ht,u)??[])||(W(vt,u),W(ht,u),W(bt,u))},wt=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},dt=async()=>{Ct()&&t.__?.[0]?.()&&await St()},gt=t=>yt(()=>w=t,()=>{w==t&&(w=void 0)}),pt=async t=>(2!=b&&(await yt(async()=>{st(1),A++,await Pt(()=>lt(async()=>{const a=await e();M(a)?wt(a):v(a)&&t?tt(t):v(a)||ct(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>st(0)),await dt()),Tt),At=async()=>{const t=x;x=0,t&&t==C&&!k&&(2==b?x=t:await pt())},_t=async t=>{const a=++C;let e=!0;if(await Mt(!0),a==C&&!k){const n=lt(async()=>{const t=await s(async(t,n)=>{if(a==C&&!k)if(n||t){const a=e||2==b||!!j;E++,a&&j++,await yt(async()=>{st(1),A++,await(a?Pt(()=>wt(n??t)):(()=>{try{return wt(n??t)}finally{st(0)}})())},()=>{a&&j--,--E||st(0)}),E||await dt()}else 2==b?x=a:await pt()});a!=C||k?v(t)||await r(t):y=t},i);await gt(n),a!=C||k||await yt(()=>pt(t),()=>{e=!1})}return Tt},Mt=async(t=!1)=>{x=0,t||C++;const a=w,e=y;return y=void 0,await gt(yt(async()=>{await a},async()=>{v(e)||await lt(()=>r(e),i)})),Tt},St=async t=>(1!=b&&await yt(()=>yt(async()=>{st(2),_++,await Pt(()=>lt(()=>n(B,t),i))},()=>st(0)),At),Tt),mt=async()=>{const a=++F;return await Lt(!0),a!=F||k||(await St(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=G();Q(t)&<(()=>St(t))}}))),Tt},Lt=async(a=!1)=>{a||F++;const e=d;return d=void 0,v(e)||t.delListener(e),Tt},Ct=()=>!v(d),Ht=async(t=!1)=>{const[a,e]=t?[Lt,Mt]:[Mt,Lt];return await yt(()=>a(),async()=>{await e()}),Tt},Pt=async(...t)=>{let a,e=!1;const n=H(n=>m(t)?n():z(K(ht,u),...T(t,(s,r)=>{const o=r==S(t)-1;return[async()=>{let t;f=H(a=>t=a),await yt(async()=>{try{await lt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{f=void 0,t()})},o?n:void 0,I]})));if(await(async()=>{if(!K(vt,u)){W(vt,u,1);const t=K(ht,u);let a=0;await yt(async()=>{for(;a<S(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{D(t,a),W(vt,u,0),ot()})}})(),await n,e)throw a;return Tt},Tt={load:pt,startAutoLoad:_t,stopAutoLoad:Mt,isAutoLoading:()=>!v(y),save:St,startAutoSave:mt,stopAutoSave:Lt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[mt,_t,Lt,Mt]:[_t,mt,Mt,Lt],i=e(t),o=a?F:C;await i;const c=n(t),l=a?C:F;try{await c}catch(t){throw l==(a?C:F)&&await ut(r),o==(a?F:C)&&await ut(s),t}return Tt},stopAutoPersisting:Ht,getStatus:()=>b,addStatusListener:t=>at(t,U),delListener:a=>(nt(a),t),schedule:Pt,getStore:()=>t,getStats:()=>({loads:A,saves:_}),...c,destroy:async()=>(v(g)&&(k=1,g=(async()=>{const t=K(ht,u),a=(e=([,t,a])=>a!=I||(t?.(),!1),t.filter(e));var e;const n=f;D(t),z(t,...a),await yt(()=>yt(()=>yt(Ht,()=>n),()=>N?.()),()=>{const t=(K(bt,u)??1)-1;W(bt,u,t||void 0),ot()})})()),await g,Tt)};return q(Tt)};J();const At=2**36,_t=2**30,Mt=/^[-0-9A-Z_a-z]{16}$/,St=t=>_(t)&&d(t)&&g(t)&&t>=0&&t<=4294967295,mt=(t,a)=>F(t)&&Z(t,t=>a?mt(t,a-1):St(t)),Lt=(r,i)=>{return M(r)&&(1==S(r)||2==S(r)&&A(r[1])&&(c=1/0,(o=r[1])==a||A(o)&&L(Mt,o)&&(t=>et(t,0)*At+et(t,1)*_t+16777216*et(t,2)+262144*et(t,3)+4096*et(t,4)+64*et(t,5)+et(t,6))(o)<=c))&&(i?F(r[0])&&Z(r[0],t=>Lt(t,i-1)):(l=r[0],v(l)||!v((a=>{if(h(a))return"null";if(M(a))return"array";if(F(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&d(a)?r:void 0})(l))));var o,c,l},Ct=t=>M(t)&&2==S(t)&&St(t[0])&&St(t[1]),Ht=J(),Pt=(t,e,n,s)=>{const r=st(),i=rt();return((t,e,n,s,r,i,o,c,y={},w=C)=>{let f,b=0,m=0,L=0,P=!1;const T=J(),D=()=>st(11),z=t=>Q(T,(a,[,,e,n])=>{u(n),V(T,a),e(t)}),O=(t,a,n,s)=>{m++,i?.(t,a,n,s),e(t,a,n,s)},R=async(t,e,n,s)=>H((i,o)=>{if(E(T)>=100)return void o(ot(15,"requests"));const c=s+"."+st(4),y=l(()=>{V(T,c),o(ot(3,(t??a)+"."+c+"."+e))},r);W(T,c,[t,(t,a)=>{u(y),V(T,c),i([t,a,s])},o,y]);try{O(t,c,e,n)}catch(t){u(y),V(T,c),o(t)}}),j=(t,[a,e])=>{U(a,([a,e],n)=>{const s=B(t[0],n,gt);U(a,([t,a],e)=>{const n=B(s[0],e,gt);U(t,([t,a],e)=>N(n[0],e,wt(t,a))),n[1]=dt(n[1],a)}),s[1]=dt(s[1],e)}),t[1]=dt(t[1],e)},x=(e=null,n,s=D())=>lt(async()=>{v(n)&&([n,e,s]=await R(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=gt();if(o!=r){const[a,n]=(await R(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!$(n)){const[a,r]=(await R(e,5,t.getMergeableRowHashes(n),s))[0];if(j(l,a),!$(r)){const a=(await R(e,6,t.getMergeableCellHashes(r),s))[0];j(l,a)}}}return[l,c==i?gt():(await R(e,7,t.getMergeableValueHashes(),s))[0],1]},c),F=pt(t,async()=>{const t=await x();return!t||$(t[0][0])&&$(t[1][0])?void 0:t},async(a,e)=>e?O(null,D(),3,e):O(null,D(),2,t.getMergeableContentHashes()),t=>f=t,()=>f=void 0,c,2,{startSync:async t=>(b=1,await F.startAutoPersisting(t)),stopSync:async()=>(b=0,await F.stopAutoPersisting(),F),destroy:async()=>(P=!0,z(ot(3,"destroyed")),w(),await F.stopSync(),s(),F),getSynchronizerStats:()=>({sends:m,receives:L}),...y},1);return n((e,n,s,r)=>{if(P)return;if(!((t,e,n)=>(h(t)||A(t))&&_(e)&&d(e)&&g(e)&&((t,e)=>0==t?(t=>Ct(t)||Lt(t,3)||Lt(t,1)||M(t)&&2==S(t)&&Lt(t[0],3)&&(mt(t[1],0)||mt(t[1],1)))(e):1==t?e===a:2==t?Ct(e):3==t?(t=>M(t)&&(2==S(t)||3==S(t)&&1===t[2])&&Lt(t[0],3)&&Lt(t[1],1))(e):4==t?mt(e,0):5==t?mt(e,1):6==t?mt(e,2):7==t&&mt(e,0))(e,n))(n,s,r))return void c?.(ot(14));const i=b||F.isAutoLoading();L++,o?.(e,n,s,r),0==s?p(K(T,n),([t,a])=>h(t)||t==e?a(r,e):0):2==s&&i?x(e,r,n??void 0).then(t=>{f?.(void 0,t)}).catch(c):3==s&&i?f?.(void 0,r):p(1==s&&(b||F.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{O(e,n,0,t)})},z),F})(t,(t,a,e,n)=>{const s=h(t)?[]:[t];h(t)&&Q(Ht,t=>t!=r?z(s,t):0);const o=l(()=>{V(i,o),P(s,t=>K(Ht,t)?.(r,a,e,n))});return it(i,o),o},t=>{W(Ht,r,t)},()=>{V(Ht,r)},.01,e,n,s,{},()=>{R(i,u),i.clear()})};export{Pt as createLocalSynchronizer};
|
|
Binary file
|