tinybase 10.0.0-beta.0 → 10.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/indexes/index.d.ts +3 -3
- package/@types/indexes/with-schemas/index.d.ts +3 -3
- package/checkpoints/index.js +4 -2
- package/checkpoints/with-schemas/index.js +4 -2
- package/index.js +37 -4
- package/metrics/index.js +2 -1
- package/metrics/with-schemas/index.js +2 -1
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/persisters/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/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/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/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/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +59 -28
- package/omni/with-schemas/index.js +59 -28
- package/package.json +14 -14
- package/persisters/persister-libsql/index.js +21 -23
- package/persisters/persister-libsql/with-schemas/index.js +21 -23
- package/queries/index.js +2 -1
- package/queries/with-schemas/index.js +2 -1
- package/readme.md +2 -2
- package/relationships/index.js +39 -9
- package/relationships/with-schemas/index.js +39 -9
- package/releases.md +1 -1
- package/synchronizers/synchronizer-local/index.js +1 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/with-schemas/index.js +37 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",n="",e=",",i=a(n),s="true",r=(a,t,n)=>a.replace(t,n),c=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,v=o(l),f=o(u),E=t=>a(t)==i,m=a=>Array.isArray(a),N=a=>a.length,A=a=>0==N(a),$=()=>{},_=a=>new c(a),h=async a=>c.all(a),O=(a,e)=>{throw((a,e)=>Error(t+":"+a+(u(e)?n:":"+e)))(a,e)},g=async(a,t)=>{try{return await a()}catch(a){t?.(a)}},p=(a,t)=>g(a,a=>{g(()=>t?.(a))}),T=async(a,t)=>{try{return await a()}finally{await t()}},I=(a,t)=>a?.has(t)??!1,D=a=>u(a)||0==(a=>a?.size??0)(a),S=a=>[...a?.values()??[]],L=a=>a.clear(),R=(a,t)=>a?.forEach(t),b=(a,t)=>a?.delete(t),C=(a,t)=>a.forEach(t),M=(a,t="")=>a.join(t),P=(a,t)=>a.map(t),x=(a,t)=>a.filter(t),F=(a,t=N(a))=>a.splice(0,t),B=(a,...t)=>a.push(...t),q="_",k="_id",U="SELECT",j="WHERE",G="TABLE",J="ALTER "+G,K="FROM",X="DELETE "+K,Y=U+"*"+K,z="pragma_",H="data_version",Q="schema_version",V="pragma_table_",W="CREATE "+G,Z=/\$tableName/g,aa=a=>M(P(((a,t="",n)=>a.split(t,n))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),ta=()=>"?",na=(a,t,n=[1])=>M(P(a,()=>t(n)),e),ea=(a,t=s)=>j+`(${ia(t,aa(a))})`,ia=(a,t)=>r(a,Z,t),sa=Object,ra=a=>sa.getPrototypeOf(a),ca=sa.entries,oa=a=>!l(a)&&v(ra(a),a=>a==sa.prototype||l(ra(a)),()=>!0),wa=sa.keys,la=sa.freeze,ua=(...a)=>sa.assign(sa.create(null),...a),ya=(a,t,n)=>(sa.defineProperty(a,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),da=(a=[])=>{const t=sa.create(null);return C(a,([a,n])=>ya(t,a,n)),t},va=(a,t)=>(delete a[t],a),fa=(a,t)=>C(wa(a),n=>t(a[n],n)),Ea=(a,t)=>P(ca(a),([a,n])=>t(n,a)),ma=(a,t)=>{const n=da();return fa(a,(a,e)=>ya(n,e,t(a,e))),n},Na=a=>N(wa(a)),Aa=a=>oa(a)&&0==Na(a),$a=Map,_a=a=>new $a(a),ha=(a,t)=>a?.get(t),Oa=(a,t)=>R(a,(a,n)=>t(n,a)),ga=(a,t)=>{const n=[];return Oa(a,(a,e)=>B(n,t(e,a))),n},pa=(a,t,n)=>u(n)?(b(a,t),a):a?.set(t,n),Ta=(a,t,n,e)=>{let i=ha(a,t);return I(a,t)?e?.(i):pa(a,t,i=n()),i},Ia=(a,t,n,e,i=0)=>f((n?Ta:ha)(a,t[i],i>N(t)-2?n:_a),s=>{if(i>N(t)-2)return e?.(s)&&pa(a,t[i]),s;const r=Ia(s,t,n,e,i+1);return D(s)&&pa(a,t[i]),r}),Da=a=>new Set(m(a)||u(a)?a:[a]),Sa=(a,t)=>a?.add(t),La="ColumnName",Ra="store",ba="json",Ca=Ra+"TableName",Ma=Ra+"Id"+La,Pa=Ra+La,xa="autoLoadIntervalSeconds",Fa="rowId"+La,Ba="tableId",qa="tableName",ka="deleteEmptyColumns",Ua="deleteEmptyTable",ja="condition",Ga={mode:ba,[xa]:1},Ja={load:0,save:0,[qa]:t+"_values"},Ka=a=>m(a)?a:void 0,Xa=a=>d(a)||m(a),Ya=(a,t,n,e,i)=>{const s=_a();return fa(a,(a,r)=>{const c=(l=ua(t,E(a)?{[n]:a}:a),o=sa.values(l),w=Na(t),o.slice(0,w));var o,w,l;y(c[0])||e(r,c[0])||(i(r,c[0]),pa(s,r,c))}),s},za=JSON.stringify,Ha=JSON.parse,Qa=a=>""===a?void 0:m(a)?P(a,Qa):oa(a)?ma(a,Qa):a,Va=/^\d+$/,Wa=_a(),Za=_a(),at=_a(),tt=(a,t,e,i,s,r,c,o={},w=0,l=[])=>{let d,v,E,$,h,I=0,S=0,L=0,M=0,q=0,k=0,U=0,j=0,G=0;const J={},K=o.destroy;Ta(Wa,l,()=>0),Ta(Za,l,()=>[]),pa(at,l,(ha(at,l)??0)+1);const X=_a(),[Y,z,H,Q,V]=((a=1,t,n)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[a],[t]])=>!Aa(a)||!Aa(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!Aa(a)||!Aa(t),t.setContent]:O(0))(c,a,w),[W,Z,aa]=(a=>{let t;const[e,i]=(()=>{const a=[];let t=0;return[e=>(e?a.shift():null)??n+t++,t=>{Va.test(t)&&N(a)<1e3&&B(a,t)}]})(),s=_a(),r=(a,e,i,r)=>{let c,o=!1;if(C(((a,t=[n])=>{const e=[],i=(a,n)=>n==N(t)?B(e,a):y(t[n])?R(a,a=>i(a,n+1)):C([t[n],null],t=>i(ha(a,t),n+1));return i(a,0),e})(e,i),n=>R(n,n=>{const e=()=>ha(s,n)[0](t,...i??[],...r);a?(a=>{try{return a()}catch(a){(a=>{o||(c=a),o=!0})?.(a)}})(e):e()})),o)throw c};return[(i,r,c,o=[],w=()=>[])=>{t??=a();const l=e(1);return pa(s,l,[i,r,c,o,w]),Sa(Ia(r,c??[n],Da),l),l},(a,t,...n)=>r(!1,a,t,n),a=>f(ha(s,a),([,t,e])=>(Ia(t,e??[n],void 0,t=>(b(t,a),D(t)?1:0)),pa(s,a),i(a),e)),a=>f(ha(s,a),([a,,n=[],e,i])=>{const s=(...r)=>{const c=N(r);c==N(n)?a(t,...r,...i(r)):y(n[c])?C(e[c]?.(...r)??[],a=>s(...r,a)):s(...r,n[c])};s()}),(a,t,...n)=>r(!0,a,t,n)]})(()=>ma),ta=a=>{a!=I&&(I=a,Z(X,void 0,I))},na=()=>{ha(at,l)||ha(Wa,l)||!A(ha(Za,l)??[])||(pa(Wa,l),pa(Za,l),pa(at,l))},ea=t=>{(Y&&m(t?.[0])?1===t?.[2]?a.__[4]:a.__[3]:1===t?.[2]?a._[10]:a._[9])(t)},ia=async()=>{va()&&a.__?.[0]?.()&&await ua()},sa=a=>T(()=>v=a,()=>{v==a&&(v=void 0)}),ra=async a=>(2!=I&&(await T(async()=>{ta(1),S++,await Ea(()=>g(async()=>{const n=await t();m(n)?ea(n):u(n)&&a?V(a):u(n)||O(1,n)},t=>{r?.(t),a&&V(a)}))},()=>ta(0)),await ia()),ma),ca=async()=>{const a=U;U=0,a&&a==M&&!G&&(2==I?U=a:await ra())},oa=async a=>{const t=++M;let n=!0;if(await wa(!0),t==M&&!G){const e=g(async()=>{const a=await i(async(a,e)=>{if(t==M&&!G)if(e||a){const t=n||2==I||!!k;q++,t&&k++,await T(async()=>{ta(1),S++,await(t?Ea(()=>ea(e??a)):(()=>{try{return ea(e??a)}finally{ta(0)}})())},()=>{t&&k--,--q||ta(0)}),q||await ia()}else 2==I?U=t:await ra()});t!=M||G?u(a)||await s(a):d=a},r);await sa(e),t!=M||G||await T(()=>ra(a),()=>{n=!1})}return ma},wa=async(a=!1)=>{U=0,a||M++;const t=v,n=d;return d=void 0,await sa(T(async()=>{await t},async()=>{u(n)||await g(()=>s(n),r)})),ma},ua=async a=>(1!=I&&await T(()=>T(async()=>{ta(2),L++,await Ea(()=>g(()=>e(z,a),r))},()=>ta(0)),ca),ma),ya=async()=>{const t=++j;return await da(!0),t!=j||G||(await ua(),t!=j||G||(E=a.addDidFinishTransactionListener(()=>{if(t==j&&!G){const a=H();Q(a)&&g(()=>ua(a))}}))),ma},da=async(t=!1)=>{t||j++;const n=E;return E=void 0,u(n)||a.delListener(n),ma},va=()=>!u(E),fa=async(a=!1)=>{const[t,n]=a?[da,wa]:[wa,da];return await T(()=>t(),async()=>{await n()}),ma},Ea=async(...a)=>{let t,n=!1;const e=_(e=>A(a)?e():B(ha(Za,l),...P(a,(i,s)=>{const c=s==N(a)-1;return[async()=>{let a;h=_(t=>a=t),await T(async()=>{try{await g(i,r)}catch(a){n||(n=!0,t=a)}c&&e()},()=>{h=void 0,a()})},c?e:void 0,J]})));if(await(async()=>{if(!ha(Wa,l)){pa(Wa,l,1);const a=ha(Za,l);let t=0;await T(async()=>{for(;t<N(a);){const n=a[t++];n[2]=void 0,await n[0]()}},()=>{F(a,t),pa(Wa,l,0),na()})}})(),await e,n)throw t;return ma},ma={load:ra,startAutoLoad:oa,stopAutoLoad:wa,isAutoLoading:()=>!u(d),save:ua,startAutoSave:ya,stopAutoSave:da,isAutoSaving:va,startAutoPersisting:async(a,t=!1)=>{const[n,e,i,s]=t?[ya,oa,da,wa]:[oa,ya,wa,da],r=n(a),c=t?j:M;await r;const o=e(a),w=t?M:j;try{await o}catch(a){throw w==(t?M:j)&&await p(s),c==(t?j:M)&&await p(i),a}return ma},stopAutoPersisting:fa,getStatus:()=>I,addStatusListener:a=>W(a,X),delListener:t=>(aa(t),a),schedule:Ea,getStore:()=>a,getStats:()=>({loads:S,saves:L}),...o,destroy:async()=>(u($)&&(G=1,$=(async()=>{const a=ha(Za,l),t=x(a,([,a,t])=>t!=J||(a?.(),!1)),n=h;F(a),B(a,...t),await T(()=>T(()=>T(fa,()=>n),()=>K?.()),()=>{const a=(ha(at,l)??1)-1;pa(at,l,a||void 0),na()})})()),await $,ma)};return la(ma)},nt=new w.TextEncoder,et=(a,n,i,r,c,o=it,w,l,y)=>{const d=_a(),v=_a();let f=a;return[async()=>{L(d),L(v),C(await i(f,n),({tn:a,cn:t,uq:n})=>{Sa(Ta(d,a,Da),t),n&&Sa(Ta(v,a,Da),t)})},async(a,t,n,e)=>{const i=u(e)?void 0:Da(e);return((a,t)=>I(ha(d,a),t))(a,t)?da(x(P(await f(Y+aa(a)+ea(a,n)),a=>{const n=a[t],e=l?ma(va(a,t),l):va(a,t);return[n,u(i)?e:da(x(Ea(e,(a,t)=>[t,a]),([a])=>(a=>u(i)||I(i,a))(a)))]}),a=>!u(a[0])&&!Aa(a[1]))):{}},async(a,n,i,l,y,E=!1,m=s,N)=>{const $=u(N)?void 0:Da(N),_=a=>u($)||I($,a),O=Da();fa(i??{},a=>C(x(wa(a??{}),_),a=>Sa(O,a)));const g=S(O);if(u($)&&!E&&y&&m==s&&A(g)&&I(d,a))return await f("DROP "+G+aa(a)),pa(d,a),void pa(v,a);const p=ha(d,a),T=Da(x(S(p),a=>a==n||_(a)));if(!A(g))if(I(d,a)){if(await h(P([n,...g],async t=>{b(T,t)||(await f(J+aa(a)+"ADD"+aa(t)+r),Sa(p,t))})),o==it&&!I(ha(v,a),n)){const e=t+"_pk_"+(a=>{let t=2166136261;return C(nt.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(za([a,n]));await f("CREATE UNIQUE INDEX IF NOT EXISTS"+aa(e)+"ON"+aa(a)+`(${aa(n)})`),Sa(Ta(v,a,Da),n)}}else await f(W+aa(a)+`(${aa(n)}${r} PRIMARY KEY${M(P(g,a=>e+aa(a)+r))});`),pa(d,a,Da([n,...g])),pa(v,a,Da([n]));if(await h([...!E&&l?P(S(T),async t=>{t!=n&&(await f(J+aa(a)+"DROP"+aa(t)),b(p,t))}):[]]),E)u(i)?u($)&&await f(X+aa(a)+ea(a,m)):await h(Ea(i,async(t,e)=>{if(u(t))await f(X+aa(a)+ea(a,m)+`AND(${aa(n)}=${c([1])})`,[e]);else if(!A(g)){const i=x(wa(t),_);A(i)||await o(f,a,n,i,{[e]:P(i,a=>w?w(t[a]):t[a])},c,p)}}));else if(A(g))u($)&&I(d,a)&&await f(X+aa(a)+ea(a,m));else{const t=x(S(ha(d,a)),a=>a!=n&&_(a)),e=da(),s=[];fa(i??{},(a,n)=>{ya(e,n,P(t,t=>w?w(a?.[t]):a?.[t])),B(s,n)}),await o(f,a,n,t,e,c,p),await f(X+aa(a)+ea(a,m)+`AND${aa(n)}NOT IN(${na(s,c)})`,s)}},async t=>{if(y)return await y(async a=>{const n=f;return f=a,await T(t,()=>{f=n})});await a("BEGIN");try{const n=await t();return await a("END"),n}catch(t){throw await g(()=>a("ROLLBACK")),t}}]},it=async(a,t,n,i,s,r)=>{const c=[1];await a("INSERT INTO"+aa(t)+"("+((...a)=>M(P(a,aa),e))(n,...i)+")VALUES"+M(Ea(s,a=>"("+r(c)+","+na(a,r,c)+")"),e)+"ON CONFLICT("+aa(n)+")DO UPDATE SET"+M(P(i,a=>aa(a)+"=excluded."+aa(a)),e),Ea(s,(a,t)=>[t,...P(a,a=>a??null)]).flat())},st=(a,t,n,e,i,s,r,[c,o,w],l,y,d,v,f,E,m,N,A,$)=>{const[_,h,O,g]=et(t,l,y,f,E,m,void 0,void 0,$);return tt(a,()=>g(async()=>{return await _(),a=(await h(c,o))[q]?.[w]??"null",Qa(Ha(a));var a}),a=>g(async()=>{var t;await _(),await O(c,o,{[q]:{[w]:(t=a()??null,za(t,(a,t)=>u(t)?"":t))}},!0,!0)}),n,e,i,r,{[v]:()=>d,destroy:s},0,d)},rt=(a,t,n,e,i,s,r,[c,o,[w,l,y,d,v]],f,E,m,N,A,$,_,O,g,p)=>{const[T,I,D,S]=et(t,f,E,A,$,_,O,g,p),L=(a,t)=>h(ga(o,async([n,e,i,s,r],c)=>{var o,w;t&&(o=a,w=c,!sa.hasOwn(o,w))||await D(n,e,a[c],i,s,t,r)})),R=(a,t,n)=>da(1==n?x(Ea(a,(a,t)=>[t,a]),([a])=>{return n=a,t.includes(n);var n}):x(P(t,t=>[t,a[t]]),([,a])=>!u(a))),b=async(a,t)=>l?await D(y,k,{[q]:u(v)?a:R(a,v,t)},!0,!0,t,void 0,v):null;return tt(a,()=>S(async()=>{await T();const a=await(async()=>da(x(await h(ga(c,async([a,t,n],e)=>[a,await I(e,t,n)])),a=>!Aa(a[1]))))(),t=await(async()=>w?(await I(y,k,void 0,d))[q]:{})();return Aa(a)&&u(t)?void 0:[a,t]}),(a,t)=>S(async()=>{if(await T(),u(t)){const[t,n]=a();await L(t),await b(n)}else await L(t[0],!0),await b(t[1],!0)}),n,e,i,r,{[N]:()=>m,destroy:s},0,m)},ct=(a,e,i,r,o,w,y,v,f,m,N="getDb",A,$)=>{let _,h,g;const D=((a,t)=>t?async(n,e)=>(t(n,e),await a(n,e)):a)(i,w),[L,R,b,C]=(a=>{const n=(a=>ua(Ga,E(a)?{[Ca]:a}:a??{}))(a),e=n[xa];if(n.mode==ba){const a=n[Ca]??t;return[1,e,[a,n[Ma]??k,n[Pa]??Ra],Da(a)]}const{tables:{load:i={},save:r={}}={},values:c={}}=n,o=ua(Ja,c),{load:w,save:l}=o,u=[Xa(w),Xa(l),o[qa],Ka(w),Ka(l)],y=u[2],d=Da(y),v=Da(y),f=Ya(i,{[Ba]:null,[Fa]:k,[ja]:s},Ba,a=>I(v,a),a=>Sa(d,a)),m=Ya(r,{[qa]:null,[Fa]:k,[ka]:0,[Ua]:0,[ja]:null},qa,(a,t)=>I(v,t),(a,t)=>Sa(d,t));return Oa(m,(a,t)=>t[4]??=ha(f,t[0])?.[2]??s),[0,e,[f,m,u],d]})(e);return!L&&a.isMergeable()&&O(0),(L?st:rt)(a,D,a=>{let t,n,e=1,i=0,s=0;const w=async(t=!0)=>{const[{d:n,s:i,c:r}]=await D(U+` ${H} d,${Q} s,TOTAL_CHANGES() c FROM ${z}${H} JOIN ${z}${Q}`);if(e&&(n!=_||i!=h||r!=g)){const c=t&&!s&&!l(_);_=n,h=i,g=r,c&&e&&await a()}},d=()=>{u(t)||((a=>{clearInterval(a)})(t),t=void 0)},v=(r=!1)=>{if(n)return n;const c=T(()=>p(async()=>{for(i?r&&await w():(await w(!1),i=1);e&&s;)s=0,await w(!1),e&&(await a(),await w())},y),()=>{n==c&&(n=void 0),e&&(s?v():e&&u(t)&&(t=setInterval(()=>v(!0),1e3*R)))});return n=c,c},f=r(a=>{e&&I(C,a)&&(s=1,d(),c.resolve().then(()=>e?void v():0))});return v().then(()=>async()=>{e=0,s=0,d(),await T(async()=>await n,async()=>{_=h=g=null,await o(f)})})},a=>a(),y,v,f,b,S(C),async(a,t)=>await a(U+` t.name tn,c.name cn,c.pk OR EXISTS(${U} 1 FROM ${z}index_list(t.name)i,${z}index_info(i.name)ii ${j} i."unique"=1 AND ii.name=c.name AND(${U} count(*) FROM ${z}index_info(i.name))=1)uq FROM ${V}list()t,${V}info(t.name)c ${j} t.schema='main'AND t.type IN('table','view')AND t.name IN(${na(t,ta)})ORDER BY t.name,c.name`,t),m,N,n,ta,A,a=>d(a)?1:(a=>!1===a)(a)?0:a,void 0,$)},ot=(a,t,n,e,i)=>ct(a,n,async(a,n=[])=>(await t.execute({sql:a,args:n})).rows,()=>$,a=>a(),e,i,$,1,t,"getClient",void 0,"file"==t.protocol?void 0:async a=>{e?.("BEGIN");const n=await t.transaction("write");return await T(async()=>{try{const t=await a(async(a,t=[])=>(e?.(a,t),(await n.execute({sql:a,args:t})).rows));return await n.commit(),e?.("END"),t}catch(a){throw await g(()=>n.rollback()),e?.("ROLLBACK"),a}},()=>n.close())});export{ot as createLibSqlPersister};
|
|
1
|
+
const a=a=>typeof a,t="tinybase",n="",e=",",i=a(n),s="true",r=(a,t,n)=>a.replace(t,n),c=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,v=o(l),f=o(u),E=t=>a(t)==i,m=a=>Array.isArray(a),N=a=>a.length,A=a=>0==N(a),$=()=>{},_=a=>new c(a),h=async a=>c.all(a),O=(a,e)=>{throw((a,e)=>Error(t+":"+a+(u(e)?n:":"+e)))(a,e)},g=async(a,t)=>{try{return await a()}catch(a){t?.(a)}},p=(a,t)=>g(a,a=>{g(()=>t?.(a))}),T=async(a,t)=>{try{return await a()}finally{await t()}},I=(a,t)=>a?.has(t)??!1,D=a=>u(a)||0==(a=>a?.size??0)(a),S=a=>[...a?.values()??[]],L=a=>a.clear(),R=(a,t)=>a?.forEach(t),b=(a,t)=>a?.delete(t),C=(a,t)=>a.forEach(t),M=(a,t="")=>a.join(t),P=(a,t)=>a.map(t),x=(a,t)=>a.filter(t),F=(a,t=N(a))=>a.splice(0,t),B=(a,...t)=>a.push(...t),q="_",k="_id",U="SELECT",j="WHERE",G="TABLE",J="ALTER "+G,K="FROM",X="DELETE "+K,Y=U+"*"+K,z="pragma_",H="data_version",Q="schema_version",V="pragma_table_",W="CREATE "+G,Z=/\$tableName/g,aa=a=>M(P(((a,t="",n)=>a.split(t,n))(a,"."),a=>`"${r(a,/"/g,'""')}"`),"."),ta=()=>"?",na=(a,t,n=[1])=>M(P(a,()=>t(n)),e),ea=(a,t=s)=>j+`(${ia(t,aa(a))})`,ia=(a,t)=>r(a,Z,t),sa=Object,ra=a=>sa.getPrototypeOf(a),ca=sa.entries,oa=a=>!l(a)&&v(ra(a),a=>a==sa.prototype||l(ra(a)),()=>!0),wa=sa.keys,la=sa.freeze,ua=(...a)=>sa.assign(sa.create(null),...a),ya=(a,t,n)=>(sa.defineProperty(a,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),da=(a=[])=>{const t=sa.create(null);return C(a,([a,n])=>ya(t,a,n)),t},va=(a,t)=>(delete a[t],a),fa=(a,t)=>C(wa(a),n=>t(a[n],n)),Ea=(a,t)=>P(ca(a),([a,n])=>t(n,a)),ma=(a,t)=>{const n=da();return fa(a,(a,e)=>ya(n,e,t(a,e))),n},Na=a=>N(wa(a)),Aa=a=>oa(a)&&0==Na(a),$a=Map,_a=a=>new $a(a),ha=(a,t)=>a?.get(t),Oa=(a,t)=>R(a,(a,n)=>t(n,a)),ga=(a,t)=>{const n=[];return Oa(a,(a,e)=>B(n,t(e,a))),n},pa=(a,t,n)=>u(n)?(b(a,t),a):a?.set(t,n),Ta=(a,t,n,e)=>{let i=ha(a,t);return I(a,t)?e?.(i):pa(a,t,i=n()),i},Ia=(a,t,n,e,i=0)=>f((n?Ta:ha)(a,t[i],i>N(t)-2?n:_a),s=>{if(i>N(t)-2)return e?.(s)&&pa(a,t[i]),s;const r=Ia(s,t,n,e,i+1);return D(s)&&pa(a,t[i]),r}),Da=a=>new Set(m(a)||u(a)?a:[a]),Sa=(a,t)=>a?.add(t),La="ColumnName",Ra="store",ba="json",Ca=Ra+"TableName",Ma=Ra+"Id"+La,Pa=Ra+La,xa="autoLoadIntervalSeconds",Fa="rowId"+La,Ba="tableId",qa="tableName",ka="deleteEmptyColumns",Ua="deleteEmptyTable",ja="condition",Ga={mode:ba,[xa]:1},Ja={load:0,save:0,[qa]:t+"_values"},Ka=a=>m(a)?a:void 0,Xa=a=>d(a)||m(a),Ya=(a,t,n,e,i)=>{const s=_a();return fa(a,(a,r)=>{const c=(l=ua(t,E(a)?{[n]:a}:a),o=sa.values(l),w=Na(t),o.slice(0,w));var o,w,l;y(c[0])||e(r,c[0])||(i(r,c[0]),pa(s,r,c))}),s},za=JSON.stringify,Ha=JSON.parse,Qa=a=>""===a?void 0:m(a)?P(a,Qa):oa(a)?ma(a,Qa):a,Va=/^\d+$/,Wa=_a(),Za=_a(),at=_a(),tt=(a,t,e,i,s,r,c,o={},w=0,l=[])=>{let d,v,E,$,h,I=0,S=0,L=0,M=0,q=0,k=0,U=0,j=0,G=0;const J={},K=o.destroy;Ta(Wa,l,()=>0),Ta(Za,l,()=>[]),pa(at,l,(ha(at,l)??0)+1);const X=_a(),[Y,z,H,Q,V]=((a=1,t,n)=>1!=a&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[a],[t]])=>!Aa(a)||!Aa(t),t.setDefaultContent]:2!=a?[0,t._[7],t._[8],([a,t])=>!Aa(a)||!Aa(t),t.setContent]:O(0))(c,a,w),[W,Z,aa]=(a=>{let t;const[e,i]=(()=>{const a=[];let t=0;return[e=>(e?a.shift():null)??n+t++,t=>{Va.test(t)&&N(a)<1e3&&B(a,t)}]})(),s=_a(),r=(a,e,i,r)=>{let c,o=!1;if(C(((a,t=[n])=>{const e=[],i=(a,n)=>n==N(t)?B(e,a):y(t[n])?R(a,a=>i(a,n+1)):C([t[n],null],t=>i(ha(a,t),n+1));return i(a,0),e})(e,i),n=>R(n,n=>{const e=()=>ha(s,n)[0](t,...i??[],...r);a?(a=>{try{return a()}catch(a){(a=>{o||(c=a),o=!0})?.(a)}})(e):e()})),o)throw c};return[(i,r,c,o=[],w=()=>[])=>{t??=a();const l=e(1);return pa(s,l,[i,r,c,o,w]),Sa(Ia(r,c??[n],Da),l),l},(a,t,...n)=>r(!1,a,t,n),a=>f(ha(s,a),([,t,e])=>(Ia(t,e??[n],void 0,t=>(b(t,a),D(t)?1:0)),pa(s,a),i(a),e)),a=>f(ha(s,a),([a,,n=[],e,i])=>{const s=(...r)=>{const c=N(r);c==N(n)?a(t,...r,...i(r)):y(n[c])?C(e[c]?.(...r)??[],a=>s(...r,a)):s(...r,n[c])};s()}),(a,t,...n)=>r(!0,a,t,n)]})(()=>ma),ta=a=>{a!=I&&(I=a,Z(X,void 0,I))},na=()=>{ha(at,l)||ha(Wa,l)||!A(ha(Za,l)??[])||(pa(Wa,l),pa(Za,l),pa(at,l))},ea=t=>{(Y&&m(t?.[0])?1===t?.[2]?a.__[4]:a.__[3]:1===t?.[2]?a._[10]:a._[9])(t)},ia=async()=>{va()&&a.__?.[0]?.()&&await ua()},sa=a=>T(()=>v=a,()=>{v==a&&(v=void 0)}),ra=async a=>(2!=I&&(await T(async()=>{ta(1),S++,await Ea(()=>g(async()=>{const n=await t();m(n)?ea(n):u(n)&&a?V(a):u(n)||O(1,n)},t=>{r?.(t),a&&V(a)}))},()=>ta(0)),await ia()),ma),ca=async()=>{const a=U;U=0,a&&a==M&&!G&&(2==I?U=a:await ra())},oa=async a=>{const t=++M;let n=!0;if(await wa(!0),t==M&&!G){const e=g(async()=>{const a=await i(async(a,e)=>{if(t==M&&!G)if(e||a){const t=n||2==I||!!k;q++,t&&k++,await T(async()=>{ta(1),S++,await(t?Ea(()=>ea(e??a)):(()=>{try{return ea(e??a)}finally{ta(0)}})())},()=>{t&&k--,--q||ta(0)}),q||await ia()}else 2==I?U=t:await ra()});t!=M||G?u(a)||await s(a):d=a},r);await sa(e),t!=M||G||await T(()=>ra(a),()=>{n=!1})}return ma},wa=async(a=!1)=>{U=0,a||M++;const t=v,n=d;return d=void 0,await sa(T(async()=>{await t},async()=>{u(n)||await g(()=>s(n),r)})),ma},ua=async a=>(1!=I&&await T(()=>T(async()=>{ta(2),L++,await Ea(()=>g(()=>e(z,a),r))},()=>ta(0)),ca),ma),ya=async()=>{const t=++j;return await da(!0),t!=j||G||(await ua(),t!=j||G||(E=a.addDidFinishTransactionListener(()=>{if(t==j&&!G){const a=H();Q(a)&&g(()=>ua(a))}}))),ma},da=async(t=!1)=>{t||j++;const n=E;return E=void 0,u(n)||a.delListener(n),ma},va=()=>!u(E),fa=async(a=!1)=>{const[t,n]=a?[da,wa]:[wa,da];return await T(()=>t(),async()=>{await n()}),ma},Ea=async(...a)=>{let t,n=!1;const e=_(e=>A(a)?e():B(ha(Za,l),...P(a,(i,s)=>{const c=s==N(a)-1;return[async()=>{let a;h=_(t=>a=t),await T(async()=>{try{await g(i,r)}catch(a){n||(n=!0,t=a)}c&&e()},()=>{h=void 0,a()})},c?e:void 0,J]})));if(await(async()=>{if(!ha(Wa,l)){pa(Wa,l,1);const a=ha(Za,l);let t=0;await T(async()=>{for(;t<N(a);){const n=a[t++];n[2]=void 0,await n[0]()}},()=>{F(a,t),pa(Wa,l,0),na()})}})(),await e,n)throw t;return ma},ma={load:ra,startAutoLoad:oa,stopAutoLoad:wa,isAutoLoading:()=>!u(d),save:ua,startAutoSave:ya,stopAutoSave:da,isAutoSaving:va,startAutoPersisting:async(a,t=!1)=>{const[n,e,i,s]=t?[ya,oa,da,wa]:[oa,ya,wa,da],r=n(a),c=t?j:M;await r;const o=e(a),w=t?M:j;try{await o}catch(a){throw w==(t?M:j)&&await p(s),c==(t?j:M)&&await p(i),a}return ma},stopAutoPersisting:fa,getStatus:()=>I,addStatusListener:a=>W(a,X),delListener:t=>(aa(t),a),schedule:Ea,getStore:()=>a,getStats:()=>({loads:S,saves:L}),...o,destroy:async()=>(u($)&&(G=1,$=(async()=>{const a=ha(Za,l),t=x(a,([,a,t])=>t!=J||(a?.(),!1)),n=h;F(a),B(a,...t),await T(()=>T(()=>T(fa,()=>n),()=>K?.()),()=>{const a=(ha(at,l)??1)-1;pa(at,l,a||void 0),na()})})()),await $,ma)};return la(ma)},nt=new w.TextEncoder,et=(a,n,i,r,c,o=it,w,l,y)=>{const d=_a(),v=_a();let f=a;return[async()=>{L(d),L(v),C(await i(f,n),({tn:a,cn:t,uq:n})=>{Sa(Ta(d,a,Da),t),n&&Sa(Ta(v,a,Da),t)})},async(a,t,n,e)=>{const i=u(e)?void 0:Da(e);return((a,t)=>I(ha(d,a),t))(a,t)?da(x(P(await f(Y+aa(a)+ea(a,n)),a=>{const n=a[t],e=l?ma(va(a,t),l):va(a,t);return[n,u(i)?e:da(x(Ea(e,(a,t)=>[t,a]),([a])=>(a=>u(i)||I(i,a))(a)))]}),a=>!u(a[0])&&!Aa(a[1]))):{}},async(a,n,i,l,y,E=!1,m=s,N)=>{const $=u(N)?void 0:Da(N),_=a=>u($)||I($,a),O=Da();fa(i??{},a=>C(x(wa(a??{}),_),a=>Sa(O,a)));const g=S(O);if(u($)&&!E&&y&&m==s&&A(g)&&I(d,a))return await f("DROP "+G+aa(a)),pa(d,a),void pa(v,a);const p=ha(d,a),T=Da(x(S(p),a=>a==n||_(a)));if(!A(g))if(I(d,a)){if(await h(P([n,...g],async t=>{b(T,t)||(await f(J+aa(a)+"ADD"+aa(t)+r),Sa(p,t))})),o==it&&!I(ha(v,a),n)){const e=t+"_pk_"+(a=>{let t=2166136261;return C(nt.encode(a),a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0})(za([a,n]));await f("CREATE UNIQUE INDEX IF NOT EXISTS"+aa(e)+"ON"+aa(a)+`(${aa(n)})`),Sa(Ta(v,a,Da),n)}}else await f(W+aa(a)+`(${aa(n)}${r} PRIMARY KEY${M(P(g,a=>e+aa(a)+r))});`),pa(d,a,Da([n,...g])),pa(v,a,Da([n]));if(await h([...!E&&l?P(S(T),async t=>{t!=n&&(await f(J+aa(a)+"DROP"+aa(t)),b(p,t))}):[]]),E)u(i)?u($)&&await f(X+aa(a)+ea(a,m)):await h(Ea(i,async(t,e)=>{if(u(t))await f(X+aa(a)+ea(a,m)+`AND(${aa(n)}=${c([1])})`,[e]);else if(!A(g)){const i=x(wa(t),_);A(i)||await o(f,a,n,i,{[e]:P(i,a=>w?w(t[a]):t[a])},c,p)}}));else if(A(g))u($)&&I(d,a)&&await f(X+aa(a)+ea(a,m));else{const t=x(S(ha(d,a)),a=>a!=n&&_(a)),e=da(),s=[];fa(i??{},(a,n)=>{ya(e,n,P(t,t=>w?w(a?.[t]):a?.[t])),B(s,n)}),await o(f,a,n,t,e,c,p),await f(X+aa(a)+ea(a,m)+`AND${aa(n)}NOT IN(${na(s,c)})`,s)}},async t=>{if(y)return await y(async a=>{const n=f;return f=a,await T(t,()=>{f=n})});await a("BEGIN");try{const n=await t();return await a("END"),n}catch(t){throw await g(()=>a("ROLLBACK")),t}}]},it=async(a,t,n,i,s,r)=>{const c=[1];await a("INSERT INTO"+aa(t)+"("+((...a)=>M(P(a,aa),e))(n,...i)+")VALUES"+M(Ea(s,a=>"("+r(c)+","+na(a,r,c)+")"),e)+"ON CONFLICT("+aa(n)+")DO UPDATE SET"+M(P(i,a=>aa(a)+"=excluded."+aa(a)),e),Ea(s,(a,t)=>[t,...P(a,a=>a??null)]).flat())},st=(a,t,n,e,i,s,r,[c,o,w],l,y,d,v,f,E,m,N,A,$)=>{const[_,h,O,g]=et(t,l,y,f,E,m,void 0,void 0,$);return tt(a,()=>g(async()=>{return await _(),a=(await h(c,o))[q]?.[w]??"null",Qa(Ha(a));var a}),a=>g(async()=>{var t;await _(),await O(c,o,{[q]:{[w]:(t=a()??null,za(t,(a,t)=>u(t)?"":t))}},!0,!0)}),n,e,i,r,{[v]:()=>d,destroy:s},0,d)},rt=(a,t,n,e,i,s,r,[c,o,[w,l,y,d,v]],f,E,m,N,A,$,_,O,g,p)=>{const[T,I,D,S]=et(t,f,E,A,$,_,O,g,p),L=(a,t)=>h(ga(o,async([n,e,i,s,r],c)=>{var o,w;t&&(o=a,w=c,!sa.hasOwn(o,w))||await D(n,e,a[c],i,s,t,r)})),R=(a,t,n)=>da(1==n?x(Ea(a,(a,t)=>[t,a]),([a])=>{return n=a,t.includes(n);var n}):x(P(t,t=>[t,a[t]]),([,a])=>!u(a))),b=async(a,t)=>l?await D(y,k,{[q]:u(v)?a:R(a,v,t)},!0,!0,t,void 0,v):null;return tt(a,()=>S(async()=>{await T();const a=await(async()=>da(x(await h(ga(c,async([a,t,n],e)=>[a,await I(e,t,n)])),a=>!Aa(a[1]))))(),t=await(async()=>w?(await I(y,k,void 0,d))[q]:{})();return Aa(a)&&u(t)?void 0:[a,t]}),(a,t)=>S(async()=>{if(await T(),u(t)){const[t,n]=a();await L(t),await b(n)}else await L(t[0],!0),await b(t[1],!0)}),n,e,i,r,{[N]:()=>m,destroy:s},0,m)},ct=(a,e,i,r,o,w,y,v,f,m,N="getDb",A,$)=>{let _,h,g;const D=((a,t)=>t?async(n,e)=>(t(n,e),await a(n,e)):a)(i,w),[L,R,b,C]=(a=>{const n=(a=>ua(Ga,E(a)?{[Ca]:a}:a??{}))(a),e=n[xa];if(n.mode==ba){const a=n[Ca]??t;return[1,e,[a,n[Ma]??k,n[Pa]??Ra],Da(a)]}const{tables:{load:i={},save:r={}}={},values:c={}}=n,o=ua(Ja,c),{load:w,save:l}=o,u=[Xa(w),Xa(l),o[qa],Ka(w),Ka(l)],y=u[2],d=Da(y),v=Da(y),f=Ya(i,{[Ba]:null,[Fa]:k,[ja]:s},Ba,a=>I(v,a),a=>Sa(d,a)),m=Ya(r,{[qa]:null,[Fa]:k,[ka]:0,[Ua]:0,[ja]:null},qa,(a,t)=>I(v,t),(a,t)=>Sa(d,t));return Oa(m,(a,t)=>t[4]??=ha(f,t[0])?.[2]??s),[0,e,[f,m,u],d]})(e);return!L&&a.isMergeable()&&O(0),(L?st:rt)(a,D,a=>{let t,n,e=1,i=0,s=0;const w=async(t=!0)=>{const[{d:n,s:i,c:r}]=await D(U+` ${H} d,${Q} s,TOTAL_CHANGES() c FROM ${z}${H} JOIN ${z}${Q}`);if(e&&(n!=_||i!=h||r!=g)){const c=t&&!s&&!l(_);_=n,h=i,g=r,c&&e&&await a()}},d=()=>{u(t)||((a=>{clearInterval(a)})(t),t=void 0)},v=(r=!1)=>{if(n)return n;const c=T(()=>p(async()=>{for(i?r&&await w():(await w(!1),i=1);e&&s;)s=0,await w(!1),e&&(await a(),await w())},y),()=>{n==c&&(n=void 0),e&&(s?v():e&&u(t)&&(t=setInterval(()=>v(!0),1e3*R)))});return n=c,c},f=r(a=>{e&&I(C,a)&&(s=1,d(),c.resolve().then(()=>e?void v():0))});return v().then(()=>async()=>{e=0,s=0,d(),await T(async()=>await n,async()=>{_=h=g=null,await o(f)})})},a=>a(),y,v,f,b,S(C),async(a,t)=>await a(U+` t.name tn,c.name cn,c.pk OR EXISTS(${U} 1 FROM ${z}index_list(t.name)i,${z}index_info(i.name)ii ${j} i."unique"=1 AND ii.name=c.name AND(${U} count(*) FROM ${z}index_info(i.name))=1)uq FROM ${V}list()t,${V}info(t.name)c ${j} t.schema='main'AND t.type IN('table','view')AND t.name IN(${na(t,ta)})ORDER BY t.name,c.name`,t),m,N,n,ta,A,a=>d(a)?1:(a=>!1===a)(a)?0:a,void 0,$)},ot=(a,t,n,e,i)=>ct(a,n,async(a,n=[])=>(await t.execute({sql:a,args:n})).rows,()=>$,a=>a(),e,i,$,1,t,"getClient",void 0,async a=>{e?.("BEGIN");const n=await t.transaction("write");return await T(async()=>{try{const t=await a(async(a,t)=>(e?.(a,t),(await n.execute({sql:a,args:t??[]})).rows));return await n.commit(),e?.("END"),t}catch(a){throw await g(()=>n.rollback()),e?.("ROLLBACK"),a}},()=>n.close())});export{ot as createLibSqlPersister};
|
|
Binary file
|
package/min/queries/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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};
|
|
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)=>r>1?e+(e-t)/(r-1):void 0,(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="",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};
|
|
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)=>r>1?e+(e-t)/(r-1):void 0,(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 e=e=>typeof e,t="",o=e(t),
|
|
1
|
+
const e=e=>typeof e,t="",o=e(t),r=e=>(t,o,r)=>e(t)?r?.():o(t),n=e=>null==e,s=e=>void 0===e,i=e=>null===e,a=r(n),l=r(s),d=e=>Array.isArray(e),c=e=>e.length,u=(e,t)=>{return c(e)===c(t)&&(o=(e,o)=>t[o]===e,e.every(o));var o},R=(e,t)=>e.forEach(t),f=(e,...t)=>e.push(...t),h=e=>t=>{let o=0;for(const r of t.values())o+=e(r);return o},w=e=>e?.size??0,g=h(w),p=h(g),I=(e,t)=>e?.has(t)??!1,L=e=>s(e)||0==w(e),v=e=>[...e?.values()??[]],y=e=>e.clear(),b=(e,t)=>e?.forEach(t),k=(e,t)=>e?.delete(t),m=(e,t)=>{try{return e()}catch(e){t?.(e)}},E=Object,S=e=>E.getPrototypeOf(e),T=E.freeze,O=JSON.stringify,z=Map,A=e=>new z(e),D=(e,t)=>e?.get(t),M=(e,t)=>b(e,(e,o)=>t(o,e)),j=(e,t,o)=>s(o)?(k(e,t),e):e?.set(t,o),x=(e,t,o,r)=>{let n=D(e,t);return I(e,t)?r?.(n):j(e,t,n=o()),n},C=(e,t,o,r,n=0)=>l((o?x:D)(e,t[n],n>c(t)-2?o:A),s=>{if(n>c(t)-2)return r?.(s)&&j(e,t[n]),s;const i=C(s,t,o,r,n+1);return L(s)&&j(e,t[n]),i}),J=e=>new Set(d(e)||s(e)?e:[e]),N=(e,t)=>e?.add(t),P=/^\d+$/,W=(()=>{const r=new WeakMap;return h=>{if(!r.has(h)){const w=(r=>{const h=A(),w=A(),g=A(),z=A(),[W,$,q]=(()=>{let e;const[o,r]=(()=>{const e=[];let o=0;return[r=>(r?e.shift():null)??t+o++,t=>{P.test(t)&&c(e)<1e3&&f(e,t)}]})(),n=A(),s=(o,r,s,a)=>{let l,d=!1;if(R(((e,o=[t])=>{const r=[],n=(e,t)=>t==c(o)?f(r,e):i(o[t])?b(e,e=>n(e,t+1)):R([o[t],null],o=>n(D(e,o),t+1));return n(e,0),r})(r,s),t=>b(t,t=>{const r=()=>D(n,t)[0](e,...s??[],...a);o?m(r,e=>{d||(l=e),d=!0}):r()})),d)throw l};return[(r,s,i,a=[],l=()=>[])=>{e??=oe;const d=o(1);return j(n,d,[r,s,i,a,l]),N(C(s,i??[t],J),d),d},(e,t,...o)=>s(!1,e,t,o),e=>l(D(n,e),([,o,s])=>(C(o,s??[t],void 0,t=>(k(t,e),L(t)?1:0)),j(n,e),r(e),s)),t=>l(D(n,t),([t,,o=[],r,n])=>{const s=(...a)=>{const l=c(a);l==c(o)?t(e,...a,...n(a)):i(o[l])?R(r[l]?.(...a)??[],e=>s(...a,e)):s(...a,o[l])};s()}),(e,t,...o)=>s(!0,e,t,o)]})(),[B,F,G,H,K,Q,,,U,V,X,Y]=((e,t,o,r,i)=>{const c=e.hasRow,f=A(),h=A(),w=A(),g=A(),p=A(),L=A(),v=t=>l(D(L,t),o=>{b(o,t=>{e.delListener(t),k(o,t)}),j(L,t)}),T=(e,o)=>{j(f,e,o),I(h,e)||(j(h,e,t()),j(g,e,A()),j(p,e,A()),m(()=>i(w),t=>{throw j(f,e),j(h,e),j(g,e),j(p,e),t}))},z=e=>{j(f,e),j(h,e),j(g,e),j(p,e),v(e),i(w)};return[()=>e,()=>{return e=f,[...e?.keys()??[]];var e},e=>M(h,e),e=>I(h,e),e=>D(f,e),e=>D(h,e),(e,t)=>j(h,e,t),T,(t,r,i,l,f)=>{T(t,r);const h=A(),w=A(),k=D(g,t),m=D(p,t),z=t=>{const i=o=>e.getCell(r,t,o),R=D(k,t),g=c(r,t)?o(l(i,t)):void 0;if(R===g||d(R)&&d(g)&&u(R,g)||j(h,t,[R,g]),!s(f)){const e=D(m,t),o=c(r,t)?f(i,t):void 0;(p=e)===(I=o)||(!n(L=p)&&a(S(L),e=>e==E.prototype||n(S(e)),()=>!0)||d(p))&&O(p)===O(I)||j(w,t,o)}var p,I,L},C=e=>{i(()=>{b(h,([,e],t)=>j(k,t,e)),b(w,(e,t)=>j(m,t,e))},h,w,k,m,e),y(h),y(w)};M(k,z),e.hasTable(r)&&R(e.getRowIds(r),e=>{I(k,e)||z(e)}),C(!0),v(t),((e,...t)=>{const o=x(L,e,J);R(t,e=>N(o,e))})(t,e.addRowListener(r,null,(e,t,o)=>z(o)),e.addTableListener(r,()=>C()))},z,e=>r(e,w),()=>M(L,z)]})(r,()=>[A(),A(),A(),A()],e=>s(e)?void 0:e+t,W,$),Z=(e,t,o)=>l(Q(e),([r,,n])=>{if(!I(n,t)){const i=J();if(K(e)!=ee(e))N(i,t);else{let e=t;for(;!s(e)&&!I(i,e);)N(i,e),e=D(r,e)}if(o)return i;j(n,t,i)}return D(n,t)}),_=(e,t)=>l(Q(e),([,,e])=>j(e,t)),ee=e=>D(h,e),te=(e,t)=>s(Q(e))?[t]:v(Z(e,t,!0)),oe={setRelationshipDefinition:(r,n,i,a)=>{return M(D(z,r),e=>Z(r,e)),j(h,r,i),U(r,n,(e,t,o,n,i,a)=>{const d=J(),c=J(),R=J(),[f,h]=Q(r);b(t,([e,t],o)=>{s(e)||(N(c,e),l(D(h,e),t=>{k(t,o),L(t)&&j(h,e)})),s(t)||(N(c,t),I(h,t)||j(h,t,J()),N(D(h,t),o)),N(d,o),j(f,o,t),M(D(z,r),e=>{I(Z(r,e),o)&&N(R,e)})}),e(),a&&M(D(z,r),e=>{const t=te(r,e);_(r,e),u(t,te(r,e))||N(R,e)}),b(d,e=>$(w,[r,e])),b(c,e=>$(g,[r,e])),b(R,e=>{_(r,e),$(z,[r,e])})},e(d=a)==o?e=>e(d):d??(()=>t)),oe;var d},delRelationshipDefinition:e=>(j(h,e),V(e),oe),getStore:B,getRelationshipIds:F,forEachRelationship:e=>G(t=>e(t,e=>r.forEachRow(K(t),e))),hasRelationship:H,getLocalTableId:K,getRemoteTableId:ee,getRemoteRowId:(e,t)=>D(Q(e)?.[0],t),getLocalRowIds:(e,t)=>v(D(Q(e)?.[1],t)),getLinkedRowIds:te,addRelationshipIdsListener:X,addRemoteRowIdListener:(e,t,o)=>W(o,w,[e,t]),addLocalRowIdsListener:(e,t,o)=>W(o,g,[e,t]),addLinkedRowIdsListener:(e,t,o)=>(Z(e,t),W(o,z,[e,t])),delListener:e=>(_(...q(e)??[]),oe),destroy:Y,getListenerStats:()=>({remoteRowId:p(w),localRowIds:p(g),linkedRowIds:p(z)})};return T(oe)})(h);r.set(h,w)}return r.get(h)}})();export{W as createRelationships};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",o=e(t),
|
|
1
|
+
const e=e=>typeof e,t="",o=e(t),r=e=>(t,o,r)=>e(t)?r?.():o(t),n=e=>null==e,s=e=>void 0===e,i=e=>null===e,a=r(n),l=r(s),d=e=>Array.isArray(e),c=e=>e.length,u=(e,t)=>{return c(e)===c(t)&&(o=(e,o)=>t[o]===e,e.every(o));var o},R=(e,t)=>e.forEach(t),f=(e,...t)=>e.push(...t),h=e=>t=>{let o=0;for(const r of t.values())o+=e(r);return o},w=e=>e?.size??0,g=h(w),p=h(g),I=(e,t)=>e?.has(t)??!1,L=e=>s(e)||0==w(e),v=e=>[...e?.values()??[]],y=e=>e.clear(),b=(e,t)=>e?.forEach(t),k=(e,t)=>e?.delete(t),m=(e,t)=>{try{return e()}catch(e){t?.(e)}},E=Object,S=e=>E.getPrototypeOf(e),T=E.freeze,O=JSON.stringify,z=Map,A=e=>new z(e),D=(e,t)=>e?.get(t),M=(e,t)=>b(e,(e,o)=>t(o,e)),j=(e,t,o)=>s(o)?(k(e,t),e):e?.set(t,o),x=(e,t,o,r)=>{let n=D(e,t);return I(e,t)?r?.(n):j(e,t,n=o()),n},C=(e,t,o,r,n=0)=>l((o?x:D)(e,t[n],n>c(t)-2?o:A),s=>{if(n>c(t)-2)return r?.(s)&&j(e,t[n]),s;const i=C(s,t,o,r,n+1);return L(s)&&j(e,t[n]),i}),J=e=>new Set(d(e)||s(e)?e:[e]),N=(e,t)=>e?.add(t),P=/^\d+$/,W=(()=>{const r=new WeakMap;return h=>{if(!r.has(h)){const w=(r=>{const h=A(),w=A(),g=A(),z=A(),[W,$,q]=(()=>{let e;const[o,r]=(()=>{const e=[];let o=0;return[r=>(r?e.shift():null)??t+o++,t=>{P.test(t)&&c(e)<1e3&&f(e,t)}]})(),n=A(),s=(o,r,s,a)=>{let l,d=!1;if(R(((e,o=[t])=>{const r=[],n=(e,t)=>t==c(o)?f(r,e):i(o[t])?b(e,e=>n(e,t+1)):R([o[t],null],o=>n(D(e,o),t+1));return n(e,0),r})(r,s),t=>b(t,t=>{const r=()=>D(n,t)[0](e,...s??[],...a);o?m(r,e=>{d||(l=e),d=!0}):r()})),d)throw l};return[(r,s,i,a=[],l=()=>[])=>{e??=oe;const d=o(1);return j(n,d,[r,s,i,a,l]),N(C(s,i??[t],J),d),d},(e,t,...o)=>s(!1,e,t,o),e=>l(D(n,e),([,o,s])=>(C(o,s??[t],void 0,t=>(k(t,e),L(t)?1:0)),j(n,e),r(e),s)),t=>l(D(n,t),([t,,o=[],r,n])=>{const s=(...a)=>{const l=c(a);l==c(o)?t(e,...a,...n(a)):i(o[l])?R(r[l]?.(...a)??[],e=>s(...a,e)):s(...a,o[l])};s()}),(e,t,...o)=>s(!0,e,t,o)]})(),[B,F,G,H,K,Q,,,U,V,X,Y]=((e,t,o,r,i)=>{const c=e.hasRow,f=A(),h=A(),w=A(),g=A(),p=A(),L=A(),v=t=>l(D(L,t),o=>{b(o,t=>{e.delListener(t),k(o,t)}),j(L,t)}),T=(e,o)=>{j(f,e,o),I(h,e)||(j(h,e,t()),j(g,e,A()),j(p,e,A()),m(()=>i(w),t=>{throw j(f,e),j(h,e),j(g,e),j(p,e),t}))},z=e=>{j(f,e),j(h,e),j(g,e),j(p,e),v(e),i(w)};return[()=>e,()=>{return e=f,[...e?.keys()??[]];var e},e=>M(h,e),e=>I(h,e),e=>D(f,e),e=>D(h,e),(e,t)=>j(h,e,t),T,(t,r,i,l,f)=>{T(t,r);const h=A(),w=A(),k=D(g,t),m=D(p,t),z=t=>{const i=o=>e.getCell(r,t,o),R=D(k,t),g=c(r,t)?o(l(i,t)):void 0;if(R===g||d(R)&&d(g)&&u(R,g)||j(h,t,[R,g]),!s(f)){const e=D(m,t),o=c(r,t)?f(i,t):void 0;(p=e)===(I=o)||(!n(L=p)&&a(S(L),e=>e==E.prototype||n(S(e)),()=>!0)||d(p))&&O(p)===O(I)||j(w,t,o)}var p,I,L},C=e=>{i(()=>{b(h,([,e],t)=>j(k,t,e)),b(w,(e,t)=>j(m,t,e))},h,w,k,m,e),y(h),y(w)};M(k,z),e.hasTable(r)&&R(e.getRowIds(r),e=>{I(k,e)||z(e)}),C(!0),v(t),((e,...t)=>{const o=x(L,e,J);R(t,e=>N(o,e))})(t,e.addRowListener(r,null,(e,t,o)=>z(o)),e.addTableListener(r,()=>C()))},z,e=>r(e,w),()=>M(L,z)]})(r,()=>[A(),A(),A(),A()],e=>s(e)?void 0:e+t,W,$),Z=(e,t,o)=>l(Q(e),([r,,n])=>{if(!I(n,t)){const i=J();if(K(e)!=ee(e))N(i,t);else{let e=t;for(;!s(e)&&!I(i,e);)N(i,e),e=D(r,e)}if(o)return i;j(n,t,i)}return D(n,t)}),_=(e,t)=>l(Q(e),([,,e])=>j(e,t)),ee=e=>D(h,e),te=(e,t)=>s(Q(e))?[t]:v(Z(e,t,!0)),oe={setRelationshipDefinition:(r,n,i,a)=>{return M(D(z,r),e=>Z(r,e)),j(h,r,i),U(r,n,(e,t,o,n,i,a)=>{const d=J(),c=J(),R=J(),[f,h]=Q(r);b(t,([e,t],o)=>{s(e)||(N(c,e),l(D(h,e),t=>{k(t,o),L(t)&&j(h,e)})),s(t)||(N(c,t),I(h,t)||j(h,t,J()),N(D(h,t),o)),N(d,o),j(f,o,t),M(D(z,r),e=>{I(Z(r,e),o)&&N(R,e)})}),e(),a&&M(D(z,r),e=>{const t=te(r,e);_(r,e),u(t,te(r,e))||N(R,e)}),b(d,e=>$(w,[r,e])),b(c,e=>$(g,[r,e])),b(R,e=>{_(r,e),$(z,[r,e])})},e(d=a)==o?e=>e(d):d??(()=>t)),oe;var d},delRelationshipDefinition:e=>(j(h,e),V(e),oe),getStore:B,getRelationshipIds:F,forEachRelationship:e=>G(t=>e(t,e=>r.forEachRow(K(t),e))),hasRelationship:H,getLocalTableId:K,getRemoteTableId:ee,getRemoteRowId:(e,t)=>D(Q(e)?.[0],t),getLocalRowIds:(e,t)=>v(D(Q(e)?.[1],t)),getLinkedRowIds:te,addRelationshipIdsListener:X,addRemoteRowIdListener:(e,t,o)=>W(o,w,[e,t]),addLocalRowIdsListener:(e,t,o)=>W(o,g,[e,t]),addLinkedRowIdsListener:(e,t,o)=>(Z(e,t),W(o,z,[e,t])),delListener:e=>(_(...q(e)??[]),oe),destroy:Y,getListenerStats:()=>({remoteRowId:p(w),localRowIds:p(g),linkedRowIds:p(z)})};return T(oe)})(h);r.set(h,w)}return r.get(h)}})();export{W as createRelationships};
|
|
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=(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)},.
|
|
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)},.05,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=(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)},.
|
|
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)},.05,e,n,s,{},()=>{R(i,u),i.clear()})};export{Pt as createLocalSynchronizer};
|
|
Binary file
|