tinybase 4.2.0-beta.1 → 4.2.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/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
- package/lib/debug/store.js +10 -10
- package/lib/debug/tinybase.js +10 -10
- package/lib/debug/ui-react-dom.js +10 -10
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/ui-react-dom-debug.js +1 -1
- package/lib/es6/ui-react-dom-debug.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/ui-react-dom-debug.js +1 -1
- package/lib/umd/ui-react-dom-debug.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/ui-react-dom-debug.js +1 -1
- package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
- package/package.json +9 -8
- package/readme.md +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";import{useCell as t,useValue as l,useSetValueCallback as n,useSetCellCallback as r,useRowIds as o,useTableCellIds as s,useRowCount as a,useSortedRowIds as i,useValueIds as d,ValueView as u,useIndexesOrIndexesById as c,useSliceRowIds as h,useRelationshipsOrRelationshipsById as m,useResultRowIds as p,useResultTableCellIds as b,useResultRowCount as v,useResultSortedRowIds as g,useStoreOrStoreById as f,useRemoteRowId as y,CellView as I,ResultCellView as w,useIndexes as C,useIndexIds as k,useSliceIds as x,useMetrics as T,useMetricIds as S,useMetric as O,useQueries as q,useQueryIds as V,useRelationships as N,useRelationshipIds as P,useStore as L,useTableIds as R,useValues as E,useStoreIds as j,useMetricsIds as M,useIndexesIds as z,useRelationshipsIds as $,useQueriesIds as A,useCreateStore as F,useCreatePersister as J}from"./ui-react";const D=e=>typeof e,B="",W=D(B),H=D(!0),Q=D(0),G=D(D),K="type",U="default",X="Ids",Y="Table",Z=Y+"s",_=Y+X,ee="Row",te=ee+"Count",le=ee+X,ne="Cell",re=ne+X,oe="Value",se=oe+"s",ae=oe+X,ie="currentTarget",de="value",ue=e=>B+e,ce=Math.floor,he=isFinite,me=(e,t)=>e instanceof t,pe=e=>null==e,be=(e,t,l)=>pe(e)?null==l?void 0:l():t(e),ve=e=>e==W||e==H,ge=e=>D(e)==G,fe=e=>Array.isArray(e),{PureComponent:ye,Fragment:Ie,createElement:we,useCallback:Ce,useLayoutEffect:ke,useRef:xe,useState:Te}=e,Se=(e,...t)=>pe(e)?{}:e(...t),Oe=(e,t)=>e.forEach(t),qe=(e,t)=>e.map(t),Ve=e=>e.length,Ne=e=>0==Ve(e),Pe=(e,t,l)=>e.slice(t,l),Le=(e,...t)=>e.push(...t),Re=e=>e.shift(),Ee=Object,je=Ee.keys,Me=Ee.isFrozen,ze=Ee.freeze,$e=e=>me(e,Ee)&&e.constructor==Ee,Ae=(e=[])=>Ee.fromEntries(e),Fe=(e,t)=>!pe(((e,t)=>be(e,(e=>e[t])))(e,t)),Je=(e,t)=>(delete e[t],e),De=(e,t)=>qe(Ee.entries(e),(([e,l])=>t(l,e))),Be=e=>$e(e)&&0==(e=>Ve(je(e)))(e),We=e=>JSON.stringify(e,((e,t)=>me(t,Map)?Ee.fromEntries([...t]):t)),He=JSON.parse,Qe="tinybaseStoreInspector",Ge="TinyBase Store Inspector",Ke=["left","top","bottom","right","full"],Ue="state",Xe="sort",Ye="open",Ze="position",_e=Ye,et="editable",tt=(...e)=>We(e),lt=(e,t)=>qe(e.sort(),t),nt=(e,l)=>[!!t(Ue,e,et,l),Ce((t=>{l.setCell(Ue,e,et,(e=>!e)),t.preventDefault()}),[l,e])],rt="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ot='content:url("',st=ot+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",at='</svg>")',it=ot+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",dt=qe([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,n])=>st+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${n}' fill='white'/>`+at)),ut=st+"<path d='M20 20l60 60M20 80l60-60' />"+at,ct=st+`<path d='${rt}' />`+at,ht=st+`<path d='${rt}M20 20l60 60' />`+at;var mt=Object.defineProperty,pt=Object.defineProperties,bt=Object.getOwnPropertyDescriptors,vt=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,yt=(e,t,l)=>t in e?mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,It=(e,t)=>{for(var l in t||(t={}))gt.call(t,l)&&yt(e,l,t[l]);if(vt)for(var l of vt(t))ft.call(t,l)&&yt(e,l,t[l]);return e},wt=(e,t)=>pt(e,bt(t));const Ct="*::-webkit-scrollbar",kt=`#${Qe}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,t="")=>e.join(t))(De(wt(It(wt(It(wt(It({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Ct]:"width:0.5rem;height:0.5rem;",[Ct+"-track"]:"background:#111",[Ct+"-thumb"]:"background:#999;border:1px solid #111",[Ct+"-thumb:hover"]:"background:#fff",[Ct+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+it},Ae(qe(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),Ae(qe(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":it,"header>img:nth-of-type(6)":ut}),Ae(qe(dt,((e,t)=>[`header>img[data-id='${t}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":ct,"details[open]>summary img.done":ht,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,t)=>e?`& ${t}{${e}}`:"")))}`,xt=({s:e})=>{var t;const r=null!=(t=l(Ze,e))?t:1,o=n(_e,(()=>!0),[],e);return l(_e,e)?null:we("img",{onClick:o,title:Ge,"data-position":r})},Tt=({uniqueId:e,summary:l,editable:n,handleEditable:o,children:s,s:a})=>{const i=!!t(Ue,e,Ye,a),d=r(Ue,e,Ye,(e=>e[ie].open),[],a);return we("details",{open:i,onToggle:d},we("summary",null,l,o?we("img",{onClick:o,className:n?"done":"edit"}):null),s)},St=e=>{const t=D(e);return ve(t)||t==Q&&he(e)?t:void 0},Ot=(e,t,l,n,r)=>pe(r)?e.delCell(t,l,n,!0):e.setCell(t,l,n,r),qt=(e,t,l)=>pe(l)?e.delValue(t):e.setValue(t,l),Vt=(e,t,l,n)=>e==W?t:e==Q?l:n;var Nt=Object.defineProperty,Pt=Object.defineProperties,Lt=Object.getOwnPropertyDescriptors,Rt=Object.getOwnPropertySymbols,Et=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable,Mt=(e,t,l)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,zt=(e,t)=>{for(var l in t||(t={}))Et.call(t,l)&&Mt(e,l,t[l]);if(Rt)for(var l of Rt(t))jt.call(t,l)&&Mt(e,l,t[l]);return e},$t=(e,t)=>Pt(e,Lt(t)),At=(e,t)=>{var l={};for(var n in e)Et.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(null!=e&&Rt)for(var n of Rt(e))t.indexOf(n)<0&&jt.call(e,n)&&(l[n]=e[n]);return l};const{useCallback:Ft,useMemo:Jt,useState:Dt}=e,Bt="editable",Wt=(e,t)=>qe(s(e,t),(t=>e+"."+t)),Ht=(e,t,l)=>{const n=Ft(e,t);return l?n:void 0},Qt=(...e)=>Jt((()=>e),e),Gt=(e,t)=>Jt((()=>({store:e,tableId:t})),[e,t]),Kt=(e,t)=>Jt((()=>({queries:e,queryId:t})),[e,t]),Ut=(e,t=!1,l,n=0,r,o,s,a)=>{const[[i,d,u],c]=Dt([e,t,n]),h=Ft((e=>{c(e),null==a||a(e)}),[a]),m=Ht((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),p=Ft((e=>h([i,d,e])),[h,i,d]),b=!0===s?ul:s;return[[i,d,u],m,Jt((()=>!1===s?null:we(b,{offset:u,limit:r,total:o,onChange:p})),[s,b,u,r,o,p])]},Xt=(e,t,l)=>Jt((()=>{const n=null!=t?t:e;return Ae(De(fe(n)?Ae(qe(n,(e=>[e,e]))):n,((e,t)=>{return[t,zt(zt({},{label:t,component:l}),(n=e,D(n)==W?{label:e}:e))];var n})))}),[t,l,e]),Yt=({className:e,headerRow:t,idColumn:l,params:[n,r,o,s,a,i]})=>we("table",{className:e},i?we("caption",null,i):null,!1===t?null:we("thead",null,we("tr",null,!1===l?null:we(Zt,{sort:null!=s?s:[],label:"Id",onClick:a}),De(n,(({label:e},t)=>we(Zt,{key:t,cellId:t,label:e,sort:null!=s?s:[],onClick:a}))))),we("tbody",null,qe(o,(e=>we("tr",{key:e},!1===l?null:we("th",null,e),De(n,(({component:t,getComponentProps:l},n)=>we("td",{key:n},we(t,$t(zt(zt({},Se(l,e,n)),r),{rowId:e,cellId:n})))))))))),Zt=({cellId:e,sort:[t,l],label:n=(null!=e?e:B),onClick:r})=>we("th",{onClick:Ht((()=>null==r?void 0:r(e)),[r,e],r),className:pe(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},pe(l)||t!=e?null:(l?"↓":"↑")+" ",n),_t=({localRowId:t,params:[l,n,r,o,s,a,i]})=>{const d=y(s,t,a);return we("tr",null,!1===l?null:we(e.Fragment,null,we("th",null,t),we("th",null,d)),De(n,(({component:e,getComponentProps:l},n)=>{const[s,a]=n.split(".",2),u=s===r?t:s===o?d:null;return pe(u)?null:we("td",{key:n},we(e,$t(zt({},Se(l,u,a)),{store:i,tableId:s,rowId:u,cellId:a})))})))},el=({thing:e,onThingChange:t,className:l,hasSchema:n})=>{const[r,o]=Dt(),[s,a]=Dt(),[i,d]=Dt(),[u,c]=Dt(),[h,m]=Dt();s!==e&&(o(St(e)),a(e),d(e+""),c(Number(e)||0),m(!!e));const p=Ft(((e,l)=>{l(e),a(e),t(e)}),[t]);return we("div",{className:l},we("button",{className:r,onClick:Ft((()=>{if(!(null==n?void 0:n())){const e=Vt(r,Q,H,W),l=Vt(e,i,u,h);o(e),a(l),t(l)}}),[n,t,i,u,h,r])},r),Vt(r,we("input",{key:r,value:i,onChange:Ft((e=>p(e[ie][de]+"",d)),[p])}),we("input",{key:r,type:"number",value:u,onChange:Ft((e=>p(Number(e[ie][de]||0),c)),[p])}),we("input",{key:r,type:"checkbox",checked:h,onChange:Ft((e=>p(!!e[ie].checked,m)),[p])})))},tl=e=>{var t=e,{tableId:l,store:n,editable:r,customCells:a}=t,i=At(t,["tableId","store","editable","customCells"]);return we(Yt,$t(zt({},i),{params:Qt(Xt(s(l,n),a,r?il:I),Gt(n,l),o(l,n))}))},ll=e=>{var t=e,{tableId:l,cellId:n,descending:r,offset:o,limit:d,store:u,editable:c,sortOnClick:h,paginator:m=!1,onChange:p,customCells:b}=t,v=At(t,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[g,f,y]=Ut(n,r,h,o,d,a(l,u),m,p);return we(Yt,$t(zt({},v),{params:Qt(Xt(s(l,u),b,c?il:I),Gt(u,l),i(l,...g,d,u),g,f,y)}))},nl=({store:e,editable:t=!1,valueComponent:l=(t?dl:u),getValueComponentProps:n,className:r,headerRow:o,idColumn:s})=>we("table",{className:r},!1===o?null:we("thead",null,we("tr",null,!1===s?null:we("th",null,"Id"),we("th",null,oe))),we("tbody",null,qe(d(e),(t=>we("tr",{key:t},!1===s?null:we("th",null,t),we("td",null,we(l,$t(zt({},Se(n,t)),{valueId:t,store:e})))))))),rl=e=>{var t=e,{indexId:l,sliceId:n,indexes:r,editable:o,customCells:a}=t,i=At(t,["indexId","sliceId","indexes","editable","customCells"]);const[d,u,m]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(t)])(c(r),l);return we(Yt,$t(zt({},i),{params:Qt(Xt(s(m,u),a,o?il:I),Gt(u,m),h(l,n,d))}))},ol=({relationshipId:t,relationships:l,editable:n,customCells:r,className:s,headerRow:a,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(t),null==e?void 0:e.getRemoteTableId(t)])(m(l),t),p=Xt([...Wt(c,u),...Wt(h,u)],r,n?il:I),b=Qt(i,p,c,h,t,d,u);return we("table",{className:s},!1===a?null:we("thead",null,we("tr",null,!1===i?null:we(e.Fragment,null,we("th",null,c,".Id"),we("th",null,h,".Id")),De(p,(({label:e},t)=>we("th",{key:t},e))))),we("tbody",null,qe(o(c,u),(e=>we(_t,{key:e,localRowId:e,params:b})))))},sl=e=>{var t=e,{queryId:l,queries:n,customCells:r}=t,o=At(t,["queryId","queries","customCells"]);return we(Yt,$t(zt({},o),{params:Qt(Xt(b(l,n),r,w),Kt(n,l),p(l,n))}))},al=e=>{var t=e,{queryId:l,cellId:n,descending:r,offset:o,limit:s,queries:a,sortOnClick:i,paginator:d=!1,customCells:u,onChange:c}=t,h=At(t,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[m,p,f]=Ut(n,r,i,o,s,v(l,a),d,c);return we(Yt,$t(zt({},h),{params:Qt(Xt(b(l,a),u,w),Kt(a,l),g(l,...m,s,a),m,p,f)}))},il=({tableId:e,rowId:l,cellId:n,store:o,className:s})=>{var a;return we(el,{thing:t(e,l,n,o),onThingChange:r(e,l,n,(e=>e),[],o),className:null!=s?s:Bt+ne,hasSchema:null==(a=f(o))?void 0:a.hasTablesSchema})},dl=({valueId:e,store:t,className:r})=>{var o;return we(el,{thing:l(e,t),onThingChange:n(e,(e=>e),[],t),className:null!=r?r:Bt+oe,hasSchema:null==(o=f(t))?void 0:o.hasValuesSchema})},ul=({onChange:t,total:l,offset:n=0,limit:r=l,singular:o="row",plural:s=o+"s"})=>{(n>l||n<0)&&(n=0,t(0));const a=Ht((()=>t(n-r)),[t,n,r],n>0),i=Ht((()=>t(n+r)),[t,n,r],n+r<l);return we(e.Fragment,null,l>r&&we(e.Fragment,null,we("button",{className:"previous",disabled:0==n,onClick:a},"←"),we("button",{className:"next",disabled:n+r>=l,onClick:i},"→"),n+1," to ",Math.min(l,n+r)," of "),l," ",1!=l?s:o)},cl=({indexes:e,indexesId:t,indexId:l,s:n})=>we(Tt,{uniqueId:tt("i",t,l),summary:"Index: "+l,s:n},qe(x(l,e),(r=>we(hl,{indexes:e,indexesId:t,indexId:l,sliceId:r,s:n})))),hl=({indexes:e,indexesId:t,indexId:l,sliceId:n,s:r})=>{const o=tt("i",t,l,n),[s,a]=nt(o,r);return we(Tt,{uniqueId:o,summary:"Slice: "+n,editable:s,handleEditable:a,s:r},we(rl,{sliceId:n,indexId:l,indexes:e,editable:s}))},ml=({indexesId:e,s:t})=>{const l=C(e),n=k(l);return pe(l)?null:we(Tt,{uniqueId:tt("i",e),summary:"Indexes: "+(null!=e?e:U),s:t},Ne(n)?"No indexes defined":lt(n,(n=>we(cl,{indexes:l,indexesId:e,indexId:n,s:t}))))},pl=({metrics:e,metricId:t})=>we("tr",null,we("th",null,t),we("td",null,null==e?void 0:e.getTableId(t)),we("td",null,O(t,e))),bl=({metricsId:e,s:t})=>{const l=T(e),n=S(l);return pe(l)?null:we(Tt,{uniqueId:tt("m",e),summary:"Metrics: "+(null!=e?e:U),s:t},Ne(n)?"No metrics defined":we("table",null,we("thead",null,we("th",null,"Metric Id"),we("th",null,"Table Id"),we("th",null,"Metric")),we("tbody",null,qe(n,(e=>we(pl,{metrics:l,metricId:e}))))))},vl=({queries:e,queriesId:l,queryId:n,s:o})=>{var s;const a=tt("q",l,n),[i,d,u]=He(null!=(s=t(Ue,a,Xe,o))?s:"[]"),c=r(Ue,a,Xe,We,[],o);return we(Tt,{uniqueId:a,summary:"Query: "+n,s:o},we(al,{queryId:n,queries:e,cellId:i,descending:d,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:c}))},gl=({queriesId:e,s:t})=>{const l=q(e),n=V(l);return pe(l)?null:we(Tt,{uniqueId:tt("q",e),summary:"Queries: "+(null!=e?e:U),s:t},Ne(n)?"No queries defined":lt(n,(n=>we(vl,{queries:l,queriesId:e,queryId:n,s:t}))))},fl=({relationships:e,relationshipsId:t,relationshipId:l,s:n})=>{const r=tt("r",t,l),[o,s]=nt(r,n);return we(Tt,{uniqueId:r,summary:"Relationship: "+l,editable:o,handleEditable:s,s:n},we(ol,{relationshipId:l,relationships:e,editable:o}))},yl=({relationshipsId:e,s:t})=>{const l=N(e),n=P(l);return pe(l)?null:we(Tt,{uniqueId:tt("r",e),summary:"Relationships: "+(null!=e?e:U),s:t},Ne(n)?"No relationships defined":lt(n,(n=>we(fl,{relationships:l,relationshipsId:e,relationshipId:n,s:t}))))},Il=({tableId:e,store:l,storeId:n,s:o})=>{var s;const a=tt("t",n,e),[i,d,u]=He(null!=(s=t(Ue,a,Xe,o))?s:"[]"),c=r(Ue,a,Xe,We,[],o),[h,m]=nt(a,o);return we(Tt,{uniqueId:a,summary:Y+": "+e,editable:h,handleEditable:m,s:o},we(ll,{tableId:e,store:l,cellId:i,descending:d,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:c,editable:h}))},wl=({store:e,storeId:t,s:l})=>{const n=tt("v",t),[r,o]=nt(n,l);return Ne(d(e))?null:we(Tt,{uniqueId:n,summary:se,editable:r,handleEditable:o,s:l},we(nl,{store:e,editable:r}))},Cl=({storeId:e,s:t})=>{const l=L(e),n=R(l);return pe(l)?null:we(Tt,{uniqueId:tt("s",e),summary:"Store: "+(null!=e?e:U),s:t},we(wl,{storeId:e,store:l,s:t}),lt(n,(n=>we(Il,{store:l,storeId:e,tableId:n,s:t}))))},kl=({s:e})=>{const t=xe(null),l=xe(0),[n,r]=Te(!1),{scrollLeft:o,scrollTop:s}=E(e);ke((()=>{const e=t.current;if(e&&!n){const t=new MutationObserver((()=>{e.scrollWidth>=ce(o)+e.clientWidth&&e.scrollHeight>=ce(s)+e.clientHeight&&e.scrollTo(o,s)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[n,o,s]);const a=Ce((t=>{const{scrollLeft:n,scrollTop:o}=t[ie];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:n,scrollTop:o})}))}),[e]),i=L(),d=j(),u=T(),c=M(),h=C(),m=z(),p=N(),b=$(),v=q(),g=A();return pe(i)&&Ne(d)&&pe(u)&&Ne(c)&&pe(h)&&Ne(m)&&pe(p)&&Ne(b)&&pe(v)&&Ne(g)?we("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):we("article",{ref:t,onScroll:a},we(Cl,{s:e}),qe(d,(t=>we(Cl,{storeId:t,key:t,s:e}))),we(bl,{s:e}),qe(c,(t=>we(bl,{metricsId:t,key:t,s:e}))),we(ml,{s:e}),qe(m,(t=>we(ml,{indexesId:t,key:t,s:e}))),we(yl,{s:e}),qe(b,(t=>we(yl,{relationshipsId:t,key:t,s:e}))),we(gl,{s:e}),qe(g,(t=>we(gl,{queriesId:t,key:t,s:e}))))};var xl=Object.defineProperty,Tl=(e,t,l)=>(((e,t,l)=>{t in e?xl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l})(e,"symbol"!=typeof t?t+"":t,l),l);class Sl extends ye{constructor(e){super(e),Tl(this,"componentDidCatch",((e,t)=>console.error(e,t.componentStack))),this.state={e:0}}render(){return this.state.e?we("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}Tl(Sl,"getDerivedStateFromError",(()=>({e:1})));const Ol=({s:e})=>{var t;const r=null!=(t=l(Ze,e))?t:1,o=n(_e,(()=>!1),[],e),s=n(Ze,(e=>Number(e[ie].dataset.id)),[],e);return we("header",null,we("img",{title:Ge}),we("span",null,Ge),qe(Ke,((e,t)=>t==r?null:we("img",{onClick:s,"data-id":t,title:"Dock to "+e,key:t}))),we("img",{onClick:o,title:"Close"}))},ql=({s:e})=>{var t;const n=null!=(t=l(Ze,e))?t:1;return l(_e,e)?we("main",{"data-position":n},we(Ol,{s:e}),we(Sl,null,we(kl,{s:e}))):null},Vl=e=>t=>{return l=(t,l)=>t+e(l),Ml(t).reduce(l,0);var l},Nl=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},Pl=Vl(Nl),Ll=Vl(Pl),Rl=Vl(Ll),El=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},jl=e=>pe(e)||0==Nl(e),Ml=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},zl=e=>e.clear(),$l=(e,t)=>null==e?void 0:e.forEach(t),Al=(e,t)=>null==e?void 0:e.delete(t),Fl=e=>new Map(e),Jl=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Dl=(e,t)=>null==e?void 0:e.get(t),Bl=(e,t)=>$l(e,((e,l)=>t(l,e))),Wl=(e,t,l)=>pe(l)?(Al(e,t),e):null==e?void 0:e.set(t,l),Hl=(e,t,l)=>(El(e,t)||Wl(e,t,l()),Dl(e,t)),Ql=(e,t,l,n=Wl)=>(De(t,((t,n)=>l(e,n,t))),Bl(e,(l=>Fe(t,l)?0:n(e,l))),e),Gl=(e,t,l)=>{const n={};return $l(e,((e,r)=>{const o=t?t(e,r):e;!(null==l?void 0:l(o,e))&&(n[r]=o)})),n},Kl=(e,t,l)=>Gl(e,(e=>Gl(e,t,l)),Be),Ul=(e,t,l)=>Gl(e,(e=>Kl(e,t,l)),Be),Xl=(e,t)=>{const l=Fl();return $l(e,((e,n)=>{var r;return l.set(n,null!=(r=null==t?void 0:t(e))?r:e)})),l},Yl=e=>Xl(e,Xl),Zl=e=>Xl(e,Yl),_l=(e,t,l,n,r=0)=>be((l?Hl:Dl)(e,t[r],r>Ve(t)-2?l:Fl),(o=>{if(r>Ve(t)-2)return(null==n?void 0:n(o))&&Wl(e,t[r]),o;const s=_l(o,t,l,n,r+1);return jl(o)&&Wl(e,t[r]),s}));var en=(e,t,l)=>new Promise(((n,r)=>{var o=e=>{try{a(l.next(e))}catch(e){r(e)}},s=e=>{try{a(l.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((l=l.apply(e,t)).next())}));const tn=Fl(),ln=Fl();var nn=(e,t,l)=>new Promise(((n,r)=>{var o=e=>{try{a(l.next(e))}catch(e){r(e)}},s=e=>{try{a(l.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((l=l.apply(e,t)).next())}));const rn="storage",on=globalThis.window,sn=e=>new Set(fe(e)||pe(e)?e:[e]),an=(e,t)=>null==e?void 0:e.add(t),dn=/^\d+$/,un=()=>{const e=[];let t=0;return[l=>{var n;return null!=(n=l?Re(e):null)?n:B+t++},t=>{dn.test(t)&&Ve(e)<1e3&&Le(e,t)}]},cn=e=>[e,e],hn=(e,t=Pl)=>t(e[0])+t(e[1]),mn=()=>[Fl(),Fl()],pn=e=>[...e],bn=([e,t])=>e===t,vn=(e,t,l)=>pe(e)||!$e(e)||Be(e)||Me(e)?(null==l||l(),!1):(De(e,((l,n)=>{t(l,n)||Je(e,n)})),!Be(e)),gn=(e,t,l)=>Wl(e,t,Dl(e,t)==-l?void 0:l),fn=()=>{let e,t,l=!1,n=!1,r=0;const o=Fl(),s=Fl(),a=Fl(),i=Fl(),d=Fl(),u=Fl(),c=Fl(),h=Fl(),m=Fl(),p=Fl(),b=Fl(),v=Fl(),g=Fl(),f=Fl(),y=sn(),I=Fl(),w=Fl(),C=Fl(),k=Fl(),x=mn(),T=mn(),S=mn(),O=mn(),q=mn(),V=mn(),N=mn(),P=mn(),L=mn(),R=mn(),E=mn(),j=mn(),M=mn(),z=mn(),$=mn(),A=Fl(),F=mn(),[J,D,W,H]=(e=>{let t;const[l,n]=un(),r=Fl();return[(e,n,o,s=[],a=(()=>[]))=>{null!=t||(t=At);const i=l(1);return Wl(r,i,[e,n,o,s,a]),an(_l(n,null!=o?o:[B],sn),i),i},(e,l,...n)=>Oe(((e,t=[B])=>{const l=[],n=(e,r)=>r==Ve(t)?Le(l,e):null===t[r]?$l(e,(e=>n(e,r+1))):Oe([t[r],null],(t=>n(Dl(e,t),r+1)));return n(e,0),l})(e,l),(e=>$l(e,(e=>Dl(r,e)[0](t,...null!=l?l:[],...n))))),e=>be(Dl(r,e),(([,t,l])=>(_l(t,null!=l?l:[B],void 0,(t=>(Al(t,e),jl(t)?1:0))),Wl(r,e),n(e),l))),e=>be(Dl(r,e),(([e,,l=[],n,r])=>{const o=(...s)=>{var a,i;const d=Ve(s);d==Ve(l)?e(t,...s,...r(s)):pe(l[d])?Oe(null!=(i=null==(a=n[d])?void 0:a.call(n,...s))?i:[],(e=>o(...s,e))):o(...s,l[d])};o()}))]})(),G=e=>{if(!vn(e,((e,t)=>[K,U].includes(t))))return!1;const t=e[K];return!(!ve(t)&&t!=Q||(St(e[U])!=t&&Je(e,U),0))},X=(t,l)=>(!e||El(b,l)||et(l))&&vn(t,((e,t)=>ie(l,t,e)),(()=>et(l))),ie=(e,t,l,n)=>vn(n?l:me(l,e,t),((n,r)=>be(de(e,t,r,n),(e=>(l[r]=e,!0)),(()=>!1))),(()=>et(e,t))),de=(t,l,n,r)=>e?be(Dl(Dl(b,t),n),(e=>St(r)!=e[K]?et(t,l,n,r,e[U]):r),(()=>et(t,l,n,r))):pe(St(r))?et(t,l,n,r):r,ce=(e,t)=>vn(t?e:fe(e),((t,l)=>be(he(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>tt())),he=(e,l)=>t?be(Dl(g,e),(t=>St(l)!=t[K]?tt(e,l,t[U]):l),(()=>tt(e,l))):pe(St(l))?tt(e,l):l,me=(e,t,l)=>(be(Dl(v,t),(([n,r])=>{$l(n,((t,l)=>{Fe(e,l)||(e[l]=t)})),$l(r,(n=>{Fe(e,n)||et(t,l,n)}))})),e),fe=e=>(t&&($l(f,((t,l)=>{Fe(e,l)||(e[l]=t)})),$l(y,(t=>{Fe(e,t)||tt(t)}))),e),ye=e=>Ql(b,e,((e,t,l)=>{const n=Fl(),r=sn();Ql(Hl(b,t,Fl),l,((e,t,l)=>{Wl(e,t,l),be(l[U],(e=>Wl(n,t,e)),(()=>an(r,t)))})),Wl(v,t,[n,r])}),((e,t)=>{Wl(b,t),Wl(v,t)})),Ie=e=>Ql(g,e,((e,t,l)=>{Wl(g,t,l),be(l[U],(e=>Wl(f,t,e)),(()=>an(y,t)))}),((e,t)=>{Wl(g,t),Wl(f,t),Al(y,t)})),we=e=>Be(e)?Nt():Ct(e),Ce=e=>Ql(C,e,((e,t,l)=>ke(t,l)),((e,t)=>$e(t))),ke=(e,t)=>Ql(Hl(C,e,(()=>(Ke(e,1),Wl(I,e,un()),Wl(w,e,Fl()),Fl()))),t,((t,l,n)=>xe(e,t,l,n)),((t,l)=>Ae(e,t,l))),xe=(e,t,l,n,r)=>Ql(Hl(t,l,(()=>(Ue(e,l,1),Fl()))),n,((t,n,r)=>Te(e,l,t,n,r)),((n,o)=>Qe(e,t,l,n,o,r))),Te=(e,t,l,n,r)=>{El(l,n)||Xe(e,t,n,1);const o=Dl(l,n);r!==o&&(Ye(e,t,n,o,r),Wl(l,n,r))},Se=(e,t,l,n,r)=>be(Dl(t,l),(t=>Te(e,l,t,n,r)),(()=>xe(e,t,l,me({[n]:r},e,l)))),Ne=e=>Be(e)?Rt():kt(e),Re=e=>Ql(k,e,((e,t,l)=>Ee(t,l)),((e,t)=>Ge(t))),Ee=(e,t)=>{El(k,e)||Ze(e,1);const l=Dl(k,e);t!==l&&(_e(e,l,t),Wl(k,e,t))},je=(e,t)=>{const[l]=Dl(I,e),n=l(t);return El(Dl(C,e),n)?je(e,t):n},Me=e=>{var t;return null!=(t=Dl(C,e))?t:ke(e,{})},$e=e=>ke(e,{}),Ae=(e,t,l)=>{const[,n]=Dl(I,e);n(l),xe(e,t,l,{},!0)},Qe=(e,t,l,n,r,o)=>{var s;const a=Dl(null==(s=Dl(v,e))?void 0:s[0],r);if(!pe(a)&&!o)return Te(e,l,n,r,a);const i=t=>{Ye(e,l,t,Dl(n,t)),Xe(e,l,t,-1),Wl(n,t)};pe(a)?i(r):Bl(n,i),jl(n)&&(Ue(e,l,-1),jl(Wl(t,l))&&(Ke(e,-1),Wl(C,e),Wl(I,e),Wl(w,e)))},Ge=e=>{const t=Dl(f,e);if(!pe(t))return Ee(e,t);_e(e,Dl(k,e)),Ze(e,-1),Wl(k,e)},Ke=(e,t)=>gn(o,e,t),Ue=(e,t,l)=>gn(Hl(i,e,Fl),t,l)&&Wl(a,e,Hl(a,e,(()=>0))+l),Xe=(e,t,l,n)=>{var r;const o=Dl(w,e),a=null!=(r=Dl(o,l))?r:0;(0==a&&1==n||1==a&&-1==n)&&gn(Hl(s,e,Fl),l,n),Wl(o,l,a!=-n?a+n:null),gn(Hl(Hl(d,e,Fl),t,Fl),l,n)},Ye=(e,t,l,n,r)=>Hl(Hl(Hl(u,e,Fl),t,Fl),l,(()=>[n,0]))[1]=r,Ze=(e,t)=>gn(c,e,t),_e=(e,t,l)=>Hl(h,e,(()=>[t,0]))[1]=l,et=(e,t,l,n,r)=>(Le(Hl(Hl(Hl(m,e,Fl),t,Fl),l,(()=>[])),n),r),tt=(e,t,l)=>(Le(Hl(p,e,(()=>[])),t),l),lt=(e,t,l)=>be(Dl(Dl(Dl(u,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...cn(ft(e,t,l))])),nt=e=>be(Dl(h,e),(([e,t])=>[!0,e,t]),(()=>[!1,...cn(wt(e))])),rt=e=>jl(m)||jl(E[e])?0:$l(e?Zl(m):m,((t,l)=>$l(t,((t,n)=>$l(t,((t,r)=>D(E[e],[l,n,r],t))))))),ot=e=>jl(p)||jl(j[e])?0:$l(e?Xl(p):p,((t,l)=>D(j[e],[l],t))),st=(e,t,l)=>{if(!jl(t))return D(e,l,(()=>Gl(t))),1},at=e=>{const t=jl(N[e]),l=jl(L[e])&&jl(O[e])&&jl(q[e])&&jl(V[e])&&t&&jl(T[e]),n=jl(R[e])&&jl(P[e])&&jl(S[e])&&jl(x[e]);if(!l||!n){const r=e?[Xl(o),Yl(s),Xl(a),Yl(i),Zl(d),Zl(u)]:[o,s,a,i,d,u];if(!l){st(T[e],r[0]),$l(r[1],((t,l)=>st(O[e],t,[l]))),$l(r[2],((t,l)=>{0!=t&&D(q[e],[l],pt(l))}));const l=sn();$l(r[3],((n,r)=>{st(V[e],n,[r])&&!t&&(D(N[e],[r,null]),an(l,r))})),t||$l(r[5],((t,n)=>{if(!El(l,n)){const l=sn();$l(t,(e=>$l(e,(([t,n],r)=>n!==t?an(l,r):Al(e,r))))),$l(l,(t=>D(N[e],[n,t])))}})),$l(r[4],((t,l)=>$l(t,((t,n)=>st(L[e],t,[l,n])))))}if(!n){let t;$l(r[5],((l,n)=>{let r;$l(l,((l,o)=>{let s;$l(l,(([l,a],i)=>{a!==l&&(D(R[e],[n,o,i],a,l,lt),t=r=s=1)})),s&&D(P[e],[n,o],lt)})),r&&D(S[e],[n],lt)})),t&&D(x[e],void 0,lt)}}},it=e=>{const t=jl(z[e]),l=jl($[e])&&jl(M[e]);if(!t||!l){const n=e?[Xl(c),Xl(h)]:[c,h];if(t||st(z[e],n[0]),!l){let t;$l(n[1],(([l,n],r)=>{n!==l&&(D($[e],[r],n,l,nt),t=1)})),t&&D(M[e],void 0,nt)}}},dt=(e,...t)=>(Mt((()=>e(...qe(t,ue)))),At),ut=()=>[Gl(u,((e,t)=>-1===Dl(o,t)?null:Gl(e,((e,l)=>-1===Dl(Dl(i,t),l)?null:Gl(e,(([,e])=>null!=e?e:null),((e,t)=>bn(t)))),Be)),Be),Gl(h,(([,e])=>null!=e?e:null),((e,t)=>bn(t)))],ct=()=>({cellsTouched:l,valuesTouched:n,changedCells:Ul(u,pn,bn),invalidCells:Ul(m),changedValues:Gl(h,pn,bn),invalidValues:Gl(p),changedTableIds:Gl(o),changedRowIds:Kl(i),changedCellIds:Ul(d),changedValueIds:Gl(c)}),ht=()=>Ul(C),mt=()=>Jl(C),pt=e=>Nl(Dl(C,ue(e))),bt=e=>Jl(Dl(C,ue(e))),vt=(e,t,l,n=0,r)=>{return qe(Pe((s=Dl(C,ue(e)),a=(e,l)=>[pe(t)?l:Dl(e,ue(t)),l],o=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(r=t)?r:0)?-1:1)*(l?-1:1);var n,r},qe([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>a(t,e))).sort(o)),n,pe(r)?r:n+r),(([,e])=>e));var o,s,a,i},gt=(e,t)=>Jl(Dl(Dl(C,ue(e)),ue(t))),ft=(e,t,l)=>Dl(Dl(Dl(C,ue(e)),ue(t)),ue(l)),yt=()=>Gl(k),It=()=>Jl(k),wt=e=>Dl(k,ue(e)),Ct=e=>dt((()=>(e=>vn(e,X,et))(e)?Ce(e):0)),kt=e=>dt((()=>ce(e)?Re(e):0)),xt=e=>{try{we(He(e))}catch(e){}return At},Tt=t=>dt((()=>{if((e=vn(t,(e=>vn(e,G))))&&(ye(t),!jl(C))){const e=ht();Nt(),Ct(e)}})),Vt=e=>dt((()=>{if(t=(e=>vn(e,G))(e)){const l=yt();jt(),Rt(),t=!0,Ie(e),kt(l)}})),Nt=()=>dt((()=>Ce({}))),Pt=e=>dt((e=>El(C,e)?$e(e):0),e),Lt=(e,t)=>dt(((e,t)=>be(Dl(C,e),(l=>El(l,t)?Ae(e,l,t):0))),e,t),Rt=()=>dt((()=>Re({}))),Et=()=>dt((()=>{ye({}),e=!1})),jt=()=>dt((()=>{Ie({}),t=!1})),Mt=(e,t)=>{if(-1!=r){zt();const l=e();return $t(t),l}},zt=()=>(-1!=r&&r++,1==r&&D(A,void 0,ut,ct),At),$t=e=>(r>0&&(r--,0==r&&(l=!jl(u),n=!jl(h),r=1,rt(1),l&&at(1),ot(1),n&&it(1),(null==e?void 0:e(ut,ct))&&($l(u,((e,t)=>$l(e,((e,l)=>$l(e,(([e],n)=>Ot(At,t,l,n,e))))))),$l(h,(([e],t)=>qt(At,t,e))),l=n=!1),D(F[0],void 0,ut,ct),r=-1,rt(0),l&&at(0),ot(0),n&&it(0),D(F[1],void 0,ut,ct),r=0,l=n=!1,Oe([o,s,a,i,d,u,m,c,h,p],zl))),At),At={getContent:()=>[ht(),yt()],getTables:ht,getTableIds:mt,getTable:e=>Kl(Dl(C,ue(e))),getTableCellIds:e=>Jl(Dl(w,ue(e))),getRowCount:pt,getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>Gl(Dl(Dl(C,ue(e)),ue(t))),getCellIds:gt,getCell:ft,getValues:yt,getValueIds:It,getValue:wt,hasTables:()=>!jl(C),hasTable:e=>El(C,ue(e)),hasTableCell:(e,t)=>El(Dl(w,ue(e)),ue(t)),hasRow:(e,t)=>El(Dl(C,ue(e)),ue(t)),hasCell:(e,t,l)=>El(Dl(Dl(C,ue(e)),ue(t)),ue(l)),hasValues:()=>!jl(k),hasValue:e=>El(k,ue(e)),getTablesJson:()=>We(C),getValuesJson:()=>We(k),getJson:()=>We([C,k]),getTablesSchemaJson:()=>We(b),getValuesSchemaJson:()=>We(g),getSchemaJson:()=>We([b,g]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>dt((()=>{(Be(e)?Nt:Ct)(e),(Be(t)?Rt:kt)(t)})),setTables:Ct,setTable:(e,t)=>dt((e=>X(t,e)?ke(e,t):0),e),setRow:(e,t,l)=>dt(((e,t)=>ie(e,t,l)?xe(e,Me(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Mt((()=>{let n;return ie(e,n,t)&&(e=ue(e),xe(e,Me(e),n=je(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>dt(((e,t)=>{if(ie(e,t,l,1)){const n=Me(e);De(l,((l,r)=>Se(e,n,t,r,l)))}}),e,t),setCell:(e,t,l,n)=>dt(((e,t,l)=>be(de(e,t,l,ge(n)?n(ft(e,t,l)):n),(n=>Se(e,Me(e),t,l,n)))),e,t,l),setValues:kt,setPartialValues:e=>dt((()=>ce(e,1)?De(e,((e,t)=>Ee(t,e))):0)),setValue:(e,t)=>dt((e=>be(he(e,ge(t)?t(wt(e)):t),(t=>Ee(e,t)))),e),setTransactionChanges:e=>dt((()=>{De(e[0],((e,t)=>pe(e)?Pt(t):De(e,((e,l)=>pe(e)?Lt(t,l):De(e,((e,n)=>Ot(At,t,l,n,e))))))),De(e[1],((e,t)=>qt(At,t,e)))})),setTablesJson:xt,setValuesJson:e=>{try{Ne(He(e))}catch(e){}return At},setJson:e=>{try{const[t,l]=He(e);we(t),Ne(l)}catch(t){xt(e)}return At},setTablesSchema:Tt,setValuesSchema:Vt,setSchema:(e,t)=>dt((()=>{Tt(e),Vt(t)})),delTables:Nt,delTable:Pt,delRow:Lt,delCell:(e,t,l,n)=>dt(((e,t,l)=>be(Dl(C,e),(r=>be(Dl(r,t),(o=>El(o,l)?Qe(e,r,t,o,l,n):0))))),e,t,l),delValues:Rt,delValue:e=>dt((e=>El(k,e)?Ge(e):0),e),delTablesSchema:Et,delValuesSchema:jt,delSchema:()=>dt((()=>{Et(),jt()})),transaction:Mt,startTransaction:zt,finishTransaction:$t,forEachTable:e=>$l(C,((t,l)=>e(l,(e=>$l(t,((t,l)=>e(l,(e=>Bl(t,e))))))))),forEachTableCell:(e,t)=>Bl(Dl(w,ue(e)),t),forEachRow:(e,t)=>$l(Dl(C,ue(e)),((e,l)=>t(l,(t=>Bl(e,t))))),forEachCell:(e,t,l)=>Bl(Dl(Dl(C,ue(e)),ue(t)),l),forEachValue:e=>Bl(k,e),addSortedRowIdsListener:(e,t,l,n,r,o,s)=>{let a=vt(e,t,l,n,r);return J((()=>{const s=vt(e,t,l,n,r);var i,d,u;d=a,Ve(i=s)===Ve(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(a=s,o(At,e,t,l,n,r,a))}),N[s?1:0],[e,t],[mt])},addStartTransactionListener:e=>J(e,A),addWillFinishTransactionListener:e=>J(e,F[0]),addDidFinishTransactionListener:e=>J(e,F[1]),callListener:e=>(H(e),At),delListener:e=>(W(e),At),getListenerStats:()=>({tables:hn(x),tableIds:hn(T),tableCellIds:hn(O),table:hn(S),rowCount:hn(q),rowIds:hn(V),sortedRowIds:hn(N),row:hn(P,Ll),cellIds:hn(L,Ll),cell:hn(R,Rl),invalidCell:hn(E,Rl),values:hn(M),valueIds:hn(z),value:hn($),invalidValue:hn(j),transaction:Pl(A)+hn(F)}),createStore:fn,addListener:J,callListeners:D};return De({[Z]:[0,x],[_]:[0,T],[Y]:[1,S,[mt]],[Y+re]:[1,O,[mt]],[te]:[1,q,[mt]],[le]:[1,V,[mt]],[ee]:[2,P,[mt,bt]],[re]:[2,L,[mt,bt]],[ne]:[3,R,[mt,bt,gt],e=>cn(ft(...e))],InvalidCell:[3,E],[se]:[0,M],[ae]:[0,z],[oe]:[1,$,[It],e=>cn(wt(e[0]))],InvalidValue:[1,j]},(([e,t,l,n],r)=>{At["add"+r+"Listener"]=(...r)=>J(r[e],t[r[e+1]?1:0],e>0?Pe(r,0,e):void 0,l,n)})),ze(At)},yn=({position:e="right",open:t=!1})=>{const l=F(fn),n=Ke.indexOf(e);return J(l,(e=>{return((e,t,l,n)=>((e,t,l,n,r,o,s=[])=>{let a,i,d,u=0,c=0,h=0,m=0;Hl(tn,s,(()=>0)),Hl(ln,s,(()=>[]));const p=e=>en(void 0,null,(function*(){return 2!=u&&(u=1,c++,yield b.schedule((()=>en(void 0,null,(function*(){yield e(),u=0}))))),b})),b={load:(l,n)=>en(void 0,null,(function*(){return yield p((()=>en(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([l,n])}}))))})),startAutoLoad:(...l)=>en(void 0,[...l],(function*(l={},r={}){return b.stopAutoLoad(),yield b.load(l,r),m=1,d=n(((l,n)=>en(void 0,null,(function*(){if(n){const t=n();yield p((()=>en(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield p((()=>en(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==l?void 0:l())?n:yield t())}catch(e){null==o||o(e)}}))))})))),b})),stopAutoLoad:()=>(m&&(r(d),d=void 0,m=0),b),save:t=>en(void 0,null,(function*(){return 1!=u&&(u=2,h++,yield b.schedule((()=>en(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),b})),startAutoSave:()=>en(void 0,null,(function*(){return yield b.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>{const[l,n]=t();Be(l)&&Be(n)||b.save((()=>[l,n]))})),b})),stopAutoSave:()=>(be(a,e.delListener),b),schedule:(...e)=>en(void 0,null,(function*(){return Le(Dl(ln,s),...e),yield en(void 0,null,(function*(){if(!Dl(tn,s)){for(Wl(tn,s,1);!pe(i=Re(Dl(ln,s)));)try{yield i()}catch(e){null==o||o(e)}Wl(tn,s,0)}})),b})),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return ze(b)})(e,(()=>nn(void 0,null,(function*(){return He(l.getItem(t))}))),(e=>nn(void 0,null,(function*(){return l.setItem(t,We(e()))}))),(e=>{const n=n=>{n.storageArea===l&&n.key===t&&e((()=>He(n.newValue)))};return on.addEventListener(rn,n),n}),(e=>on.removeEventListener(rn,e)),n))(e,Qe,sessionStorage,t);var t}),void 0,(e=>{return l=function*(){yield e.load(void 0,{position:-1==n?1:n,open:!!t}),yield e.startAutoSave()},new Promise(((e,t)=>{var n=e=>{try{o(l.next(e))}catch(e){t(e)}},r=e=>{try{o(l.throw(e))}catch(e){t(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,r);o((l=l.apply(void 0,null)).next())}));var l})),we(Ie,null,we("aside",{id:Qe},we(xt,{s:l}),we(ql,{s:l})),we("style",null,kt))};var In=Object.defineProperty,wn=Object.getOwnPropertySymbols,Cn=Object.prototype.hasOwnProperty,kn=Object.prototype.propertyIsEnumerable,xn=(e,t,l)=>t in e?In(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l;const Tn=e=>we(yn,((e,t)=>{for(var l in t||(t={}))Cn.call(t,l)&&xn(e,l,t[l]);if(wn)for(var l of wn(t))kn.call(t,l)&&xn(e,l,t[l]);return e})({},e));export{il as EditableCellView,dl as EditableValueView,ol as RelationshipInHtmlTable,al as ResultSortedTableInHtmlTable,sl as ResultTableInHtmlTable,rl as SliceInHtmlTable,ll as SortedTableInHtmlTable,ul as SortedTablePaginator,Tn as StoreInspector,tl as TableInHtmlTable,nl as ValuesInHtmlTable};
|
|
1
|
+
import e from"react";import{useCell as t,useValue as l,useSetValueCallback as n,useSetCellCallback as r,useRowIds as o,useTableCellIds as s,useRowCount as a,useSortedRowIds as i,useValueIds as d,ValueView as u,useIndexesOrIndexesById as c,useSliceRowIds as h,useRelationshipsOrRelationshipsById as m,useResultRowIds as p,useResultTableCellIds as b,useResultRowCount as v,useResultSortedRowIds as g,useStoreOrStoreById as f,useRemoteRowId as y,CellView as I,ResultCellView as w,useIndexes as C,useIndexIds as k,useSliceIds as x,useMetrics as T,useMetricIds as S,useMetric as O,useQueries as q,useQueryIds as V,useRelationships as N,useRelationshipIds as P,useStore as L,useTableIds as R,useValues as E,useStoreIds as j,useMetricsIds as M,useIndexesIds as z,useRelationshipsIds as $,useQueriesIds as A,useCreateStore as F,useCreatePersister as J}from"./ui-react";const D=e=>typeof e,B="",W=D(B),H=D(!0),Q=D(0),G=D(D),K="type",U="default",X="Ids",Y="Table",Z=Y+"s",_=Y+X,ee="Row",te=ee+"Count",le=ee+X,ne="Cell",re=ne+X,oe="Value",se=oe+"s",ae=oe+X,ie="currentTarget",de="value",ue=e=>B+e,ce=Math.floor,he=isFinite,me=(e,t)=>e instanceof t,pe=e=>null==e,be=(e,t,l)=>pe(e)?null==l?void 0:l():t(e),ve=e=>e==W||e==H,ge=e=>D(e)==G,fe=e=>Array.isArray(e),{PureComponent:ye,Fragment:Ie,createElement:we,useCallback:Ce,useLayoutEffect:ke,useRef:xe,useState:Te}=e,Se=(e,...t)=>pe(e)?{}:e(...t),Oe=(e,t)=>e.forEach(t),qe=(e,t)=>e.map(t),Ve=e=>e.length,Ne=e=>0==Ve(e),Pe=(e,t,l)=>e.slice(t,l),Le=(e,...t)=>e.push(...t),Re=e=>e.shift(),Ee=Object,je=Ee.keys,Me=Ee.isFrozen,ze=Ee.freeze,$e=e=>me(e,Ee)&&e.constructor==Ee,Ae=(e=[])=>Ee.fromEntries(e),Fe=(e,t)=>!pe(((e,t)=>be(e,(e=>e[t])))(e,t)),Je=(e,t)=>(delete e[t],e),De=(e,t)=>qe(Ee.entries(e),(([e,l])=>t(l,e))),Be=e=>$e(e)&&0==(e=>Ve(je(e)))(e),We=e=>JSON.stringify(e,((e,t)=>me(t,Map)?Ee.fromEntries([...t]):t)),He=JSON.parse,Qe="tinybaseStoreInspector",Ge="TinyBase Store Inspector",Ke=["left","top","bottom","right","full"],Ue="state",Xe="sort",Ye="open",Ze="position",_e=Ye,et="editable",tt=(...e)=>We(e),lt=(e,t)=>qe(e.sort(),t),nt=(e,l)=>[!!t(Ue,e,et,l),Ce((t=>{l.setCell(Ue,e,et,(e=>!e)),t.preventDefault()}),[l,e])],rt="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ot='content:url("',st=ot+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",at='</svg>")',it=ot+"data:image/svg+xml,%3csvg viewBox='0 0 680 680' xmlns='http://www.w3.org/2000/svg' style='width:680px%3bheight:680px'%3e %3cpath stroke='white' stroke-width='80' fill='none' d='M340 617a84 241 90 11.01 0zM131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124zm-12-127a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e %3cpath fill='%23d81b60' d='M131 475a94 254 70 10428-124 114 286 70 01-428 124zm0-140a94 254 70 10428-124 114 286 70 01-428 124z' /%3e %3cpath d='M249 619a94 240 90 00308-128 114 289 70 01-308 128zM119 208a94 254 70 00306 38 90 260 90 01-306-38zm221 3a74 241 90 11.01 0z' /%3e%3c/svg%3e\")",dt=qe([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,n])=>st+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${n}' fill='white'/>`+at)),ut=st+"<path d='M20 20l60 60M20 80l60-60' />"+at,ct=st+`<path d='${rt}' />`+at,ht=st+`<path d='${rt}M20 20l60 60' />`+at;var mt=Object.defineProperty,pt=Object.defineProperties,bt=Object.getOwnPropertyDescriptors,vt=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,yt=(e,t,l)=>t in e?mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,It=(e,t)=>{for(var l in t||(t={}))gt.call(t,l)&&yt(e,l,t[l]);if(vt)for(var l of vt(t))ft.call(t,l)&&yt(e,l,t[l]);return e},wt=(e,t)=>pt(e,bt(t));const Ct="*::-webkit-scrollbar",kt=`#${Qe}{\n all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999;\n ${((e,t="")=>e.join(t))(De(wt(It(wt(It(wt(It({"*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Ct]:"width:0.5rem;height:0.5rem;",[Ct+"-track"]:"background:#111",[Ct+"-thumb"]:"background:#999;border:1px solid #111",[Ct+"-thumb:hover"]:"background:#fff",[Ct+"-corner"]:"background:#111",img:"width:1rem;height:1rem;background:#111;border:0;vertical-align:text-bottom",">img":"padding:0.25rem;bottom:0;right:0;position:fixed;"+it},Ae(qe(["bottom:0;left:0","top:0;right:0"],((e,t)=>[`>img[data-position='${t}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),Ae(qe(["bottom:0;left:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:30vh","bottom:0;left:0;width:100vw;height:30vh","top:0;right:0;width:35vw;height:100vh","top:0;right:0;width:100vw;height:100vh"],((e,t)=>[`main[data-position='${t}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":it,"header>img:nth-of-type(6)":ut}),Ae(qe(dt,((e,t)=>[`header>img[data-id='${t}']`,e])))),{"header>span":"flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-left:0.25rem",article:"padding:0.25rem 0.25rem 0.25rem 0.5rem;overflow:auto;flex:1",details:"margin-left:0.75rem;width:fit-content;","details img":"display:none","details[open]>summary img":"display:unset;background:none;margin-left:0.25rem","details[open]>summary img.edit":ct,"details[open]>summary img.done":ht,summary:"margin-left:-0.75rem;line-height:1.25rem;user-select:none;width:fit-content",table:"border-collapse:collapse;table-layout:fixed;margin-bottom:0.5rem","table input":"background:#111;color:unset;padding:0 0.25rem;border:0;font-size:unset;vertical-align:top;margin:0",'table input[type="number"]':"width:4rem","table tbody button":"font-size:0;background:#fff;border-radius:50%;margin:0 0.125rem 0 0;width:0.85rem;color:#111","table button:first-letter":"font-size:0.75rem",thead:"background:#222","th:nth-of-type(1)":"min-width:2rem;","th.sorted":"background:#000","table caption":"text-align:left;white-space:nowrap;line-height:1.25rem",button:"width:1.5rem;border:none;background:none;color:#fff;padding:0","button[disabled]":"color:#777","button.next":"margin-right:0.5rem","th,td":"overflow:hidden;text-overflow:ellipsis;padding:0.25rem 0.5rem;max-width:12rem;white-space:nowrap;border-width:1px 0;border-style:solid;border-color:#777;text-align:left","span.warn":"margin:0.25rem;color:#d81b60"}),((e,t)=>e?`& ${t}{${e}}`:"")))}`,xt=({s:e})=>{var t;const r=null!=(t=l(Ze,e))?t:1,o=n(_e,(()=>!0),[],e);return l(_e,e)?null:we("img",{onClick:o,title:Ge,"data-position":r})},Tt=({uniqueId:e,summary:l,editable:n,handleEditable:o,children:s,s:a})=>{const i=!!t(Ue,e,Ye,a),d=r(Ue,e,Ye,(e=>e[ie].open),[],a);return we("details",{open:i,onToggle:d},we("summary",null,l,o?we("img",{onClick:o,className:n?"done":"edit"}):null),s)},St=e=>{const t=D(e);return ve(t)||t==Q&&he(e)?t:void 0},Ot=(e,t,l,n,r)=>pe(r)?e.delCell(t,l,n,!0):e.setCell(t,l,n,r),qt=(e,t,l)=>pe(l)?e.delValue(t):e.setValue(t,l),Vt=(e,t,l,n)=>e==W?t:e==Q?l:n;var Nt=Object.defineProperty,Pt=Object.defineProperties,Lt=Object.getOwnPropertyDescriptors,Rt=Object.getOwnPropertySymbols,Et=Object.prototype.hasOwnProperty,jt=Object.prototype.propertyIsEnumerable,Mt=(e,t,l)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,zt=(e,t)=>{for(var l in t||(t={}))Et.call(t,l)&&Mt(e,l,t[l]);if(Rt)for(var l of Rt(t))jt.call(t,l)&&Mt(e,l,t[l]);return e},$t=(e,t)=>Pt(e,Lt(t)),At=(e,t)=>{var l={};for(var n in e)Et.call(e,n)&&t.indexOf(n)<0&&(l[n]=e[n]);if(null!=e&&Rt)for(var n of Rt(e))t.indexOf(n)<0&&jt.call(e,n)&&(l[n]=e[n]);return l};const{useCallback:Ft,useMemo:Jt,useState:Dt}=e,Bt="editable",Wt=(e,t)=>qe(s(e,t),(t=>e+"."+t)),Ht=(e,t,l)=>{const n=Ft(e,t);return l?n:void 0},Qt=(...e)=>Jt((()=>e),e),Gt=(e,t)=>Jt((()=>({store:e,tableId:t})),[e,t]),Kt=(e,t)=>Jt((()=>({queries:e,queryId:t})),[e,t]),Ut=(e,t=!1,l,n=0,r,o,s,a)=>{const[[i,d,u],c]=Dt([e,t,n]),h=Ft((e=>{c(e),null==a||a(e)}),[a]),m=Ht((e=>h([e,e==i&&!d,u])),[h,i,d,u],l),p=Ft((e=>h([i,d,e])),[h,i,d]),b=!0===s?ul:s;return[[i,d,u],m,Jt((()=>!1===s?null:we(b,{offset:u,limit:r,total:o,onChange:p})),[s,b,u,r,o,p])]},Xt=(e,t,l)=>Jt((()=>{const n=null!=t?t:e;return Ae(De(fe(n)?Ae(qe(n,(e=>[e,e]))):n,((e,t)=>{return[t,zt(zt({},{label:t,component:l}),(n=e,D(n)==W?{label:e}:e))];var n})))}),[t,l,e]),Yt=({className:e,headerRow:t,idColumn:l,params:[n,r,o,s,a,i]})=>we("table",{className:e},i?we("caption",null,i):null,!1===t?null:we("thead",null,we("tr",null,!1===l?null:we(Zt,{sort:null!=s?s:[],label:"Id",onClick:a}),De(n,(({label:e},t)=>we(Zt,{key:t,cellId:t,label:e,sort:null!=s?s:[],onClick:a}))))),we("tbody",null,qe(o,(e=>we("tr",{key:e},!1===l?null:we("th",null,e),De(n,(({component:t,getComponentProps:l},n)=>we("td",{key:n},we(t,$t(zt(zt({},Se(l,e,n)),r),{rowId:e,cellId:n})))))))))),Zt=({cellId:e,sort:[t,l],label:n=(null!=e?e:B),onClick:r})=>we("th",{onClick:Ht((()=>null==r?void 0:r(e)),[r,e],r),className:pe(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},pe(l)||t!=e?null:(l?"↓":"↑")+" ",n),_t=({localRowId:t,params:[l,n,r,o,s,a,i]})=>{const d=y(s,t,a);return we("tr",null,!1===l?null:we(e.Fragment,null,we("th",null,t),we("th",null,d)),De(n,(({component:e,getComponentProps:l},n)=>{const[s,a]=n.split(".",2),u=s===r?t:s===o?d:null;return pe(u)?null:we("td",{key:n},we(e,$t(zt({},Se(l,u,a)),{store:i,tableId:s,rowId:u,cellId:a})))})))},el=({thing:e,onThingChange:t,className:l,hasSchema:n})=>{const[r,o]=Dt(),[s,a]=Dt(),[i,d]=Dt(),[u,c]=Dt(),[h,m]=Dt();s!==e&&(o(St(e)),a(e),d(e+""),c(Number(e)||0),m(!!e));const p=Ft(((e,l)=>{l(e),a(e),t(e)}),[t]);return we("div",{className:l},we("button",{className:r,onClick:Ft((()=>{if(!(null==n?void 0:n())){const e=Vt(r,Q,H,W),l=Vt(e,i,u,h);o(e),a(l),t(l)}}),[n,t,i,u,h,r])},r),Vt(r,we("input",{key:r,value:i,onChange:Ft((e=>p(e[ie][de]+"",d)),[p])}),we("input",{key:r,type:"number",value:u,onChange:Ft((e=>p(Number(e[ie][de]||0),c)),[p])}),we("input",{key:r,type:"checkbox",checked:h,onChange:Ft((e=>p(!!e[ie].checked,m)),[p])})))},tl=e=>{var t=e,{tableId:l,store:n,editable:r,customCells:a}=t,i=At(t,["tableId","store","editable","customCells"]);return we(Yt,$t(zt({},i),{params:Qt(Xt(s(l,n),a,r?il:I),Gt(n,l),o(l,n))}))},ll=e=>{var t=e,{tableId:l,cellId:n,descending:r,offset:o,limit:d,store:u,editable:c,sortOnClick:h,paginator:m=!1,onChange:p,customCells:b}=t,v=At(t,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[g,f,y]=Ut(n,r,h,o,d,a(l,u),m,p);return we(Yt,$t(zt({},v),{params:Qt(Xt(s(l,u),b,c?il:I),Gt(u,l),i(l,...g,d,u),g,f,y)}))},nl=({store:e,editable:t=!1,valueComponent:l=(t?dl:u),getValueComponentProps:n,className:r,headerRow:o,idColumn:s})=>we("table",{className:r},!1===o?null:we("thead",null,we("tr",null,!1===s?null:we("th",null,"Id"),we("th",null,oe))),we("tbody",null,qe(d(e),(t=>we("tr",{key:t},!1===s?null:we("th",null,t),we("td",null,we(l,$t(zt({},Se(n,t)),{valueId:t,store:e})))))))),rl=e=>{var t=e,{indexId:l,sliceId:n,indexes:r,editable:o,customCells:a}=t,i=At(t,["indexId","sliceId","indexes","editable","customCells"]);const[d,u,m]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(t)])(c(r),l);return we(Yt,$t(zt({},i),{params:Qt(Xt(s(m,u),a,o?il:I),Gt(u,m),h(l,n,d))}))},ol=({relationshipId:t,relationships:l,editable:n,customCells:r,className:s,headerRow:a,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(t),null==e?void 0:e.getRemoteTableId(t)])(m(l),t),p=Xt([...Wt(c,u),...Wt(h,u)],r,n?il:I),b=Qt(i,p,c,h,t,d,u);return we("table",{className:s},!1===a?null:we("thead",null,we("tr",null,!1===i?null:we(e.Fragment,null,we("th",null,c,".Id"),we("th",null,h,".Id")),De(p,(({label:e},t)=>we("th",{key:t},e))))),we("tbody",null,qe(o(c,u),(e=>we(_t,{key:e,localRowId:e,params:b})))))},sl=e=>{var t=e,{queryId:l,queries:n,customCells:r}=t,o=At(t,["queryId","queries","customCells"]);return we(Yt,$t(zt({},o),{params:Qt(Xt(b(l,n),r,w),Kt(n,l),p(l,n))}))},al=e=>{var t=e,{queryId:l,cellId:n,descending:r,offset:o,limit:s,queries:a,sortOnClick:i,paginator:d=!1,customCells:u,onChange:c}=t,h=At(t,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[m,p,f]=Ut(n,r,i,o,s,v(l,a),d,c);return we(Yt,$t(zt({},h),{params:Qt(Xt(b(l,a),u,w),Kt(a,l),g(l,...m,s,a),m,p,f)}))},il=({tableId:e,rowId:l,cellId:n,store:o,className:s})=>{var a;return we(el,{thing:t(e,l,n,o),onThingChange:r(e,l,n,(e=>e),[],o),className:null!=s?s:Bt+ne,hasSchema:null==(a=f(o))?void 0:a.hasTablesSchema})},dl=({valueId:e,store:t,className:r})=>{var o;return we(el,{thing:l(e,t),onThingChange:n(e,(e=>e),[],t),className:null!=r?r:Bt+oe,hasSchema:null==(o=f(t))?void 0:o.hasValuesSchema})},ul=({onChange:t,total:l,offset:n=0,limit:r=l,singular:o="row",plural:s=o+"s"})=>{(n>l||n<0)&&(n=0,t(0));const a=Ht((()=>t(n-r)),[t,n,r],n>0),i=Ht((()=>t(n+r)),[t,n,r],n+r<l);return we(e.Fragment,null,l>r&&we(e.Fragment,null,we("button",{className:"previous",disabled:0==n,onClick:a},"←"),we("button",{className:"next",disabled:n+r>=l,onClick:i},"→"),n+1," to ",Math.min(l,n+r)," of "),l," ",1!=l?s:o)},cl=({indexes:e,indexesId:t,indexId:l,s:n})=>we(Tt,{uniqueId:tt("i",t,l),summary:"Index: "+l,s:n},qe(x(l,e),(r=>we(hl,{indexes:e,indexesId:t,indexId:l,sliceId:r,s:n})))),hl=({indexes:e,indexesId:t,indexId:l,sliceId:n,s:r})=>{const o=tt("i",t,l,n),[s,a]=nt(o,r);return we(Tt,{uniqueId:o,summary:"Slice: "+n,editable:s,handleEditable:a,s:r},we(rl,{sliceId:n,indexId:l,indexes:e,editable:s}))},ml=({indexesId:e,s:t})=>{const l=C(e),n=k(l);return pe(l)?null:we(Tt,{uniqueId:tt("i",e),summary:"Indexes: "+(null!=e?e:U),s:t},Ne(n)?"No indexes defined":lt(n,(n=>we(cl,{indexes:l,indexesId:e,indexId:n,s:t}))))},pl=({metrics:e,metricId:t})=>we("tr",null,we("th",null,t),we("td",null,null==e?void 0:e.getTableId(t)),we("td",null,O(t,e))),bl=({metricsId:e,s:t})=>{const l=T(e),n=S(l);return pe(l)?null:we(Tt,{uniqueId:tt("m",e),summary:"Metrics: "+(null!=e?e:U),s:t},Ne(n)?"No metrics defined":we("table",null,we("thead",null,we("th",null,"Metric Id"),we("th",null,"Table Id"),we("th",null,"Metric")),we("tbody",null,qe(n,(e=>we(pl,{metrics:l,metricId:e}))))))},vl=({queries:e,queriesId:l,queryId:n,s:o})=>{var s;const a=tt("q",l,n),[i,d,u]=He(null!=(s=t(Ue,a,Xe,o))?s:"[]"),c=r(Ue,a,Xe,We,[],o);return we(Tt,{uniqueId:a,summary:"Query: "+n,s:o},we(al,{queryId:n,queries:e,cellId:i,descending:d,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:c}))},gl=({queriesId:e,s:t})=>{const l=q(e),n=V(l);return pe(l)?null:we(Tt,{uniqueId:tt("q",e),summary:"Queries: "+(null!=e?e:U),s:t},Ne(n)?"No queries defined":lt(n,(n=>we(vl,{queries:l,queriesId:e,queryId:n,s:t}))))},fl=({relationships:e,relationshipsId:t,relationshipId:l,s:n})=>{const r=tt("r",t,l),[o,s]=nt(r,n);return we(Tt,{uniqueId:r,summary:"Relationship: "+l,editable:o,handleEditable:s,s:n},we(ol,{relationshipId:l,relationships:e,editable:o}))},yl=({relationshipsId:e,s:t})=>{const l=N(e),n=P(l);return pe(l)?null:we(Tt,{uniqueId:tt("r",e),summary:"Relationships: "+(null!=e?e:U),s:t},Ne(n)?"No relationships defined":lt(n,(n=>we(fl,{relationships:l,relationshipsId:e,relationshipId:n,s:t}))))},Il=({tableId:e,store:l,storeId:n,s:o})=>{var s;const a=tt("t",n,e),[i,d,u]=He(null!=(s=t(Ue,a,Xe,o))?s:"[]"),c=r(Ue,a,Xe,We,[],o),[h,m]=nt(a,o);return we(Tt,{uniqueId:a,summary:Y+": "+e,editable:h,handleEditable:m,s:o},we(ll,{tableId:e,store:l,cellId:i,descending:d,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:c,editable:h}))},wl=({store:e,storeId:t,s:l})=>{const n=tt("v",t),[r,o]=nt(n,l);return Ne(d(e))?null:we(Tt,{uniqueId:n,summary:se,editable:r,handleEditable:o,s:l},we(nl,{store:e,editable:r}))},Cl=({storeId:e,s:t})=>{const l=L(e),n=R(l);return pe(l)?null:we(Tt,{uniqueId:tt("s",e),summary:"Store: "+(null!=e?e:U),s:t},we(wl,{storeId:e,store:l,s:t}),lt(n,(n=>we(Il,{store:l,storeId:e,tableId:n,s:t}))))},kl=({s:e})=>{const t=xe(null),l=xe(0),[n,r]=Te(!1),{scrollLeft:o,scrollTop:s}=E(e);ke((()=>{const e=t.current;if(e&&!n){const t=new MutationObserver((()=>{e.scrollWidth>=ce(o)+e.clientWidth&&e.scrollHeight>=ce(s)+e.clientHeight&&e.scrollTo(o,s)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[n,o,s]);const a=Ce((t=>{const{scrollLeft:n,scrollTop:o}=t[ie];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:n,scrollTop:o})}))}),[e]),i=L(),d=j(),u=T(),c=M(),h=C(),m=z(),p=N(),b=$(),v=q(),g=A();return pe(i)&&Ne(d)&&pe(u)&&Ne(c)&&pe(h)&&Ne(m)&&pe(p)&&Ne(b)&&pe(v)&&Ne(g)?we("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):we("article",{ref:t,onScroll:a},we(Cl,{s:e}),qe(d,(t=>we(Cl,{storeId:t,key:t,s:e}))),we(bl,{s:e}),qe(c,(t=>we(bl,{metricsId:t,key:t,s:e}))),we(ml,{s:e}),qe(m,(t=>we(ml,{indexesId:t,key:t,s:e}))),we(yl,{s:e}),qe(b,(t=>we(yl,{relationshipsId:t,key:t,s:e}))),we(gl,{s:e}),qe(g,(t=>we(gl,{queriesId:t,key:t,s:e}))))};var xl=Object.defineProperty,Tl=(e,t,l)=>(((e,t,l)=>{t in e?xl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l})(e,"symbol"!=typeof t?t+"":t,l),l);class Sl extends ye{constructor(e){super(e),Tl(this,"componentDidCatch",((e,t)=>console.error(e,t.componentStack))),this.state={e:0}}render(){return this.state.e?we("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}Tl(Sl,"getDerivedStateFromError",(()=>({e:1})));const Ol=({s:e})=>{var t;const r=null!=(t=l(Ze,e))?t:1,o=n(_e,(()=>!1),[],e),s=n(Ze,(e=>Number(e[ie].dataset.id)),[],e);return we("header",null,we("img",{title:Ge}),we("span",null,Ge),qe(Ke,((e,t)=>t==r?null:we("img",{onClick:s,"data-id":t,title:"Dock to "+e,key:t}))),we("img",{onClick:o,title:"Close"}))},ql=({s:e})=>{var t;const n=null!=(t=l(Ze,e))?t:1;return l(_e,e)?we("main",{"data-position":n},we(Ol,{s:e}),we(Sl,null,we(kl,{s:e}))):null},Vl=e=>t=>{return l=(t,l)=>t+e(l),Ml(t).reduce(l,0);var l},Nl=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},Pl=Vl(Nl),Ll=Vl(Pl),Rl=Vl(Ll),El=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},jl=e=>pe(e)||0==Nl(e),Ml=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},zl=e=>e.clear(),$l=(e,t)=>null==e?void 0:e.forEach(t),Al=(e,t)=>null==e?void 0:e.delete(t),Fl=e=>new Map(e),Jl=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},Dl=(e,t)=>null==e?void 0:e.get(t),Bl=(e,t)=>$l(e,((e,l)=>t(l,e))),Wl=(e,t,l)=>pe(l)?(Al(e,t),e):null==e?void 0:e.set(t,l),Hl=(e,t,l)=>(El(e,t)||Wl(e,t,l()),Dl(e,t)),Ql=(e,t,l,n=Wl)=>(De(t,((t,n)=>l(e,n,t))),Bl(e,(l=>Fe(t,l)?0:n(e,l))),e),Gl=(e,t,l)=>{const n={};return $l(e,((e,r)=>{const o=t?t(e,r):e;!(null==l?void 0:l(o,e))&&(n[r]=o)})),n},Kl=(e,t,l)=>Gl(e,(e=>Gl(e,t,l)),Be),Ul=(e,t,l)=>Gl(e,(e=>Kl(e,t,l)),Be),Xl=(e,t)=>{const l=Fl();return $l(e,((e,n)=>{var r;return l.set(n,null!=(r=null==t?void 0:t(e))?r:e)})),l},Yl=e=>Xl(e,Xl),Zl=e=>Xl(e,Yl),_l=(e,t,l,n,r=0)=>be((l?Hl:Dl)(e,t[r],r>Ve(t)-2?l:Fl),(o=>{if(r>Ve(t)-2)return(null==n?void 0:n(o))&&Wl(e,t[r]),o;const s=_l(o,t,l,n,r+1);return jl(o)&&Wl(e,t[r]),s}));var en=(e,t,l)=>new Promise(((n,r)=>{var o=e=>{try{a(l.next(e))}catch(e){r(e)}},s=e=>{try{a(l.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((l=l.apply(e,t)).next())}));const tn=Fl(),ln=Fl();var nn=(e,t,l)=>new Promise(((n,r)=>{var o=e=>{try{a(l.next(e))}catch(e){r(e)}},s=e=>{try{a(l.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((l=l.apply(e,t)).next())}));const rn="storage",on=globalThis.window,sn=e=>new Set(fe(e)||pe(e)?e:[e]),an=(e,t)=>null==e?void 0:e.add(t),dn=/^\d+$/,un=()=>{const e=[];let t=0;return[l=>{var n;return null!=(n=l?Re(e):null)?n:B+t++},t=>{dn.test(t)&&Ve(e)<1e3&&Le(e,t)}]},cn=e=>[e,e],hn=(e,t=Pl)=>t(e[0])+t(e[1]),mn=()=>[Fl(),Fl()],pn=e=>[...e],bn=([e,t])=>e===t,vn=(e,t,l)=>pe(e)||!$e(e)||Be(e)||Me(e)?(null==l||l(),!1):(De(e,((l,n)=>{t(l,n)||Je(e,n)})),!Be(e)),gn=(e,t,l)=>Wl(e,t,Dl(e,t)==-l?void 0:l),fn=()=>{let e,t,l=!1,n=!1,r=0;const o=Fl(),s=Fl(),a=Fl(),i=Fl(),d=Fl(),u=Fl(),c=Fl(),h=Fl(),m=Fl(),p=Fl(),b=Fl(),v=Fl(),g=Fl(),f=Fl(),y=sn(),I=Fl(),w=Fl(),C=Fl(),k=Fl(),x=mn(),T=mn(),S=mn(),O=mn(),q=mn(),V=mn(),N=mn(),P=mn(),L=mn(),R=mn(),E=mn(),j=mn(),M=mn(),z=mn(),$=mn(),A=Fl(),F=mn(),[J,D,W,H]=(e=>{let t;const[l,n]=un(),r=Fl();return[(e,n,o,s=[],a=(()=>[]))=>{null!=t||(t=At);const i=l(1);return Wl(r,i,[e,n,o,s,a]),an(_l(n,null!=o?o:[B],sn),i),i},(e,l,...n)=>Oe(((e,t=[B])=>{const l=[],n=(e,r)=>r==Ve(t)?Le(l,e):null===t[r]?$l(e,(e=>n(e,r+1))):Oe([t[r],null],(t=>n(Dl(e,t),r+1)));return n(e,0),l})(e,l),(e=>$l(e,(e=>Dl(r,e)[0](t,...null!=l?l:[],...n))))),e=>be(Dl(r,e),(([,t,l])=>(_l(t,null!=l?l:[B],void 0,(t=>(Al(t,e),jl(t)?1:0))),Wl(r,e),n(e),l))),e=>be(Dl(r,e),(([e,,l=[],n,r])=>{const o=(...s)=>{var a,i;const d=Ve(s);d==Ve(l)?e(t,...s,...r(s)):pe(l[d])?Oe(null!=(i=null==(a=n[d])?void 0:a.call(n,...s))?i:[],(e=>o(...s,e))):o(...s,l[d])};o()}))]})(),G=e=>{if(!vn(e,((e,t)=>[K,U].includes(t))))return!1;const t=e[K];return!(!ve(t)&&t!=Q||(St(e[U])!=t&&Je(e,U),0))},X=(t,l)=>(!e||El(b,l)||et(l))&&vn(t,((e,t)=>ie(l,t,e)),(()=>et(l))),ie=(e,t,l,n)=>vn(n?l:me(l,e,t),((n,r)=>be(de(e,t,r,n),(e=>(l[r]=e,!0)),(()=>!1))),(()=>et(e,t))),de=(t,l,n,r)=>e?be(Dl(Dl(b,t),n),(e=>St(r)!=e[K]?et(t,l,n,r,e[U]):r),(()=>et(t,l,n,r))):pe(St(r))?et(t,l,n,r):r,ce=(e,t)=>vn(t?e:fe(e),((t,l)=>be(he(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>tt())),he=(e,l)=>t?be(Dl(g,e),(t=>St(l)!=t[K]?tt(e,l,t[U]):l),(()=>tt(e,l))):pe(St(l))?tt(e,l):l,me=(e,t,l)=>(be(Dl(v,t),(([n,r])=>{$l(n,((t,l)=>{Fe(e,l)||(e[l]=t)})),$l(r,(n=>{Fe(e,n)||et(t,l,n)}))})),e),fe=e=>(t&&($l(f,((t,l)=>{Fe(e,l)||(e[l]=t)})),$l(y,(t=>{Fe(e,t)||tt(t)}))),e),ye=e=>Ql(b,e,((e,t,l)=>{const n=Fl(),r=sn();Ql(Hl(b,t,Fl),l,((e,t,l)=>{Wl(e,t,l),be(l[U],(e=>Wl(n,t,e)),(()=>an(r,t)))})),Wl(v,t,[n,r])}),((e,t)=>{Wl(b,t),Wl(v,t)})),Ie=e=>Ql(g,e,((e,t,l)=>{Wl(g,t,l),be(l[U],(e=>Wl(f,t,e)),(()=>an(y,t)))}),((e,t)=>{Wl(g,t),Wl(f,t),Al(y,t)})),we=e=>Be(e)?Nt():Ct(e),Ce=e=>Ql(C,e,((e,t,l)=>ke(t,l)),((e,t)=>$e(t))),ke=(e,t)=>Ql(Hl(C,e,(()=>(Ke(e,1),Wl(I,e,un()),Wl(w,e,Fl()),Fl()))),t,((t,l,n)=>xe(e,t,l,n)),((t,l)=>Ae(e,t,l))),xe=(e,t,l,n,r)=>Ql(Hl(t,l,(()=>(Ue(e,l,1),Fl()))),n,((t,n,r)=>Te(e,l,t,n,r)),((n,o)=>Qe(e,t,l,n,o,r))),Te=(e,t,l,n,r)=>{El(l,n)||Xe(e,t,n,1);const o=Dl(l,n);r!==o&&(Ye(e,t,n,o,r),Wl(l,n,r))},Se=(e,t,l,n,r)=>be(Dl(t,l),(t=>Te(e,l,t,n,r)),(()=>xe(e,t,l,me({[n]:r},e,l)))),Ne=e=>Be(e)?Rt():kt(e),Re=e=>Ql(k,e,((e,t,l)=>Ee(t,l)),((e,t)=>Ge(t))),Ee=(e,t)=>{El(k,e)||Ze(e,1);const l=Dl(k,e);t!==l&&(_e(e,l,t),Wl(k,e,t))},je=(e,t)=>{const[l]=Dl(I,e),n=l(t);return El(Dl(C,e),n)?je(e,t):n},Me=e=>{var t;return null!=(t=Dl(C,e))?t:ke(e,{})},$e=e=>ke(e,{}),Ae=(e,t,l)=>{const[,n]=Dl(I,e);n(l),xe(e,t,l,{},!0)},Qe=(e,t,l,n,r,o)=>{var s;const a=Dl(null==(s=Dl(v,e))?void 0:s[0],r);if(!pe(a)&&!o)return Te(e,l,n,r,a);const i=t=>{Ye(e,l,t,Dl(n,t)),Xe(e,l,t,-1),Wl(n,t)};pe(a)?i(r):Bl(n,i),jl(n)&&(Ue(e,l,-1),jl(Wl(t,l))&&(Ke(e,-1),Wl(C,e),Wl(I,e),Wl(w,e)))},Ge=e=>{const t=Dl(f,e);if(!pe(t))return Ee(e,t);_e(e,Dl(k,e)),Ze(e,-1),Wl(k,e)},Ke=(e,t)=>gn(o,e,t),Ue=(e,t,l)=>gn(Hl(i,e,Fl),t,l)&&Wl(a,e,Hl(a,e,(()=>0))+l),Xe=(e,t,l,n)=>{var r;const o=Dl(w,e),a=null!=(r=Dl(o,l))?r:0;(0==a&&1==n||1==a&&-1==n)&&gn(Hl(s,e,Fl),l,n),Wl(o,l,a!=-n?a+n:null),gn(Hl(Hl(d,e,Fl),t,Fl),l,n)},Ye=(e,t,l,n,r)=>Hl(Hl(Hl(u,e,Fl),t,Fl),l,(()=>[n,0]))[1]=r,Ze=(e,t)=>gn(c,e,t),_e=(e,t,l)=>Hl(h,e,(()=>[t,0]))[1]=l,et=(e,t,l,n,r)=>(Le(Hl(Hl(Hl(m,e,Fl),t,Fl),l,(()=>[])),n),r),tt=(e,t,l)=>(Le(Hl(p,e,(()=>[])),t),l),lt=(e,t,l)=>be(Dl(Dl(Dl(u,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...cn(ft(e,t,l))])),nt=e=>be(Dl(h,e),(([e,t])=>[!0,e,t]),(()=>[!1,...cn(wt(e))])),rt=e=>jl(m)||jl(E[e])?0:$l(e?Zl(m):m,((t,l)=>$l(t,((t,n)=>$l(t,((t,r)=>D(E[e],[l,n,r],t))))))),ot=e=>jl(p)||jl(j[e])?0:$l(e?Xl(p):p,((t,l)=>D(j[e],[l],t))),st=(e,t,l)=>{if(!jl(t))return D(e,l,(()=>Gl(t))),1},at=e=>{const t=jl(N[e]),l=jl(L[e])&&jl(O[e])&&jl(q[e])&&jl(V[e])&&t&&jl(T[e]),n=jl(R[e])&&jl(P[e])&&jl(S[e])&&jl(x[e]);if(!l||!n){const r=e?[Xl(o),Yl(s),Xl(a),Yl(i),Zl(d),Zl(u)]:[o,s,a,i,d,u];if(!l){st(T[e],r[0]),$l(r[1],((t,l)=>st(O[e],t,[l]))),$l(r[2],((t,l)=>{0!=t&&D(q[e],[l],pt(l))}));const l=sn();$l(r[3],((n,r)=>{st(V[e],n,[r])&&!t&&(D(N[e],[r,null]),an(l,r))})),t||$l(r[5],((t,n)=>{if(!El(l,n)){const l=sn();$l(t,(e=>$l(e,(([t,n],r)=>n!==t?an(l,r):Al(e,r))))),$l(l,(t=>D(N[e],[n,t])))}})),$l(r[4],((t,l)=>$l(t,((t,n)=>st(L[e],t,[l,n])))))}if(!n){let t;$l(r[5],((l,n)=>{let r;$l(l,((l,o)=>{let s;$l(l,(([l,a],i)=>{a!==l&&(D(R[e],[n,o,i],a,l,lt),t=r=s=1)})),s&&D(P[e],[n,o],lt)})),r&&D(S[e],[n],lt)})),t&&D(x[e],void 0,lt)}}},it=e=>{const t=jl(z[e]),l=jl($[e])&&jl(M[e]);if(!t||!l){const n=e?[Xl(c),Xl(h)]:[c,h];if(t||st(z[e],n[0]),!l){let t;$l(n[1],(([l,n],r)=>{n!==l&&(D($[e],[r],n,l,nt),t=1)})),t&&D(M[e],void 0,nt)}}},dt=(e,...t)=>(Mt((()=>e(...qe(t,ue)))),At),ut=()=>[Gl(u,((e,t)=>-1===Dl(o,t)?null:Gl(e,((e,l)=>-1===Dl(Dl(i,t),l)?null:Gl(e,(([,e])=>null!=e?e:null),((e,t)=>bn(t)))),Be)),Be),Gl(h,(([,e])=>null!=e?e:null),((e,t)=>bn(t)))],ct=()=>({cellsTouched:l,valuesTouched:n,changedCells:Ul(u,pn,bn),invalidCells:Ul(m),changedValues:Gl(h,pn,bn),invalidValues:Gl(p),changedTableIds:Gl(o),changedRowIds:Kl(i),changedCellIds:Ul(d),changedValueIds:Gl(c)}),ht=()=>Ul(C),mt=()=>Jl(C),pt=e=>Nl(Dl(C,ue(e))),bt=e=>Jl(Dl(C,ue(e))),vt=(e,t,l,n=0,r)=>{return qe(Pe((s=Dl(C,ue(e)),a=(e,l)=>[pe(t)?l:Dl(e,ue(t)),l],o=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(r=t)?r:0)?-1:1)*(l?-1:1);var n,r},qe([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>a(t,e))).sort(o)),n,pe(r)?r:n+r),(([,e])=>e));var o,s,a,i},gt=(e,t)=>Jl(Dl(Dl(C,ue(e)),ue(t))),ft=(e,t,l)=>Dl(Dl(Dl(C,ue(e)),ue(t)),ue(l)),yt=()=>Gl(k),It=()=>Jl(k),wt=e=>Dl(k,ue(e)),Ct=e=>dt((()=>(e=>vn(e,X,et))(e)?Ce(e):0)),kt=e=>dt((()=>ce(e)?Re(e):0)),xt=e=>{try{we(He(e))}catch(e){}return At},Tt=t=>dt((()=>{if((e=vn(t,(e=>vn(e,G))))&&(ye(t),!jl(C))){const e=ht();Nt(),Ct(e)}})),Vt=e=>dt((()=>{if(t=(e=>vn(e,G))(e)){const l=yt();jt(),Rt(),t=!0,Ie(e),kt(l)}})),Nt=()=>dt((()=>Ce({}))),Pt=e=>dt((e=>El(C,e)?$e(e):0),e),Lt=(e,t)=>dt(((e,t)=>be(Dl(C,e),(l=>El(l,t)?Ae(e,l,t):0))),e,t),Rt=()=>dt((()=>Re({}))),Et=()=>dt((()=>{ye({}),e=!1})),jt=()=>dt((()=>{Ie({}),t=!1})),Mt=(e,t)=>{if(-1!=r){zt();const l=e();return $t(t),l}},zt=()=>(-1!=r&&r++,1==r&&D(A,void 0,ut,ct),At),$t=e=>(r>0&&(r--,0==r&&(l=!jl(u),n=!jl(h),r=1,rt(1),l&&at(1),ot(1),n&&it(1),(null==e?void 0:e(ut,ct))&&($l(u,((e,t)=>$l(e,((e,l)=>$l(e,(([e],n)=>Ot(At,t,l,n,e))))))),$l(h,(([e],t)=>qt(At,t,e))),l=n=!1),D(F[0],void 0,ut,ct),r=-1,rt(0),l&&at(0),ot(0),n&&it(0),D(F[1],void 0,ut,ct),r=0,l=n=!1,Oe([o,s,a,i,d,u,m,c,h,p],zl))),At),At={getContent:()=>[ht(),yt()],getTables:ht,getTableIds:mt,getTable:e=>Kl(Dl(C,ue(e))),getTableCellIds:e=>Jl(Dl(w,ue(e))),getRowCount:pt,getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>Gl(Dl(Dl(C,ue(e)),ue(t))),getCellIds:gt,getCell:ft,getValues:yt,getValueIds:It,getValue:wt,hasTables:()=>!jl(C),hasTable:e=>El(C,ue(e)),hasTableCell:(e,t)=>El(Dl(w,ue(e)),ue(t)),hasRow:(e,t)=>El(Dl(C,ue(e)),ue(t)),hasCell:(e,t,l)=>El(Dl(Dl(C,ue(e)),ue(t)),ue(l)),hasValues:()=>!jl(k),hasValue:e=>El(k,ue(e)),getTablesJson:()=>We(C),getValuesJson:()=>We(k),getJson:()=>We([C,k]),getTablesSchemaJson:()=>We(b),getValuesSchemaJson:()=>We(g),getSchemaJson:()=>We([b,g]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>dt((()=>{(Be(e)?Nt:Ct)(e),(Be(t)?Rt:kt)(t)})),setTables:Ct,setTable:(e,t)=>dt((e=>X(t,e)?ke(e,t):0),e),setRow:(e,t,l)=>dt(((e,t)=>ie(e,t,l)?xe(e,Me(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Mt((()=>{let n;return ie(e,n,t)&&(e=ue(e),xe(e,Me(e),n=je(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>dt(((e,t)=>{if(ie(e,t,l,1)){const n=Me(e);De(l,((l,r)=>Se(e,n,t,r,l)))}}),e,t),setCell:(e,t,l,n)=>dt(((e,t,l)=>be(de(e,t,l,ge(n)?n(ft(e,t,l)):n),(n=>Se(e,Me(e),t,l,n)))),e,t,l),setValues:kt,setPartialValues:e=>dt((()=>ce(e,1)?De(e,((e,t)=>Ee(t,e))):0)),setValue:(e,t)=>dt((e=>be(he(e,ge(t)?t(wt(e)):t),(t=>Ee(e,t)))),e),setTransactionChanges:e=>dt((()=>{De(e[0],((e,t)=>pe(e)?Pt(t):De(e,((e,l)=>pe(e)?Lt(t,l):De(e,((e,n)=>Ot(At,t,l,n,e))))))),De(e[1],((e,t)=>qt(At,t,e)))})),setTablesJson:xt,setValuesJson:e=>{try{Ne(He(e))}catch(e){}return At},setJson:e=>dt((()=>{try{const[t,l]=He(e);we(t),Ne(l)}catch(t){xt(e)}})),setTablesSchema:Tt,setValuesSchema:Vt,setSchema:(e,t)=>dt((()=>{Tt(e),Vt(t)})),delTables:Nt,delTable:Pt,delRow:Lt,delCell:(e,t,l,n)=>dt(((e,t,l)=>be(Dl(C,e),(r=>be(Dl(r,t),(o=>El(o,l)?Qe(e,r,t,o,l,n):0))))),e,t,l),delValues:Rt,delValue:e=>dt((e=>El(k,e)?Ge(e):0),e),delTablesSchema:Et,delValuesSchema:jt,delSchema:()=>dt((()=>{Et(),jt()})),transaction:Mt,startTransaction:zt,finishTransaction:$t,forEachTable:e=>$l(C,((t,l)=>e(l,(e=>$l(t,((t,l)=>e(l,(e=>Bl(t,e))))))))),forEachTableCell:(e,t)=>Bl(Dl(w,ue(e)),t),forEachRow:(e,t)=>$l(Dl(C,ue(e)),((e,l)=>t(l,(t=>Bl(e,t))))),forEachCell:(e,t,l)=>Bl(Dl(Dl(C,ue(e)),ue(t)),l),forEachValue:e=>Bl(k,e),addSortedRowIdsListener:(e,t,l,n,r,o,s)=>{let a=vt(e,t,l,n,r);return J((()=>{const s=vt(e,t,l,n,r);var i,d,u;d=a,Ve(i=s)===Ve(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(a=s,o(At,e,t,l,n,r,a))}),N[s?1:0],[e,t],[mt])},addStartTransactionListener:e=>J(e,A),addWillFinishTransactionListener:e=>J(e,F[0]),addDidFinishTransactionListener:e=>J(e,F[1]),callListener:e=>(H(e),At),delListener:e=>(W(e),At),getListenerStats:()=>({tables:hn(x),tableIds:hn(T),tableCellIds:hn(O),table:hn(S),rowCount:hn(q),rowIds:hn(V),sortedRowIds:hn(N),row:hn(P,Ll),cellIds:hn(L,Ll),cell:hn(R,Rl),invalidCell:hn(E,Rl),values:hn(M),valueIds:hn(z),value:hn($),invalidValue:hn(j),transaction:Pl(A)+hn(F)}),createStore:fn,addListener:J,callListeners:D};return De({[Z]:[0,x],[_]:[0,T],[Y]:[1,S,[mt]],[Y+re]:[1,O,[mt]],[te]:[1,q,[mt]],[le]:[1,V,[mt]],[ee]:[2,P,[mt,bt]],[re]:[2,L,[mt,bt]],[ne]:[3,R,[mt,bt,gt],e=>cn(ft(...e))],InvalidCell:[3,E],[se]:[0,M],[ae]:[0,z],[oe]:[1,$,[It],e=>cn(wt(e[0]))],InvalidValue:[1,j]},(([e,t,l,n],r)=>{At["add"+r+"Listener"]=(...r)=>J(r[e],t[r[e+1]?1:0],e>0?Pe(r,0,e):void 0,l,n)})),ze(At)},yn=({position:e="right",open:t=!1})=>{const l=F(fn),n=Ke.indexOf(e);return J(l,(e=>{return((e,t,l,n)=>((e,t,l,n,r,o,s=[])=>{let a,i,d,u=0,c=0,h=0,m=0;Hl(tn,s,(()=>0)),Hl(ln,s,(()=>[]));const p=e=>en(void 0,null,(function*(){return 2!=u&&(u=1,c++,yield b.schedule((()=>en(void 0,null,(function*(){yield e(),u=0}))))),b})),b={load:(l,n)=>en(void 0,null,(function*(){return yield p((()=>en(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([l,n])}}))))})),startAutoLoad:(...l)=>en(void 0,[...l],(function*(l={},r={}){return b.stopAutoLoad(),yield b.load(l,r),m=1,d=n(((l,n)=>en(void 0,null,(function*(){if(n){const t=n();yield p((()=>en(void 0,null,(function*(){return e.setTransactionChanges(t)}))))}else yield p((()=>en(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==l?void 0:l())?n:yield t())}catch(e){null==o||o(e)}}))))})))),b})),stopAutoLoad:()=>(m&&(r(d),d=void 0,m=0),b),save:t=>en(void 0,null,(function*(){return 1!=u&&(u=2,h++,yield b.schedule((()=>en(void 0,null,(function*(){try{yield l(e.getContent,t)}catch(e){null==o||o(e)}u=0}))))),b})),startAutoSave:()=>en(void 0,null,(function*(){return yield b.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>{const[l,n]=t();Be(l)&&Be(n)||b.save((()=>[l,n]))})),b})),stopAutoSave:()=>(be(a,e.delListener),b),schedule:(...e)=>en(void 0,null,(function*(){return Le(Dl(ln,s),...e),yield en(void 0,null,(function*(){if(!Dl(tn,s)){for(Wl(tn,s,1);!pe(i=Re(Dl(ln,s)));)try{yield i()}catch(e){null==o||o(e)}Wl(tn,s,0)}})),b})),getStore:()=>e,destroy:()=>b.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:c,saves:h})};return ze(b)})(e,(()=>nn(void 0,null,(function*(){return He(l.getItem(t))}))),(e=>nn(void 0,null,(function*(){return l.setItem(t,We(e()))}))),(e=>{const n=n=>{n.storageArea===l&&n.key===t&&e((()=>He(n.newValue)))};return on.addEventListener(rn,n),n}),(e=>on.removeEventListener(rn,e)),n))(e,Qe,sessionStorage,t);var t}),void 0,(e=>{return l=function*(){yield e.load(void 0,{position:-1==n?1:n,open:!!t}),yield e.startAutoSave()},new Promise(((e,t)=>{var n=e=>{try{o(l.next(e))}catch(e){t(e)}},r=e=>{try{o(l.throw(e))}catch(e){t(e)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,r);o((l=l.apply(void 0,null)).next())}));var l})),we(Ie,null,we("aside",{id:Qe},we(xt,{s:l}),we(ql,{s:l})),we("style",null,kt))};var In=Object.defineProperty,wn=Object.getOwnPropertySymbols,Cn=Object.prototype.hasOwnProperty,kn=Object.prototype.propertyIsEnumerable,xn=(e,t,l)=>t in e?In(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l;const Tn=e=>we(yn,((e,t)=>{for(var l in t||(t={}))Cn.call(t,l)&&xn(e,l,t[l]);if(wn)for(var l of wn(t))kn.call(t,l)&&xn(e,l,t[l]);return e})({},e));export{il as EditableCellView,dl as EditableValueView,ol as RelationshipInHtmlTable,al as ResultSortedTableInHtmlTable,sl as ResultTableInHtmlTable,rl as SliceInHtmlTable,ll as SortedTableInHtmlTable,ul as SortedTablePaginator,Tn as StoreInspector,tl as TableInHtmlTable,nl as ValuesInHtmlTable};
|
|
Binary file
|
package/lib/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row",g=h+"Count",f=h+c,T="Cell",V=T+c,b="Value",C=b+"s",S=b+c,v=e=>t+e,w=isFinite,I=(e,t)=>e instanceof t,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),y=e=>e==s||e==l,J=t=>e(t)==a,L=(e,t)=>e.forEach(t),p=(e,t)=>e.map(t),E=e=>e.length,F=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>I(e,O)&&e.constructor==O,P=(e,t)=>!m(((e,t)=>R(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>p(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>E(k(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>m(e)||0==W(e),B=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>m(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>($(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s,l=Y)=>(x(t,((t,l)=>s(e,l,t))),X(e,(s=>P(t,s)?0:l(e,s))),e),ee=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},te=(e,t,s)=>ee(e,(e=>ee(e,t,s)),D),se=(e,t,s)=>ee(e,(e=>te(e,t,s)),D),le=(e,t)=>{const s=K();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ne=e=>le(e,le),ae=e=>le(e,ne),re=(e,t,s,l,n=0)=>R((s?Z:U)(e,t[n],n>E(t)-2?s:K),(a=>{if(n>E(t)-2)return l?.(a)&&Y(e,t[n]),a;const r=re(a,t,s,l,n+1);return q(a)&&Y(e,t[n]),r})),oe=e=>new Set(Array.isArray(e)||m(e)?e:[e]),ce=(e,t)=>e?.add(t),ie=/^\d+$/,de=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ie.test(t)&&E(e)<1e3&&z(e,t)}]},ue=e=>[e,e],he=()=>[K(),K()],ge=e=>[...e],fe=([e,t])=>e===t,Te=t=>{const s=e(t);return y(s)||s==n&&w(t)?s:void 0},Ve=(e,t,s,l,n)=>m(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),be=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Ce=e=>JSON.stringify(e,((e,t)=>I(t,Map)?O.fromEntries([...t]):t)),Se=JSON.parse,ve=(e,t,s)=>m(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),we=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),Ie=()=>{let e,s,l=!1,a=!1,c=0;const w=K(),I=K(),O=K(),k=K(),A=K(),N=K(),ie=K(),me=K(),Re=K(),ye=K(),Je=K(),Le=K(),pe=K(),Ee=K(),Fe=oe(),ze=K(),Oe=K(),ke=K(),Ae=K(),Me=he(),Ne=he(),Pe=he(),je=he(),xe=he(),De=he(),We=he(),$e=he(),qe=he(),Be=he(),Ge=he(),He=he(),Ke=he(),Qe=he(),Ue=he(),Xe=K(),Ye=he(),[Ze,_e,et,tt]=(e=>{let s;const[l,n]=de(),a=K();return[(e,n,r,o=[],c=(()=>[]))=>{s??=Ts;const i=l(1);return Y(a,i,[e,n,r,o,c]),ce(re(n,r??[t],oe),i),i},(e,l,...n)=>L(((e,s=[t])=>{const l=[],n=(e,t)=>t==E(s)?z(l,e):null===s[t]?G(e,(e=>n(e,t+1))):L([s[t],null],(s=>n(U(e,s),t+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>U(a,e)[0](s,...l??[],...n))))),e=>R(U(a,e),(([,s,l])=>(re(s,l??[t],void 0,(t=>(H(t,e),q(t)?1:0))),Y(a,e),n(e),l))),e=>R(U(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=E(r);o==E(t)?e(s,...r,...n(r)):m(t[o])?L(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),st=e=>{if(!ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!y(t)&&t!=n||(Te(e[o])!=t&&j(e,o),0))},lt=(t,s)=>(!e||$(Je,s)||kt(s))&&ve(t,((e,t)=>nt(s,t,e)),(()=>kt(s))),nt=(e,t,s,l)=>ve(l?s:ct(s,e,t),((l,n)=>R(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>kt(e,t))),at=(t,s,l,n)=>e?R(U(U(Je,t),l),(e=>Te(n)!=e[r]?kt(t,s,l,n,e[o]):n),(()=>kt(t,s,l,n))):m(Te(n))?kt(t,s,l,n):n,rt=(e,t)=>ve(t?e:it(e),((t,s)=>R(ot(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),ot=(e,t)=>s?R(U(pe,e),(s=>Te(t)!=s[r]?At(e,t,s[o]):t),(()=>At(e,t))):m(Te(t))?At(e,t):t,ct=(e,t,s)=>(R(U(Le,t),(([l,n])=>{G(l,((t,s)=>{P(e,s)||(e[s]=t)})),G(n,(l=>{P(e,l)||kt(t,s,l)}))})),e),it=e=>(s&&(G(Ee,((t,s)=>{P(e,s)||(e[s]=t)})),G(Fe,(t=>{P(e,t)||At(t)}))),e),dt=e=>_(Je,e,((e,t,s)=>{const l=K(),n=oe();_(Z(Je,t,K),s,((e,t,s)=>{Y(e,t,s),R(s[o],(e=>Y(l,t,e)),(()=>ce(n,t)))})),Y(Le,t,[l,n])}),((e,t)=>{Y(Je,t),Y(Le,t)})),ut=e=>_(pe,e,((e,t,s)=>{Y(pe,t,s),R(s[o],(e=>Y(Ee,t,e)),(()=>ce(Fe,t)))}),((e,t)=>{Y(pe,t),Y(Ee,t),H(Fe,t)})),ht=e=>D(e)?rs():ts(e),gt=e=>_(ke,e,((e,t,s)=>ft(t,s)),((e,t)=>mt(t))),ft=(e,t)=>_(Z(ke,e,(()=>(Lt(e,1),Y(ze,e,de()),Y(Oe,e,K()),K()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>Rt(e,t,s))),Tt=(e,t,s,l,n)=>_(Z(t,s,(()=>(pt(e,s,1),K()))),l,((t,l,n)=>Vt(e,s,t,l,n)),((l,a)=>yt(e,t,s,l,a,n))),Vt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=U(s,l);n!==a&&(Ft(e,t,l,a,n),Y(s,l,n))},bt=(e,t,s,l,n)=>R(U(t,s),(t=>Vt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>_(Ae,e,((e,t,s)=>vt(t,s)),((e,t)=>Jt(t))),vt=(e,t)=>{$(Ae,e)||zt(e,1);const s=U(Ae,e);t!==s&&(Ot(e,s,t),Y(Ae,e,t))},wt=(e,t)=>{const[s]=U(ze,e),l=s(t);return $(U(ke,e),l)?wt(e,t):l},It=e=>U(ke,e)??ft(e,{}),mt=e=>ft(e,{}),Rt=(e,t,s)=>{const[,l]=U(ze,e);l(s),Tt(e,t,s,{},!0)},yt=(e,t,s,l,n,a)=>{const r=U(U(Le,e)?.[0],n);if(!m(r)&&!a)return Vt(e,s,l,n,r);const o=t=>{Ft(e,s,t,U(l,t)),Et(e,s,t,-1),Y(l,t)};m(r)?o(n):X(l,o),q(l)&&(pt(e,s,-1),q(Y(t,s))&&(Lt(e,-1),Y(ke,e),Y(ze,e),Y(Oe,e)))},Jt=e=>{const t=U(Ee,e);if(!m(t))return vt(e,t);Ot(e,U(Ae,e)),zt(e,-1),Y(Ae,e)},Lt=(e,t)=>we(w,e,t),pt=(e,t,s)=>we(Z(k,e,K),t,s)&&Y(O,e,Z(O,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=U(Oe,e),a=U(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&we(Z(I,e,K),s,l),Y(n,s,a!=-l?a+l:null),we(Z(Z(A,e,K),t,K),s,l)},Ft=(e,t,s,l,n)=>Z(Z(Z(N,e,K),t,K),s,(()=>[l,0]))[1]=n,zt=(e,t)=>we(ie,e,t),Ot=(e,t,s)=>Z(me,e,(()=>[t,0]))[1]=s,kt=(e,t,s,l,n)=>(z(Z(Z(Z(Re,e,K),t,K),s,(()=>[])),l),n),At=(e,t,s)=>(z(Z(ye,e,(()=>[])),t),s),Mt=(e,t,s)=>R(U(U(U(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Yt(e,t,s))])),Nt=e=>R(U(me,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(es(e))])),Pt=e=>q(Re)||q(Ge[e])?0:G(e?ae(Re):Re,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),jt=e=>q(ye)||q(He[e])?0:G(e?le(ye):ye,((t,s)=>_e(He[e],[s],t))),xt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>ee(t))),1},Dt=e=>{const t=q(We[e]),s=q(qe[e])&&q(je[e])&&q(xe[e])&&q(De[e])&&t&&q(Ne[e]),l=q(Be[e])&&q($e[e])&&q(Pe[e])&&q(Me[e]);if(!s||!l){const n=e?[le(w),ne(I),le(O),ne(k),ae(A),ae(N)]:[w,I,O,k,A,N];if(!s){xt(Ne[e],n[0]),G(n[1],((t,s)=>xt(je[e],t,[s]))),G(n[2],((t,s)=>{0!=t&&_e(xe[e],[s],Kt(s))}));const s=oe();G(n[3],((l,n)=>{xt(De[e],l,[n])&&!t&&(_e(We[e],[n,null]),ce(s,n))})),t||G(n[5],((t,l)=>{if(!$(s,l)){const s=oe();G(t,(e=>G(e,(([t,l],n)=>l!==t?ce(s,n):H(e,n))))),G(s,(t=>_e(We[e],[l,t])))}})),G(n[4],((t,s)=>G(t,((t,l)=>xt(qe[e],t,[s,l])))))}if(!l){let t;G(n[5],((s,l)=>{let n;G(s,((s,a)=>{let r;G(s,(([s,o],c)=>{o!==s&&(_e(Be[e],[l,a,c],o,s,Mt),t=n=r=1)})),r&&_e($e[e],[l,a],Mt)})),n&&_e(Pe[e],[l],Mt)})),t&&_e(Me[e],void 0,Mt)}}},Wt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[le(ie),le(me)]:[ie,me];if(t||xt(Qe[e],l[0]),!s){let t;G(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,Nt),t=1)})),t&&_e(Ke[e],void 0,Nt)}}},$t=(e,...t)=>(hs((()=>e(...p(t,v)))),Ts),qt=()=>[ee(N,((e,t)=>-1===U(w,t)?null:ee(e,((e,s)=>-1===U(U(k,t),s)?null:ee(e,(([,e])=>e??null),((e,t)=>fe(t)))),D)),D),ee(me,(([,e])=>e??null),((e,t)=>fe(t)))],Bt=()=>({cellsTouched:l,valuesTouched:a,changedCells:se(N,ge,fe),invalidCells:se(Re),changedValues:ee(me,ge,fe),invalidValues:ee(ye),changedTableIds:ee(w),changedRowIds:te(k),changedCellIds:se(A),changedValueIds:ee(ie)}),Gt=()=>se(ke),Ht=()=>Q(ke),Kt=e=>W(U(ke,v(e))),Qt=e=>Q(U(ke,v(e))),Ut=(e,t,s,l=0,n)=>{return p(F((r=U(ke,v(e)),o=(e,s)=>[m(t)?s:U(e,v(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),p([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,m(n)?n:l+n),(([,e])=>e));var a,r,o},Xt=(e,t)=>Q(U(U(ke,v(e)),v(t))),Yt=(e,t,s)=>U(U(U(ke,v(e)),v(t)),v(s)),Zt=()=>ee(Ae),_t=()=>Q(Ae),es=e=>U(Ae,v(e)),ts=e=>$t((()=>(e=>ve(e,lt,kt))(e)?gt(e):0)),ss=e=>$t((()=>rt(e)?St(e):0)),ls=e=>{try{ht(Se(e))}catch{}return Ts},ns=t=>$t((()=>{if((e=ve(t,(e=>ve(e,st))))&&(dt(t),!q(ke))){const e=Gt();rs(),ts(e)}})),as=e=>$t((()=>{if(s=(e=>ve(e,st))(e)){const t=Zt();us(),is(),s=!0,ut(e),ss(t)}})),rs=()=>$t((()=>gt({}))),os=e=>$t((e=>$(ke,e)?mt(e):0),e),cs=(e,t)=>$t(((e,t)=>R(U(ke,e),(s=>$(s,t)?Rt(e,s,t):0))),e,t),is=()=>$t((()=>St({}))),ds=()=>$t((()=>{dt({}),e=!1})),us=()=>$t((()=>{ut({}),s=!1})),hs=(e,t)=>{if(-1!=c){gs();const s=e();return fs(t),s}},gs=()=>(-1!=c&&c++,1==c&&_e(Xe,void 0,qt,Bt),Ts),fs=e=>(c>0&&(c--,0==c&&(l=!q(N),a=!q(me),c=1,Pt(1),l&&Dt(1),jt(1),a&&Wt(1),e?.(qt,Bt)&&(G(N,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),G(me,(([e],t)=>be(Ts,t,e))),l=a=!1),_e(Ye[0],void 0,qt,Bt),c=-1,Pt(0),l&&Dt(0),jt(0),a&&Wt(0),_e(Ye[1],void 0,qt,Bt),c=0,l=a=!1,L([w,I,O,k,A,N,Re,ie,me,ye],B))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>te(U(ke,v(e))),getTableCellIds:e=>Q(U(Oe,v(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>ee(U(U(ke,v(e)),v(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(ke),hasTable:e=>$(ke,v(e)),hasTableCell:(e,t)=>$(U(Oe,v(e)),v(t)),hasRow:(e,t)=>$(U(ke,v(e)),v(t)),hasCell:(e,t,s)=>$(U(U(ke,v(e)),v(t)),v(s)),hasValues:()=>!q(Ae),hasValue:e=>$(Ae,v(e)),getTablesJson:()=>Ce(ke),getValuesJson:()=>Ce(Ae),getJson:()=>Ce([ke,Ae]),getTablesSchemaJson:()=>Ce(Je),getValuesSchemaJson:()=>Ce(pe),getSchemaJson:()=>Ce([Je,pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>$t((()=>{(D(e)?rs:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>$t((e=>lt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>$t(((e,t)=>nt(e,t,s)?Tt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=v(e),Tt(e,It(e),l=wt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>$t(((e,t)=>{if(nt(e,t,s,1)){const l=It(e);x(s,((s,n)=>bt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>$t(((e,t,s)=>R(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>bt(e,It(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>$t((()=>rt(e,1)?x(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>$t((e=>R(ot(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>$t((()=>{x(e[0],((e,t)=>m(e)?os(t):x(e,((e,s)=>m(e)?cs(t,s):x(e,((e,l)=>Ve(Ts,t,s,l,e))))))),x(e[1],((e,t)=>be(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(Se(e))}catch{}return Ts},setJson:e=>{try{const[t,s]=Se(e);ht(t),Ct(s)}catch{ls(e)}return Ts},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>$t((()=>{ns(e),as(t)})),delTables:rs,delTable:os,delRow:cs,delCell:(e,t,s,l)=>$t(((e,t,s)=>R(U(ke,e),(n=>R(U(n,t),(a=>$(a,s)?yt(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>$t((e=>$(Ae,e)?Jt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>$t((()=>{ds(),us()})),transaction:hs,startTransaction:gs,finishTransaction:fs,forEachTable:e=>G(ke,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachTableCell:(e,t)=>X(U(Oe,v(e)),t),forEachRow:(e,t)=>G(U(ke,v(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(ke,v(e)),v(t)),s),forEachValue:e=>X(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=Ut(e,t,s,l,n);return Ze((()=>{const r=Ut(e,t,s,l,n);var c,i,d;i=o,E(c=r)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(Ts,e,t,s,l,n,o))}),We[r?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:Ie,addListener:Ze,callListeners:_e};return x({[d]:[0,Me],[u]:[0,Ne],[i]:[1,Pe,[Ht]],[i+V]:[1,je,[Ht]],[g]:[1,xe,[Ht]],[f]:[1,De,[Ht]],[h]:[2,$e,[Ht,Qt]],[V]:[2,qe,[Ht,Qt]],[T]:[3,Be,[Ht,Qt,Xt],e=>ue(Yt(...e))],InvalidCell:[3,Ge],[C]:[0,Ke],[S]:[0,Qe],[b]:[1,Ue,[_t],e=>ue(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?F(n,0,e):void 0,s,l)})),M(Ts)};export{Ie as createStore};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),l=e(!0),n=e(0),a=e(e),r="type",o="default",c="Ids",i="Table",d=i+"s",u=i+c,h="Row",g=h+"Count",f=h+c,T="Cell",V=T+c,b="Value",C=b+"s",S=b+c,v=e=>t+e,w=isFinite,I=(e,t)=>e instanceof t,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),y=e=>e==s||e==l,J=t=>e(t)==a,L=(e,t)=>e.forEach(t),p=(e,t)=>e.map(t),E=e=>e.length,F=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,k=O.keys,A=O.isFrozen,M=O.freeze,N=e=>I(e,O)&&e.constructor==O,P=(e,t)=>!m(((e,t)=>R(e,(e=>e[t])))(e,t)),j=(e,t)=>(delete e[t],e),x=(e,t)=>p(O.entries(e),(([e,s])=>t(s,e))),D=e=>N(e)&&0==(e=>E(k(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>m(e)||0==W(e),B=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>m(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>($(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s,l=Y)=>(x(t,((t,l)=>s(e,l,t))),X(e,(s=>P(t,s)?0:l(e,s))),e),ee=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},te=(e,t,s)=>ee(e,(e=>ee(e,t,s)),D),se=(e,t,s)=>ee(e,(e=>te(e,t,s)),D),le=(e,t)=>{const s=K();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ne=e=>le(e,le),ae=e=>le(e,ne),re=(e,t,s,l,n=0)=>R((s?Z:U)(e,t[n],n>E(t)-2?s:K),(a=>{if(n>E(t)-2)return l?.(a)&&Y(e,t[n]),a;const r=re(a,t,s,l,n+1);return q(a)&&Y(e,t[n]),r})),oe=e=>new Set(Array.isArray(e)||m(e)?e:[e]),ce=(e,t)=>e?.add(t),ie=/^\d+$/,de=()=>{const e=[];let s=0;return[l=>(l?e.shift():null)??t+s++,t=>{ie.test(t)&&E(e)<1e3&&z(e,t)}]},ue=e=>[e,e],he=()=>[K(),K()],ge=e=>[...e],fe=([e,t])=>e===t,Te=t=>{const s=e(t);return y(s)||s==n&&w(t)?s:void 0},Ve=(e,t,s,l,n)=>m(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),be=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),Ce=e=>JSON.stringify(e,((e,t)=>I(t,Map)?O.fromEntries([...t]):t)),Se=JSON.parse,ve=(e,t,s)=>m(e)||!N(e)||D(e)||A(e)?(s?.(),!1):(x(e,((s,l)=>{t(s,l)||j(e,l)})),!D(e)),we=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),Ie=()=>{let e,s,l=!1,a=!1,c=0;const w=K(),I=K(),O=K(),k=K(),A=K(),N=K(),ie=K(),me=K(),Re=K(),ye=K(),Je=K(),Le=K(),pe=K(),Ee=K(),Fe=oe(),ze=K(),Oe=K(),ke=K(),Ae=K(),Me=he(),Ne=he(),Pe=he(),je=he(),xe=he(),De=he(),We=he(),$e=he(),qe=he(),Be=he(),Ge=he(),He=he(),Ke=he(),Qe=he(),Ue=he(),Xe=K(),Ye=he(),[Ze,_e,et,tt]=(e=>{let s;const[l,n]=de(),a=K();return[(e,n,r,o=[],c=(()=>[]))=>{s??=Ts;const i=l(1);return Y(a,i,[e,n,r,o,c]),ce(re(n,r??[t],oe),i),i},(e,l,...n)=>L(((e,s=[t])=>{const l=[],n=(e,t)=>t==E(s)?z(l,e):null===s[t]?G(e,(e=>n(e,t+1))):L([s[t],null],(s=>n(U(e,s),t+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>U(a,e)[0](s,...l??[],...n))))),e=>R(U(a,e),(([,s,l])=>(re(s,l??[t],void 0,(t=>(H(t,e),q(t)?1:0))),Y(a,e),n(e),l))),e=>R(U(a,e),(([e,,t=[],l,n])=>{const a=(...r)=>{const o=E(r);o==E(t)?e(s,...r,...n(r)):m(t[o])?L(l[o]?.(...r)??[],(e=>a(...r,e))):a(...r,t[o])};a()}))]})(),st=e=>{if(!ve(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!y(t)&&t!=n||(Te(e[o])!=t&&j(e,o),0))},lt=(t,s)=>(!e||$(Je,s)||kt(s))&&ve(t,((e,t)=>nt(s,t,e)),(()=>kt(s))),nt=(e,t,s,l)=>ve(l?s:ct(s,e,t),((l,n)=>R(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>kt(e,t))),at=(t,s,l,n)=>e?R(U(U(Je,t),l),(e=>Te(n)!=e[r]?kt(t,s,l,n,e[o]):n),(()=>kt(t,s,l,n))):m(Te(n))?kt(t,s,l,n):n,rt=(e,t)=>ve(t?e:it(e),((t,s)=>R(ot(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),ot=(e,t)=>s?R(U(pe,e),(s=>Te(t)!=s[r]?At(e,t,s[o]):t),(()=>At(e,t))):m(Te(t))?At(e,t):t,ct=(e,t,s)=>(R(U(Le,t),(([l,n])=>{G(l,((t,s)=>{P(e,s)||(e[s]=t)})),G(n,(l=>{P(e,l)||kt(t,s,l)}))})),e),it=e=>(s&&(G(Ee,((t,s)=>{P(e,s)||(e[s]=t)})),G(Fe,(t=>{P(e,t)||At(t)}))),e),dt=e=>_(Je,e,((e,t,s)=>{const l=K(),n=oe();_(Z(Je,t,K),s,((e,t,s)=>{Y(e,t,s),R(s[o],(e=>Y(l,t,e)),(()=>ce(n,t)))})),Y(Le,t,[l,n])}),((e,t)=>{Y(Je,t),Y(Le,t)})),ut=e=>_(pe,e,((e,t,s)=>{Y(pe,t,s),R(s[o],(e=>Y(Ee,t,e)),(()=>ce(Fe,t)))}),((e,t)=>{Y(pe,t),Y(Ee,t),H(Fe,t)})),ht=e=>D(e)?rs():ts(e),gt=e=>_(ke,e,((e,t,s)=>ft(t,s)),((e,t)=>mt(t))),ft=(e,t)=>_(Z(ke,e,(()=>(Lt(e,1),Y(ze,e,de()),Y(Oe,e,K()),K()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>Rt(e,t,s))),Tt=(e,t,s,l,n)=>_(Z(t,s,(()=>(pt(e,s,1),K()))),l,((t,l,n)=>Vt(e,s,t,l,n)),((l,a)=>yt(e,t,s,l,a,n))),Vt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=U(s,l);n!==a&&(Ft(e,t,l,a,n),Y(s,l,n))},bt=(e,t,s,l,n)=>R(U(t,s),(t=>Vt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>_(Ae,e,((e,t,s)=>vt(t,s)),((e,t)=>Jt(t))),vt=(e,t)=>{$(Ae,e)||zt(e,1);const s=U(Ae,e);t!==s&&(Ot(e,s,t),Y(Ae,e,t))},wt=(e,t)=>{const[s]=U(ze,e),l=s(t);return $(U(ke,e),l)?wt(e,t):l},It=e=>U(ke,e)??ft(e,{}),mt=e=>ft(e,{}),Rt=(e,t,s)=>{const[,l]=U(ze,e);l(s),Tt(e,t,s,{},!0)},yt=(e,t,s,l,n,a)=>{const r=U(U(Le,e)?.[0],n);if(!m(r)&&!a)return Vt(e,s,l,n,r);const o=t=>{Ft(e,s,t,U(l,t)),Et(e,s,t,-1),Y(l,t)};m(r)?o(n):X(l,o),q(l)&&(pt(e,s,-1),q(Y(t,s))&&(Lt(e,-1),Y(ke,e),Y(ze,e),Y(Oe,e)))},Jt=e=>{const t=U(Ee,e);if(!m(t))return vt(e,t);Ot(e,U(Ae,e)),zt(e,-1),Y(Ae,e)},Lt=(e,t)=>we(w,e,t),pt=(e,t,s)=>we(Z(k,e,K),t,s)&&Y(O,e,Z(O,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=U(Oe,e),a=U(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&we(Z(I,e,K),s,l),Y(n,s,a!=-l?a+l:null),we(Z(Z(A,e,K),t,K),s,l)},Ft=(e,t,s,l,n)=>Z(Z(Z(N,e,K),t,K),s,(()=>[l,0]))[1]=n,zt=(e,t)=>we(ie,e,t),Ot=(e,t,s)=>Z(me,e,(()=>[t,0]))[1]=s,kt=(e,t,s,l,n)=>(z(Z(Z(Z(Re,e,K),t,K),s,(()=>[])),l),n),At=(e,t,s)=>(z(Z(ye,e,(()=>[])),t),s),Mt=(e,t,s)=>R(U(U(U(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Yt(e,t,s))])),Nt=e=>R(U(me,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(es(e))])),Pt=e=>q(Re)||q(Ge[e])?0:G(e?ae(Re):Re,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),jt=e=>q(ye)||q(He[e])?0:G(e?le(ye):ye,((t,s)=>_e(He[e],[s],t))),xt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>ee(t))),1},Dt=e=>{const t=q(We[e]),s=q(qe[e])&&q(je[e])&&q(xe[e])&&q(De[e])&&t&&q(Ne[e]),l=q(Be[e])&&q($e[e])&&q(Pe[e])&&q(Me[e]);if(!s||!l){const n=e?[le(w),ne(I),le(O),ne(k),ae(A),ae(N)]:[w,I,O,k,A,N];if(!s){xt(Ne[e],n[0]),G(n[1],((t,s)=>xt(je[e],t,[s]))),G(n[2],((t,s)=>{0!=t&&_e(xe[e],[s],Kt(s))}));const s=oe();G(n[3],((l,n)=>{xt(De[e],l,[n])&&!t&&(_e(We[e],[n,null]),ce(s,n))})),t||G(n[5],((t,l)=>{if(!$(s,l)){const s=oe();G(t,(e=>G(e,(([t,l],n)=>l!==t?ce(s,n):H(e,n))))),G(s,(t=>_e(We[e],[l,t])))}})),G(n[4],((t,s)=>G(t,((t,l)=>xt(qe[e],t,[s,l])))))}if(!l){let t;G(n[5],((s,l)=>{let n;G(s,((s,a)=>{let r;G(s,(([s,o],c)=>{o!==s&&(_e(Be[e],[l,a,c],o,s,Mt),t=n=r=1)})),r&&_e($e[e],[l,a],Mt)})),n&&_e(Pe[e],[l],Mt)})),t&&_e(Me[e],void 0,Mt)}}},Wt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[le(ie),le(me)]:[ie,me];if(t||xt(Qe[e],l[0]),!s){let t;G(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,Nt),t=1)})),t&&_e(Ke[e],void 0,Nt)}}},$t=(e,...t)=>(hs((()=>e(...p(t,v)))),Ts),qt=()=>[ee(N,((e,t)=>-1===U(w,t)?null:ee(e,((e,s)=>-1===U(U(k,t),s)?null:ee(e,(([,e])=>e??null),((e,t)=>fe(t)))),D)),D),ee(me,(([,e])=>e??null),((e,t)=>fe(t)))],Bt=()=>({cellsTouched:l,valuesTouched:a,changedCells:se(N,ge,fe),invalidCells:se(Re),changedValues:ee(me,ge,fe),invalidValues:ee(ye),changedTableIds:ee(w),changedRowIds:te(k),changedCellIds:se(A),changedValueIds:ee(ie)}),Gt=()=>se(ke),Ht=()=>Q(ke),Kt=e=>W(U(ke,v(e))),Qt=e=>Q(U(ke,v(e))),Ut=(e,t,s,l=0,n)=>{return p(F((r=U(ke,v(e)),o=(e,s)=>[m(t)?s:U(e,v(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),p([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),l,m(n)?n:l+n),(([,e])=>e));var a,r,o},Xt=(e,t)=>Q(U(U(ke,v(e)),v(t))),Yt=(e,t,s)=>U(U(U(ke,v(e)),v(t)),v(s)),Zt=()=>ee(Ae),_t=()=>Q(Ae),es=e=>U(Ae,v(e)),ts=e=>$t((()=>(e=>ve(e,lt,kt))(e)?gt(e):0)),ss=e=>$t((()=>rt(e)?St(e):0)),ls=e=>{try{ht(Se(e))}catch{}return Ts},ns=t=>$t((()=>{if((e=ve(t,(e=>ve(e,st))))&&(dt(t),!q(ke))){const e=Gt();rs(),ts(e)}})),as=e=>$t((()=>{if(s=(e=>ve(e,st))(e)){const t=Zt();us(),is(),s=!0,ut(e),ss(t)}})),rs=()=>$t((()=>gt({}))),os=e=>$t((e=>$(ke,e)?mt(e):0),e),cs=(e,t)=>$t(((e,t)=>R(U(ke,e),(s=>$(s,t)?Rt(e,s,t):0))),e,t),is=()=>$t((()=>St({}))),ds=()=>$t((()=>{dt({}),e=!1})),us=()=>$t((()=>{ut({}),s=!1})),hs=(e,t)=>{if(-1!=c){gs();const s=e();return fs(t),s}},gs=()=>(-1!=c&&c++,1==c&&_e(Xe,void 0,qt,Bt),Ts),fs=e=>(c>0&&(c--,0==c&&(l=!q(N),a=!q(me),c=1,Pt(1),l&&Dt(1),jt(1),a&&Wt(1),e?.(qt,Bt)&&(G(N,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),G(me,(([e],t)=>be(Ts,t,e))),l=a=!1),_e(Ye[0],void 0,qt,Bt),c=-1,Pt(0),l&&Dt(0),jt(0),a&&Wt(0),_e(Ye[1],void 0,qt,Bt),c=0,l=a=!1,L([w,I,O,k,A,N,Re,ie,me,ye],B))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>te(U(ke,v(e))),getTableCellIds:e=>Q(U(Oe,v(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>ee(U(U(ke,v(e)),v(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(ke),hasTable:e=>$(ke,v(e)),hasTableCell:(e,t)=>$(U(Oe,v(e)),v(t)),hasRow:(e,t)=>$(U(ke,v(e)),v(t)),hasCell:(e,t,s)=>$(U(U(ke,v(e)),v(t)),v(s)),hasValues:()=>!q(Ae),hasValue:e=>$(Ae,v(e)),getTablesJson:()=>Ce(ke),getValuesJson:()=>Ce(Ae),getJson:()=>Ce([ke,Ae]),getTablesSchemaJson:()=>Ce(Je),getValuesSchemaJson:()=>Ce(pe),getSchemaJson:()=>Ce([Je,pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:([e,t])=>$t((()=>{(D(e)?rs:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>$t((e=>lt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>$t(((e,t)=>nt(e,t,s)?Tt(e,It(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=v(e),Tt(e,It(e),l=wt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>$t(((e,t)=>{if(nt(e,t,s,1)){const l=It(e);x(s,((s,n)=>bt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>$t(((e,t,s)=>R(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>bt(e,It(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>$t((()=>rt(e,1)?x(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>$t((e=>R(ot(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>$t((()=>{x(e[0],((e,t)=>m(e)?os(t):x(e,((e,s)=>m(e)?cs(t,s):x(e,((e,l)=>Ve(Ts,t,s,l,e))))))),x(e[1],((e,t)=>be(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(Se(e))}catch{}return Ts},setJson:e=>$t((()=>{try{const[t,s]=Se(e);ht(t),Ct(s)}catch{ls(e)}})),setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>$t((()=>{ns(e),as(t)})),delTables:rs,delTable:os,delRow:cs,delCell:(e,t,s,l)=>$t(((e,t,s)=>R(U(ke,e),(n=>R(U(n,t),(a=>$(a,s)?yt(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>$t((e=>$(Ae,e)?Jt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>$t((()=>{ds(),us()})),transaction:hs,startTransaction:gs,finishTransaction:fs,forEachTable:e=>G(ke,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachTableCell:(e,t)=>X(U(Oe,v(e)),t),forEachRow:(e,t)=>G(U(ke,v(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(ke,v(e)),v(t)),s),forEachValue:e=>X(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=Ut(e,t,s,l,n);return Ze((()=>{const r=Ut(e,t,s,l,n);var c,i,d;i=o,E(c=r)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(Ts,e,t,s,l,n,o))}),We[r?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:Ie,addListener:Ze,callListeners:_e};return x({[d]:[0,Me],[u]:[0,Ne],[i]:[1,Pe,[Ht]],[i+V]:[1,je,[Ht]],[g]:[1,xe,[Ht]],[f]:[1,De,[Ht]],[h]:[2,$e,[Ht,Qt]],[V]:[2,qe,[Ht,Qt]],[T]:[3,Be,[Ht,Qt,Xt],e=>ue(Yt(...e))],InvalidCell:[3,Ge],[C]:[0,Ke],[S]:[0,Qe],[b]:[1,Ue,[_t],e=>ue(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?F(n,0,e):void 0,s,l)})),M(Ts)};export{Ie as createStore};
|
package/lib/store.js.gz
CHANGED
|
Binary file
|
package/lib/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",I=L+u,S="Sorted"+L+u,R="Cell",v=R+u,T="Value",y=T+"s",C=T+u,p=e=>t+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),D=e=>e==s||e==n,J=t=>e(t)==o,A=e=>Array.isArray(e),x=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>B(e)===B(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),P=(e,t)=>e.map(t),W=e=>q(e,((e,t)=>e+t),0),B=e=>e.length,$=e=>0==B(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>P(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>B(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>k(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>k(s)?(ue(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(re(e,t)||we(e,t,s()),fe(e,t)),Se=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ae),Te=(e,t,s)=>Re(e,(e=>ve(e,t,s)),ae),ye=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>ye(e,ye),pe=e=>ye(e,Ce),be=(e,t,s,n,a=0)=>M((s?Ie:fe)(e,t[a],a>B(t)-2?s:he),(o=>{if(a>B(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=t=>{const s=e(t);return D(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(A(e)||k(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=he(),l=he(),i=he(),c=he(),d=he(),u=he(),h=(t,s,...n)=>{const a=Ie(u,t,ke);return j(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>M(fe(u,t),(n=>{j($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(u,t)})),f=(e,s)=>{we(r,e,s),re(l,e)||(we(l,e,t()),we(c,e,he()),we(d,e,he()),a(i))},L=e=>{we(r,e),we(l,e),we(c,e),we(d,e),g(e),a(i)};return[()=>e,()=>ge(r),e=>Le(l,e),e=>re(l,e),e=>fe(r,e),e=>fe(l,e),(e,t)=>we(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=he(),u=he(),L=fe(c,t),w=fe(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=fe(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&z(c,d)||we(i,t,[c,d]),!k(l)){const e=fe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&we(u,t,s)}},S=e=>{a((()=>{de(i,(([,e],t)=>we(L,t,e))),de(u,((e,t)=>we(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};Le(L,I),e.hasTable(n)&&j(e.getRowIds(n),(e=>{re(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,i),()=>Le(u,L),h,g]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},xe=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{xe.test(t)&&B(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),Me(be(r,l??[t],ke),d),d},(e,n,...a)=>j(((e,s=[t])=>{const n=[],a=(e,t)=>t==B(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):j([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>M(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>M(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=B(r);l==B(t)?e(s,...r,...a(r)):k(t[l])?j(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Ae((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>Q)),f=he(),L=he(),w=[],I=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{we(f,e),we(L,e),h(d,[e])},v=(e,t)=>j(((e,t)=>e.splice(0,t))(e,t??B(e)),R),T=()=>v(w,B(w)-o),y=()=>M(s,(()=>{H(w,s),T(),v(I),s=void 0,a=1})),C=()=>{s=K(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){y();const e=Ie(r,t,he),l=Ie(e,s,he),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&C(),D()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&C(),D()}})),V=(e="")=>(k(s)&&(s=t+n++,we(f,s,[r,l]),A(s,e),r=he(),l=he(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),S(0,s),s=K(w),a=1)},E=()=>{$(I)||(H(w,s),s=U(I),S(1,s),a=1)},D=()=>{a&&(h(c),a=0)},J=e=>{const t=V(e);return D(),t},A=(e,t)=>(x(e)&&fe(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),x=e=>re(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:x,getCheckpoint:e=>fe(L,e),goBackward:()=>(m(),D(),Q),goForward:()=>(E(),D(),Q),goTo:e=>{const t=F(w,e)?m:F(I,e)?E:null;for(;!k(t)&&e!=s;)t();return D(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(v(w),v(I),k(s)||R(s),s=void 0,n=0,J(),Q),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const s=he(),n=he(),[a,o,r]=Qe((()=>R)),[l,i,c,d,u,h,g,,f,L,w,I]=De(e,he,(e=>k(e)?t:A(e)?P(e,p):p(e)),a,o),S=(t,s,n)=>{const a=u(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},R={setIndexDefinition:(e,t,a,r,l,i=Ne)=>{const c=k(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=ke(),I=ke(),S=h(e);if(de(a,(([e,t],s)=>{const n=ke(e),a=ke(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{Me(w,e),M(fe(S,e),(t=>{ue(t,s),le(t)&&(we(S,e),L=1)}))})),de(a,(e=>{Me(w,e),re(S,e)||(we(S,e,ke()),L=1),Me(fe(S,e),s),k(r)||Me(I,e)}))})),t(),le(u)||(f?Le(S,(e=>Me(I,e))):Le(l,(e=>M(fe(d,e),(e=>Me(I,e))))),de(I,(e=>{const t=(t,s)=>i(fe(u,t),fe(u,s),e),s=[...fe(S,e)];N(s,t)||(we(S,e,ke(O(s,t))),Me(w,e))}))),(L||f)&&!k(c)){const t=[...S];N(t,c)||(g(e,he(O(t,c))),L=1)}L&&o(s,[e]),de(w,(t=>o(n,[e,t])))}),Je(a),M(r,Je)),R},delIndexDefinition:e=>(L(e),R),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>re(h(e),t),getTableId:u,getSliceIds:e=>ge(h(e)),getSliceRowIds:(e,t)=>ie(fe(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),R),destroy:I,getListenerStats:()=>({})};return _(R)})),je=he([["avg",[(e,t)=>W(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=k(e),de(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ie(s),oe(s)):e},We=Ae((e=>{const s=he(),[n,a,o]=Qe((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=De(e,x,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=J(n)?[n,r,l,i]:fe(je,n)??fe(je,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=oe(r);i||=k(d),t();let f=Pe(d,g,r,n,c,i);m(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return _(I)})),Be=he(),$e=he(),qe=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Ie(Be,r,(()=>0)),Ie($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(M(l,e.delListener),g),schedule:async(...e)=>(H(fe($e,r),...e),await(async()=>{if(!fe(Be,r)){for(we(Be,r,1);!k(i=U(fe($e,r)));)try{await i()}catch(e){o?.(e)}we(Be,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},Ge=Ae((e=>{const s=e.createStore,n=s(),a=s(),o=he(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,T,y,C,,,p,,b,V,m,E,D]=De(e,(()=>!0),x,r,l),A=(e,t,...s)=>j(s,(s=>Me(Ie(Ie(o,t,he),e,ke),s))),F=e=>{M(fe(o,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),j([a,n],(t=>t.delTable(e)))},z=(e,t,s)=>A(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(s,o,r)=>{p(s,o),F(s);const l=[],i=[[null,[o,null,null,[],he()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=J(e)?[B(l)+t,e]:[k(s)?e:s,t=>t(e,s)];return H(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||J(t)?null:t,a=k(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],he()]];return H(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(c,J(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:fe(je,t)??[(e,t)=>t]]];return H(d,o),{as:e=>o[0]=e}},having:(e,t)=>H(u,J(e)?e:s=>s(e)===t)});const h=he(l);if(le(h))return N;const g=he(i);Le(g,((e,[,t])=>M(fe(g,t),(({3:t})=>k(e)?0:H(t,e)))));const f=he(d);let L=n;if(le(f)&&$(u))L=a;else{z(s,L,a);const e=he();Le(f,((t,[s,n])=>Me(Ie(e,s,ke),[t,n])));const t=ke();Le(h,(s=>re(e,s)?0:Me(t,s)));const n=he(),o=(t,n,o,r)=>M(t,(([l,i,c,d])=>{Le(n,((t,[s])=>{const n=Ie(l,t,he),a=fe(n,o),i=r?void 0:s;if(a!==i){const s=ke([[a,i]]),r=oe(n);we(n,o,i),de(fe(e,t),(([e,t])=>{const a=Pe(d[e],r,n,s,t);d[e]=k(Ve(a))?null:a}))}})),le(i)||!Q(u,(e=>e((e=>d[e]))))?a.delRow(s,c):k(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));A(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=he(),h=L.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),Le(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&we(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=L.getCell(s,l,t))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}z(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);j(r,(n=>{const[a,,o,r,i]=fe(g,n),c=o?.(l,t),[d,u]=fe(i,t)??[];c!=d&&(k(u)||D(s,u),we(i,t,k(c)?null:[c,...E(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...k(n)?[o,t,s]:s===o?[o,t,n]:[fe(g,s)?.[0],fe(fe(g,s)?.[4],t)?.[0],n]);L.transaction((()=>Q(c,(e=>e(n)))?Le(h,((e,a)=>me(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=fe(g,null);return L.transaction((()=>E(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),de(g,(({4:e})=>M(fe(e,a),(([,t])=>{D(s,t),we(e,a)})))))}))))),N},delQueryDefinition:e=>(F(e),b(e),N),getStore:g,getQueryIds:f,forEachQuery:T,hasQuery:y,getTableId:C,addQueryIdsListener:e=>V((()=>e(N))),delListener:e=>(u(e),N),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ne({[h]:[1,1],[h+v]:[0,1],[w]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{j(e?["get","has","forEach"]:["get"],(e=>N[e+c+s]=(...t)=>a[e+s](...t))),N[d+c+s+i]=(...e)=>a[d+s+i](...G(e,0,t),((s,...n)=>e[t](N,...n)))})),_(N)})),He=Ae((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i]=Qe((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+t),r,l),R=(e,t,s)=>M(f(e),(([n,,a])=>{if(!re(a,t)){const o=ke();if(g(e)!=T(e))Me(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)Me(o,e),e=fe(n,e)}if(s)return o;we(a,t,o)}return fe(a,t)})),v=(e,t)=>M(f(e),(([,,e])=>we(e,t))),T=e=>fe(s,e),y={setRelationshipDefinition:(e,t,r,i)=>(we(s,e,r),L(e,t,((t,s)=>{const r=ke(),i=ke(),c=ke(),[d,u]=f(e);de(s,(([t,s],n)=>{k(t)||(Me(i,t),M(fe(u,t),(e=>{ue(e,n),le(e)&&we(u,t)}))),k(s)||(Me(i,s),re(u,s)||we(u,s,ke()),Me(fe(u,s),n)),Me(r,n),we(d,n,s),Le(fe(o,e),(t=>{re(R(e,t),n)&&Me(c,t)}))})),t(),de(r,(t=>l(n,[e,t]))),de(i,(t=>l(a,[e,t]))),de(c,(t=>{v(e,t),l(o,[e,t])}))}),Je(i)),y),delRelationshipDefinition:e=>(we(s,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:ie(R(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),y),destroy:S,getListenerStats:()=>({})};return _(y)})),Ke=e=>[e,e],Ue=()=>[he(),he()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>k(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),tt=(e,t,s)=>we(e,t,fe(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),S=he(),b=he(),V=he(),m=he(),E=he(),A=he(),x=he(),Q=he(),N=he(),W=he(),B=he(),$=he(),q=ke(),K=he(),U=he(),X=he(),Y=he(),Z=Ue(),ee=Ue(),ie=Ue(),be=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),xe=Ue(),ze=Ue(),Oe=Ue(),je=Ue(),Pe=Ue(),We=Ue(),Be=Ue(),$e=Ue(),qe=he(),Ge=Ue(),[He,nt,at,ot]=Qe((()=>Rs)),rt=e=>{if(!et(e,((e,t)=>F([r,l],t))))return!1;const t=e[r];return!(!D(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(N,s)||zt(s))&&et(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>et(n?s:ht(s,e,t),((n,a)=>M(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?M(fe(fe(N,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):k(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>M(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?M(fe(B,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):k(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(M(fe(W,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de($,((t,s)=>{te(e,s)||(e[s]=t)})),de(q,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Se(N,e,((e,t,s)=>{const n=he(),a=ke();Se(Ie(N,t,he),s,((e,t,s)=>{we(e,t,s),M(s[l],(e=>we(n,t,e)),(()=>Me(a,t)))})),we(W,t,[n,a])}),((e,t)=>{we(N,t),we(W,t)})),Lt=e=>Se(B,e,((e,t,s)=>{we(B,t,s),M(s[l],(e=>we($,t,e)),(()=>Me(q,t)))}),((e,t)=>{we(B,t),we($,t),ue(q,t)})),wt=e=>ae(e)?ds():os(e),It=e=>Se(X,e,((e,t,s)=>St(t,s)),((e,t)=>mt(t))),St=(e,t)=>Se(Ie(X,e,(()=>(Dt(e,1),we(K,e,Fe()),we(U,e,he()),he()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>Et(e,t,s))),Rt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Jt(e,s,1),he()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{re(s,n)||At(e,t,n,1);const o=fe(s,n);a!==o&&(xt(e,t,n,o,a),we(s,n,a))},Tt=(e,t,s,n,a)=>M(fe(t,s),(t=>vt(e,s,t,n,a)),(()=>Rt(e,t,s,ht({[n]:a},e,s)))),yt=e=>ae(e)?gs():rs(e),Ct=e=>Se(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),we(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??St(e,{}),mt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=fe(K,e);n(s),Rt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=fe(fe(W,e)?.[0],a);if(!k(r)&&!o)return vt(e,s,n,a,r);const l=t=>{xt(e,s,t,fe(n,t)),At(e,s,t,-1),we(n,t)};k(r)?l(a):Le(n,l),le(n)&&(Jt(e,s,-1),le(we(t,s))&&(Dt(e,-1),we(X,e),we(K,e),we(U,e)))},Mt=e=>{const t=fe($,e);if(!k(t))return pt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),we(Y,e)},Dt=(e,t)=>tt(c,e,t),Jt=(e,t,s)=>tt(Ie(b,e,he),t,s)&&we(S,e,Ie(S,e,(()=>0))+s),At=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Ie(u,e,he),s,n),we(a,s,o!=-n?o+n:null),tt(Ie(Ie(V,e,he),t,he),s,n)},xt=(e,t,s,n,a)=>Ie(Ie(Ie(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Ie(A,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Ie(Ie(Ie(x,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Ie(Q,e,(()=>[])),t),s),Ot=(e,t,s)=>M(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),jt=e=>M(fe(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(x)||le(je[e])?0:de(e?pe(x):x,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(je[e],[s,n,a],t))))))),Wt=e=>le(Q)||le(Pe[e])?0:de(e?ye(Q):Q,((t,s)=>nt(Pe[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Ae[e]),s=le(ze[e])&&le(be[e])&&le(De[e])&&le(Je[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(xe[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[ye(c),Ce(u),ye(S),Ce(b),pe(V),pe(m)]:[c,u,S,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(De[e],[s],Yt(s))}));const s=ke();de(a[3],((n,a)=>{Bt(Je[e],n,[a])&&!t&&(nt(Ae[e],[a,null]),Me(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=ke();de(t,(e=>de(e,(([t,n],a)=>n!==t?Me(s,a):ue(e,a))))),de(s,(t=>nt(Ae[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(xe[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[ye(E),ye(A)]:[E,A];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,jt),t=1)})),t&&nt(We[e],void 0,jt)}}},Gt=(e,...t)=>(ws((()=>e(...P(t,p)))),Rs),Ht=()=>[Re(m,((e,t)=>-1===fe(c,t)?null:Re(e,((e,s)=>-1===fe(fe(b,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),ae)),ae),Re(A,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,Xe,Ye),invalidCells:Te(x),changedValues:Re(A,Xe,Ye),invalidValues:Re(Q),changedTableIds:Re(c),changedRowIds:ve(b),changedCellIds:Te(V),changedValueIds:Re(E)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,p(e))),Zt=e=>ge(fe(X,p(e))),_t=(e,t,s,n=0,a)=>{return P(G(O((o=fe(X,p(e)),r=(e,s)=>[k(t)?s:fe(e,p(t)),s],P([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,p(e)),p(t))),ts=(e,t,s)=>fe(fe(fe(X,p(e)),p(t)),p(s)),ss=()=>Re(Y),ns=()=>ge(Y),as=e=>fe(Y,p(e)),os=e=>Gt((()=>(e=>et(e,lt,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{wt(_e(e))}catch{}return Rs},is=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>M(fe(X,e),(s=>re(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=o){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=o&&o++,1==o&&nt(qe,void 0,Ht,Kt),Rs),Ss=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(A),o=1,Pt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(Rs,t,s,n,e))))))),de(A,(([e],t)=>Ee(Rs,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),o=-1,Pt(0),s&&$t(0),Wt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),o=0,s=n=!1,j([c,u,S,b,V,m,x,E,A,Q],ce))),Rs),Rs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(fe(X,p(e))),getTableCellIds:e=>ge(fe(U,p(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(fe(fe(X,p(e)),p(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,p(e)),hasTableCell:(e,t)=>re(fe(U,p(e)),p(t)),hasRow:(e,t)=>re(fe(X,p(e)),p(t)),hasCell:(e,t,s)=>re(fe(fe(X,p(e)),p(t)),p(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,p(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(N),getValuesSchemaJson:()=>Ze(B),getSchemaJson:()=>Ze([N,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?Rt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return it(e,n,t)&&(e=p(e),Rt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>M(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>M(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>k(e)?us(t):ne(e,((e,s)=>k(e)?hs(t,s):ne(e,((e,n)=>me(Rs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(Rs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{yt(_e(e))}catch{}return Rs},setJson:e=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{ls(e)}return Rs},setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>M(fe(X,e),(a=>M(fe(a,t),(o=>re(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(fe(U,p(e)),t),forEachRow:(e,t)=>de(fe(X,p(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(fe(fe(X,p(e)),p(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);z(r,l)||(l=r,o(Rs,e,t,s,n,a,l))}),Ae[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Rs),delListener:e=>(at(e),Rs),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+v]:[1,be,[Xt]],[w]:[1,De,[Xt]],[I]:[1,Je,[Xt]],[L]:[2,xe,[Xt,Zt]],[v]:[2,ze,[Xt,Zt]],[R]:[3,Oe,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,je],[y]:[0,We],[C]:[0,Be],[T]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Rs[d+a+i]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(Rs)};export{ze as createCheckpoints,qe as createCustomPersister,Oe as createIndexes,We as createMetrics,Ge as createQueries,He as createRelationships,st as createStore,Ne as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+"Count",I=L+u,S="Sorted"+L+u,R="Cell",v=R+u,T="Value",y=T+"s",C=T+u,p=e=>t+e,b=Math.max,V=Math.min,m=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,M=(e,t,s)=>k(e)?s?.():t(e),D=e=>e==s||e==n,J=t=>e(t)==o,A=e=>Array.isArray(e),x=()=>{},F=(e,t)=>e.includes(t),Q=(e,t)=>e.every(t),z=(e,t)=>B(e)===B(t)&&Q(e,((e,s)=>t[s]===e)),N=(e,t)=>Q(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),P=(e,t)=>e.map(t),W=e=>q(e,((e,t)=>e+t),0),B=e=>e.length,$=e=>0==B(e),q=(e,t,s)=>e.reduce(t,s),G=(e,t,s)=>e.slice(t,s),H=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=X.keys,Z=X.isFrozen,_=X.freeze,ee=e=>E(e,X)&&e.constructor==X,te=(e,t)=>!k(((e,t)=>M(e,(e=>e[t])))(e,t)),se=(e,t)=>(delete e[t],e),ne=(e,t)=>P(X.entries(e),(([e,s])=>t(s,e))),ae=e=>ee(e)&&0==(e=>B(Y(e)))(e),oe=e=>e?.size??0,re=(e,t)=>e?.has(t)??!1,le=e=>k(e)||0==oe(e),ie=e=>[...e?.values()??[]],ce=e=>e.clear(),de=(e,t)=>e?.forEach(t),ue=(e,t)=>e?.delete(t),he=e=>new Map(e),ge=e=>[...e?.keys()??[]],fe=(e,t)=>e?.get(t),Le=(e,t)=>de(e,((e,s)=>t(s,e))),we=(e,t,s)=>k(s)?(ue(e,t),e):e?.set(t,s),Ie=(e,t,s)=>(re(e,t)||we(e,t,s()),fe(e,t)),Se=(e,t,s,n=we)=>(ne(t,((t,n)=>s(e,n,t))),Le(e,(s=>te(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return de(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ae),Te=(e,t,s)=>Re(e,(e=>ve(e,t,s)),ae),ye=(e,t)=>{const s=he();return de(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>ye(e,ye),pe=e=>ye(e,Ce),be=(e,t,s,n,a=0)=>M((s?Ie:fe)(e,t[a],a>B(t)-2?s:he),(o=>{if(a>B(t)-2)return n?.(o)&&we(e,t[a]),o;const r=be(o,t,s,n,a+1);return le(o)&&we(e,t[a]),r})),Ve=t=>{const s=e(t);return D(s)||s==a&&m(t)?s:void 0},me=(e,t,s,n,a)=>k(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),ke=e=>new Set(A(e)||k(e)?e:[e]),Me=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=he(),l=he(),i=he(),c=he(),d=he(),u=he(),h=(t,s,...n)=>{const a=Ie(u,t,ke);return j(n,(t=>Me(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>M(fe(u,t),(n=>{j($(s)?ie(n):s,(t=>{e.delListener(t),ue(n,t)})),le(n)&&we(u,t)})),f=(e,s)=>{we(r,e,s),re(l,e)||(we(l,e,t()),we(c,e,he()),we(d,e,he()),a(i))},L=e=>{we(r,e),we(l,e),we(c,e),we(d,e),g(e),a(i)};return[()=>e,()=>ge(r),e=>Le(l,e),e=>re(l,e),e=>fe(r,e),e=>fe(l,e),(e,t)=>we(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=he(),u=he(),L=fe(c,t),w=fe(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=fe(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&z(c,d)||we(i,t,[c,d]),!k(l)){const e=fe(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&we(u,t,s)}},S=e=>{a((()=>{de(i,(([,e],t)=>we(L,t,e))),de(u,((e,t)=>we(w,t,e)))}),i,u,L,w,e),ce(i),ce(u)};Le(L,I),e.hasTable(n)&&j(e.getRowIds(n),(e=>{re(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,i),()=>Le(u,L),h,g]},Je=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},xe=/^\d+$/,Fe=()=>{const e=[];let s=0;return[n=>(n?U(e):null)??t+s++,t=>{xe.test(t)&&B(e)<1e3&&H(e,t)}]},Qe=e=>{let s;const[n,a]=Fe(),o=he();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return we(o,d,[a,r,l,i,c]),Me(be(r,l??[t],ke),d),d},(e,n,...a)=>j(((e,s=[t])=>{const n=[],a=(e,t)=>t==B(s)?H(n,e):null===s[t]?de(e,(e=>a(e,t+1))):j([s[t],null],(s=>a(fe(e,s),t+1)));return a(e,0),n})(e,n),(e=>de(e,(e=>fe(o,e)[0](s,...n??[],...a))))),e=>M(fe(o,e),(([,s,n])=>(be(s,n??[t],void 0,(t=>(ue(t,e),le(t)?1:0))),we(o,e),a(e),n))),e=>M(fe(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=B(r);l==B(t)?e(s,...r,...a(r)):k(t[l])?j(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},ze=Ae((e=>{let s,n,a,o=100,r=he(),l=he(),i=1;const c=he(),d=he(),[u,h,g]=Qe((()=>Q)),f=he(),L=he(),w=[],I=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=fe(f,s);de(n,((s,n)=>de(s,((s,a)=>de(s,((s,o)=>me(e,n,a,o,s[t]))))))),de(a,((s,n)=>Ee(e,n,s[t])))})),i=1},R=e=>{we(f,e),we(L,e),h(d,[e])},v=(e,t)=>j(((e,t)=>e.splice(0,t))(e,t??B(e)),R),T=()=>v(w,B(w)-o),y=()=>M(s,(()=>{H(w,s),T(),v(I),s=void 0,a=1})),C=()=>{s=K(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){y();const e=Ie(r,t,he),l=Ie(e,s,he),i=Ie(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&le(we(l,n))&&le(we(e,s))&&le(we(r,t))&&C(),D()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=Ie(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(we(l,t))&&C(),D()}})),V=(e="")=>(k(s)&&(s=t+n++,we(f,s,[r,l]),A(s,e),r=he(),l=he(),a=1),s),m=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(I,V()),S(0,s),s=K(w),a=1)},E=()=>{$(I)||(H(w,s),s=U(I),S(1,s),a=1)},D=()=>{a&&(h(c),a=0)},J=e=>{const t=V(e);return D(),t},A=(e,t)=>(x(e)&&fe(L,e)!==t&&(we(L,e,t),h(d,[e])),Q),x=e=>re(f,e),Q={setSize:e=>(o=e,T(),Q),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...I]],forEachCheckpoint:e=>Le(L,e),hasCheckpoint:x,getCheckpoint:e=>fe(L,e),goBackward:()=>(m(),D(),Q),goForward:()=>(E(),D(),Q),goTo:e=>{const t=F(w,e)?m:F(I,e)?E:null;for(;!k(t)&&e!=s;)t();return D(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(v(w),v(I),k(s)||R(s),s=void 0,n=0,J(),Q),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return _(Q.clear())})),Ne=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const s=he(),n=he(),[a,o,r]=Qe((()=>R)),[l,i,c,d,u,h,g,,f,L,w,I]=De(e,he,(e=>k(e)?t:A(e)?P(e,p):p(e)),a,o),S=(t,s,n)=>{const a=u(t);de(n,((t,n)=>s(n,(s=>de(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},R={setIndexDefinition:(e,t,a,r,l,i=Ne)=>{const c=k(l)?void 0:([e],[t])=>l(e,t);return f(e,t,((t,a,l,d,u,f)=>{let L=0;const w=ke(),I=ke(),S=h(e);if(de(a,(([e,t],s)=>{const n=ke(e),a=ke(t);de(n,(e=>ue(a,e)?ue(n,e):0)),de(n,(e=>{Me(w,e),M(fe(S,e),(t=>{ue(t,s),le(t)&&(we(S,e),L=1)}))})),de(a,(e=>{Me(w,e),re(S,e)||(we(S,e,ke()),L=1),Me(fe(S,e),s),k(r)||Me(I,e)}))})),t(),le(u)||(f?Le(S,(e=>Me(I,e))):Le(l,(e=>M(fe(d,e),(e=>Me(I,e))))),de(I,(e=>{const t=(t,s)=>i(fe(u,t),fe(u,s),e),s=[...fe(S,e)];N(s,t)||(we(S,e,ke(O(s,t))),Me(w,e))}))),(L||f)&&!k(c)){const t=[...S];N(t,c)||(g(e,he(O(t,c))),L=1)}L&&o(s,[e]),de(w,(t=>o(n,[e,t])))}),Je(a),M(r,Je)),R},delIndexDefinition:e=>(L(e),R),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>re(h(e),t),getTableId:u,getSliceIds:e=>ge(h(e)),getSliceRowIds:(e,t)=>ie(fe(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,t)=>a(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),R),destroy:I,getListenerStats:()=>({})};return _(R)})),je=he([["avg",[(e,t)=>W(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,l,i,c]=a;return o||=k(e),de(n,(([s,n])=>{o||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=k(e))})),o?r(ie(s),oe(s)):e},We=Ae((e=>{const s=he(),[n,a,o]=Qe((()=>I)),[r,l,i,c,d,u,h,,g,f,L,w]=De(e,x,(e=>isNaN(e)||k(e)||!0===e||!1===e||e===t?void 0:1*e),n,a),I={setMetricDefinition:(e,t,n,o,r,l,i)=>{const c=J(n)?[n,r,l,i]:fe(je,n)??fe(je,"sum");return g(e,t,((t,n,o,r,l,i)=>{const d=u(e),g=oe(r);i||=k(d),t();let f=Pe(d,g,r,n,c,i);m(f)||(f=void 0),f!=d&&(h(e,f),a(s,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,t)=>n(t,s,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return _(I)})),Be=he(),$e=he(),qe=(e,t,s,n,a,o,r=[])=>{let l,i,c,d=0,u=0;Ie(Be,r,(()=>0)),Ie($e,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),l=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ae(s)&&ae(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(M(l,e.delListener),g),schedule:async(...e)=>(H(fe($e,r),...e),await(async()=>{if(!fe(Be,r)){for(we(Be,r,1);!k(i=U(fe($e,r)));)try{await i()}catch(e){o?.(e)}we(Be,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return _(g)},Ge=Ae((e=>{const s=e.createStore,n=s(),a=s(),o=he(),{addListener:r,callListeners:l,delListener:u}=a,[g,f,T,y,C,,,p,,b,V,m,E,D]=De(e,(()=>!0),x,r,l),A=(e,t,...s)=>j(s,(s=>Me(Ie(Ie(o,t,he),e,ke),s))),F=e=>{M(fe(o,e),(e=>{Le(e,((e,t)=>de(t,(t=>e.delListener(t))))),ce(e)})),j([a,n],(t=>t.delTable(e)))},z=(e,t,s)=>A(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(s,o,r)=>{p(s,o),F(s);const l=[],i=[[null,[o,null,null,[],he()]]],c=[],d=[],u=[];r({select:(e,s)=>{const n=J(e)?[B(l)+t,e]:[k(s)?e:s,t=>t(e,s)];return H(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=k(s)||J(t)?null:t,a=k(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],he()]];return H(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>H(c,J(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:fe(je,t)??[(e,t)=>t]]];return H(d,o),{as:e=>o[0]=e}},having:(e,t)=>H(u,J(e)?e:s=>s(e)===t)});const h=he(l);if(le(h))return N;const g=he(i);Le(g,((e,[,t])=>M(fe(g,t),(({3:t})=>k(e)?0:H(t,e)))));const f=he(d);let L=n;if(le(f)&&$(u))L=a;else{z(s,L,a);const e=he();Le(f,((t,[s,n])=>Me(Ie(e,s,ke),[t,n])));const t=ke();Le(h,(s=>re(e,s)?0:Me(t,s)));const n=he(),o=(t,n,o,r)=>M(t,(([l,i,c,d])=>{Le(n,((t,[s])=>{const n=Ie(l,t,he),a=fe(n,o),i=r?void 0:s;if(a!==i){const s=ke([[a,i]]),r=oe(n);we(n,o,i),de(fe(e,t),(([e,t])=>{const a=Pe(d[e],r,n,s,t);d[e]=k(Ve(a))?null:a}))}})),le(i)||!Q(u,(e=>e((e=>d[e]))))?a.delRow(s,c):k(c)?t[2]=a.addRow(s,d):a.setRow(s,c,d)}));A(L,s,L.addRowListener(s,null,((a,r,l,i)=>{const c=[],d=[],u=he(),h=L.hasRow(s,l);let g=!h;de(t,(e=>{const[t,n,a]=i(s,l,e);H(c,n),H(d,a),g||=t})),Le(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&we(u,e,[n])})),g&&o(be(n,c,void 0,(([,e])=>(ue(e,l),le(e)))),u,l,1),h&&o(be(n,d,(()=>{const e={};return de(t,(t=>e[t]=L.getCell(s,l,t))),[he(),ke(),void 0,e]}),(([,e])=>{Me(e,l)})),u,l)})))}z(s,e,L);const w=(t,n,a,r)=>{const l=t=>e.getCell(n,a,t);j(r,(n=>{const[a,,o,r,i]=fe(g,n),c=o?.(l,t),[d,u]=fe(i,t)??[];c!=d&&(k(u)||D(s,u),we(i,t,k(c)?null:[c,...E(s,1,e.addRowListener(a,c,(()=>w(t,a,c,r))))]))})),(t=>{const n=(s,n)=>e.getCell(...k(n)?[o,t,s]:s===o?[o,t,n]:[fe(g,s)?.[0],fe(fe(g,s)?.[4],t)?.[0],n]);L.transaction((()=>Q(c,(e=>e(n)))?Le(h,((e,a)=>me(L,s,t,e,a(n,t)))):L.delRow(s,t)))})(t)},{3:I}=fe(g,null);return L.transaction((()=>E(s,1,e.addRowListener(o,null,((t,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(s,a),de(g,(({4:e})=>M(fe(e,a),(([,t])=>{D(s,t),we(e,a)})))))}))))),N},delQueryDefinition:e=>(F(e),b(e),N),getStore:g,getQueryIds:f,forEachQuery:T,hasQuery:y,getTableId:C,addQueryIdsListener:e=>V((()=>e(N))),delListener:e=>(u(e),N),destroy:m,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ne({[h]:[1,1],[h+v]:[0,1],[w]:[0,1],[I]:[0,1],[S]:[0,5],[L]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{j(e?["get","has","forEach"]:["get"],(e=>N[e+c+s]=(...t)=>a[e+s](...t))),N[d+c+s+i]=(...e)=>a[d+s+i](...G(e,0,t),((s,...n)=>e[t](N,...n)))})),_(N)})),He=Ae((e=>{const s=he(),n=he(),a=he(),o=he(),[r,l,i]=Qe((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[he(),he(),he(),he()]),(e=>k(e)?void 0:e+t),r,l),R=(e,t,s)=>M(f(e),(([n,,a])=>{if(!re(a,t)){const o=ke();if(g(e)!=T(e))Me(o,t);else{let e=t;for(;!k(e)&&!re(o,e);)Me(o,e),e=fe(n,e)}if(s)return o;we(a,t,o)}return fe(a,t)})),v=(e,t)=>M(f(e),(([,,e])=>we(e,t))),T=e=>fe(s,e),y={setRelationshipDefinition:(e,t,r,i)=>(we(s,e,r),L(e,t,((t,s)=>{const r=ke(),i=ke(),c=ke(),[d,u]=f(e);de(s,(([t,s],n)=>{k(t)||(Me(i,t),M(fe(u,t),(e=>{ue(e,n),le(e)&&we(u,t)}))),k(s)||(Me(i,s),re(u,s)||we(u,s,ke()),Me(fe(u,s),n)),Me(r,n),we(d,n,s),Le(fe(o,e),(t=>{re(R(e,t),n)&&Me(c,t)}))})),t(),de(r,(t=>l(n,[e,t]))),de(i,(t=>l(a,[e,t]))),de(c,(t=>{v(e,t),l(o,[e,t])}))}),Je(i)),y),delRelationshipDefinition:e=>(we(s,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:T,getRemoteRowId:(e,t)=>fe(f(e)?.[0],t),getLocalRowIds:(e,t)=>ie(fe(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(f(e))?[t]:ie(R(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),y),destroy:S,getListenerStats:()=>({})};return _(y)})),Ke=e=>[e,e],Ue=()=>[he(),he()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>E(t,Map)?X.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>k(e)||!ee(e)||ae(e)||Z(e)?(s?.(),!1):(ne(e,((s,n)=>{t(s,n)||se(e,n)})),!ae(e)),tt=(e,t,s)=>we(e,t,fe(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,o=0;const c=he(),u=he(),S=he(),b=he(),V=he(),m=he(),E=he(),A=he(),x=he(),Q=he(),N=he(),W=he(),B=he(),$=he(),q=ke(),K=he(),U=he(),X=he(),Y=he(),Z=Ue(),ee=Ue(),ie=Ue(),be=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),xe=Ue(),ze=Ue(),Oe=Ue(),je=Ue(),Pe=Ue(),We=Ue(),Be=Ue(),$e=Ue(),qe=he(),Ge=Ue(),[He,nt,at,ot]=Qe((()=>Rs)),rt=e=>{if(!et(e,((e,t)=>F([r,l],t))))return!1;const t=e[r];return!(!D(t)&&t!=a||(Ve(e[l])!=t&&se(e,l),0))},lt=(t,s)=>(!e||re(N,s)||zt(s))&&et(t,((e,t)=>it(s,t,e)),(()=>zt(s))),it=(e,t,s,n)=>et(n?s:ht(s,e,t),((n,a)=>M(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?M(fe(fe(N,t),n),(e=>Ve(a)!=e[r]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):k(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>M(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?M(fe(B,e),(t=>Ve(s)!=t[r]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):k(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(M(fe(W,t),(([n,a])=>{de(n,((t,s)=>{te(e,s)||(e[s]=t)})),de(a,(n=>{te(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(de($,((t,s)=>{te(e,s)||(e[s]=t)})),de(q,(t=>{te(e,t)||Nt(t)}))),e),ft=e=>Se(N,e,((e,t,s)=>{const n=he(),a=ke();Se(Ie(N,t,he),s,((e,t,s)=>{we(e,t,s),M(s[l],(e=>we(n,t,e)),(()=>Me(a,t)))})),we(W,t,[n,a])}),((e,t)=>{we(N,t),we(W,t)})),Lt=e=>Se(B,e,((e,t,s)=>{we(B,t,s),M(s[l],(e=>we($,t,e)),(()=>Me(q,t)))}),((e,t)=>{we(B,t),we($,t),ue(q,t)})),wt=e=>ae(e)?ds():os(e),It=e=>Se(X,e,((e,t,s)=>St(t,s)),((e,t)=>mt(t))),St=(e,t)=>Se(Ie(X,e,(()=>(Dt(e,1),we(K,e,Fe()),we(U,e,he()),he()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>Et(e,t,s))),Rt=(e,t,s,n,a)=>Se(Ie(t,s,(()=>(Jt(e,s,1),he()))),n,((t,n,a)=>vt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),vt=(e,t,s,n,a)=>{re(s,n)||At(e,t,n,1);const o=fe(s,n);a!==o&&(xt(e,t,n,o,a),we(s,n,a))},Tt=(e,t,s,n,a)=>M(fe(t,s),(t=>vt(e,s,t,n,a)),(()=>Rt(e,t,s,ht({[n]:a},e,s)))),yt=e=>ae(e)?gs():rs(e),Ct=e=>Se(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{re(Y,e)||Ft(e,1);const s=fe(Y,e);t!==s&&(Qt(e,s,t),we(Y,e,t))},bt=(e,t)=>{const[s]=fe(K,e),n=s(t);return re(fe(X,e),n)?bt(e,t):n},Vt=e=>fe(X,e)??St(e,{}),mt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=fe(K,e);n(s),Rt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=fe(fe(W,e)?.[0],a);if(!k(r)&&!o)return vt(e,s,n,a,r);const l=t=>{xt(e,s,t,fe(n,t)),At(e,s,t,-1),we(n,t)};k(r)?l(a):Le(n,l),le(n)&&(Jt(e,s,-1),le(we(t,s))&&(Dt(e,-1),we(X,e),we(K,e),we(U,e)))},Mt=e=>{const t=fe($,e);if(!k(t))return pt(e,t);Qt(e,fe(Y,e)),Ft(e,-1),we(Y,e)},Dt=(e,t)=>tt(c,e,t),Jt=(e,t,s)=>tt(Ie(b,e,he),t,s)&&we(S,e,Ie(S,e,(()=>0))+s),At=(e,t,s,n)=>{const a=fe(U,e),o=fe(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Ie(u,e,he),s,n),we(a,s,o!=-n?o+n:null),tt(Ie(Ie(V,e,he),t,he),s,n)},xt=(e,t,s,n,a)=>Ie(Ie(Ie(m,e,he),t,he),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Ie(A,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(H(Ie(Ie(Ie(x,e,he),t,he),s,(()=>[])),n),a),Nt=(e,t,s)=>(H(Ie(Q,e,(()=>[])),t),s),Ot=(e,t,s)=>M(fe(fe(fe(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),jt=e=>M(fe(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(x)||le(je[e])?0:de(e?pe(x):x,((t,s)=>de(t,((t,n)=>de(t,((t,a)=>nt(je[e],[s,n,a],t))))))),Wt=e=>le(Q)||le(Pe[e])?0:de(e?ye(Q):Q,((t,s)=>nt(Pe[e],[s],t))),Bt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Ae[e]),s=le(ze[e])&&le(be[e])&&le(De[e])&&le(Je[e])&&t&&le(ee[e]),n=le(Oe[e])&&le(xe[e])&&le(ie[e])&&le(Z[e]);if(!s||!n){const a=e?[ye(c),Ce(u),ye(S),Ce(b),pe(V),pe(m)]:[c,u,S,b,V,m];if(!s){Bt(ee[e],a[0]),de(a[1],((t,s)=>Bt(be[e],t,[s]))),de(a[2],((t,s)=>{0!=t&&nt(De[e],[s],Yt(s))}));const s=ke();de(a[3],((n,a)=>{Bt(Je[e],n,[a])&&!t&&(nt(Ae[e],[a,null]),Me(s,a))})),t||de(a[5],((t,n)=>{if(!re(s,n)){const s=ke();de(t,(e=>de(e,(([t,n],a)=>n!==t?Me(s,a):ue(e,a))))),de(s,(t=>nt(Ae[e],[n,t])))}})),de(a[4],((t,s)=>de(t,((t,n)=>Bt(ze[e],t,[s,n])))))}if(!n){let t;de(a[5],((s,n)=>{let a;de(s,((s,o)=>{let r;de(s,(([s,l],i)=>{l!==s&&(nt(Oe[e],[n,o,i],l,s,Ot),t=a=r=1)})),r&&nt(xe[e],[n,o],Ot)})),a&&nt(ie[e],[n],Ot)})),t&&nt(Z[e],void 0,Ot)}}},qt=e=>{const t=le(Be[e]),s=le($e[e])&&le(We[e]);if(!t||!s){const n=e?[ye(E),ye(A)]:[E,A];if(t||Bt(Be[e],n[0]),!s){let t;de(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,jt),t=1)})),t&&nt(We[e],void 0,jt)}}},Gt=(e,...t)=>(ws((()=>e(...P(t,p)))),Rs),Ht=()=>[Re(m,((e,t)=>-1===fe(c,t)?null:Re(e,((e,s)=>-1===fe(fe(b,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),ae)),ae),Re(A,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:Te(m,Xe,Ye),invalidCells:Te(x),changedValues:Re(A,Xe,Ye),invalidValues:Re(Q),changedTableIds:Re(c),changedRowIds:ve(b),changedCellIds:Te(V),changedValueIds:Re(E)}),Ut=()=>Te(X),Xt=()=>ge(X),Yt=e=>oe(fe(X,p(e))),Zt=e=>ge(fe(X,p(e))),_t=(e,t,s,n=0,a)=>{return P(G(O((o=fe(X,p(e)),r=(e,s)=>[k(t)?s:fe(e,p(t)),s],P([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,k(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>ge(fe(fe(X,p(e)),p(t))),ts=(e,t,s)=>fe(fe(fe(X,p(e)),p(t)),p(s)),ss=()=>Re(Y),ns=()=>ge(Y),as=e=>fe(Y,p(e)),os=e=>Gt((()=>(e=>et(e,lt,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),ls=e=>{try{wt(_e(e))}catch{}return Rs},is=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>re(X,e)?mt(e):0),e),hs=(e,t)=>Gt(((e,t)=>M(fe(X,e),(s=>re(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=o){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=o&&o++,1==o&&nt(qe,void 0,Ht,Kt),Rs),Ss=e=>(o>0&&(o--,0==o&&(s=!le(m),n=!le(A),o=1,Pt(1),s&&$t(1),Wt(1),n&&qt(1),e?.(Ht,Kt)&&(de(m,((e,t)=>de(e,((e,s)=>de(e,(([e],n)=>me(Rs,t,s,n,e))))))),de(A,(([e],t)=>Ee(Rs,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),o=-1,Pt(0),s&&$t(0),Wt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),o=0,s=n=!1,j([c,u,S,b,V,m,x,E,A,Q],ce))),Rs),Rs={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(fe(X,p(e))),getTableCellIds:e=>ge(fe(U,p(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(fe(fe(X,p(e)),p(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>re(X,p(e)),hasTableCell:(e,t)=>re(fe(U,p(e)),p(t)),hasRow:(e,t)=>re(fe(X,p(e)),p(t)),hasCell:(e,t,s)=>re(fe(fe(X,p(e)),p(t)),p(s)),hasValues:()=>!le(Y),hasValue:e=>re(Y,p(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(N),getValuesSchemaJson:()=>Ze(B),getSchemaJson:()=>Ze([N,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(ae(e)?ds:os)(e),(ae(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>lt(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>it(e,t,s)?Rt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return it(e,n,t)&&(e=p(e),Rt(e,Vt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(it(e,t,s,1)){const n=Vt(e);ne(s,((s,a)=>Tt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>M(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>Tt(e,Vt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ne(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>M(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ne(e[0],((e,t)=>k(e)?us(t):ne(e,((e,s)=>k(e)?hs(t,s):ne(e,((e,n)=>me(Rs,t,s,n,e))))))),ne(e[1],((e,t)=>Ee(Rs,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{yt(_e(e))}catch{}return Rs},setJson:e=>Gt((()=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{ls(e)}})),setTablesSchema:is,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{is(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>M(fe(X,e),(a=>M(fe(a,t),(o=>re(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>re(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>de(X,((t,s)=>e(s,(e=>de(t,((t,s)=>e(s,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(fe(U,p(e)),t),forEachRow:(e,t)=>de(fe(X,p(e)),((e,s)=>t(s,(t=>Le(e,t))))),forEachCell:(e,t,s)=>Le(fe(fe(X,p(e)),p(t)),s),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);z(r,l)||(l=r,o(Rs,e,t,s,n,a,l))}),Ae[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Rs),delListener:e=>(at(e),Rs),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ne({[g]:[0,Z],[f]:[0,ee],[h]:[1,ie,[Xt]],[h+v]:[1,be,[Xt]],[w]:[1,De,[Xt]],[I]:[1,Je,[Xt]],[L]:[2,xe,[Xt,Zt]],[v]:[2,ze,[Xt,Zt]],[R]:[3,Oe,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,je],[y]:[0,We],[C]:[0,Be],[T]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Rs[d+a+i]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?G(a,0,e):void 0,s,n)})),_(Rs)};export{ze as createCheckpoints,qe as createCustomPersister,Oe as createIndexes,We as createMetrics,Ge as createQueries,He as createRelationships,st as createStore,Ne as defaultSorter};
|
package/lib/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/umd/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",V=b+i,C="Value",S=C+"s",v=C+i,y=e=>s+e,m=isFinite,w=(e,t)=>e instanceof t,p=e=>null==e,I=(e,t,s)=>p(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t)=>e.forEach(t),E=(e,t)=>e.map(t),F=e=>e.length,x=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>w(e,O)&&e.constructor==O,N=(e,t)=>!p(((e,t)=>I(e,(e=>e[t])))(e,t)),P=(e,t)=>(delete e[t],e),B=(e,t)=>E(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>F(j(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>p(e)||0==W(e),G=e=>e.clear(),H=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=e=>new Map(e),U=e=>[...e?.keys()??[]],X=(e,t)=>e?.get(t),Y=(e,t)=>H(e,((e,s)=>t(s,e))),Z=(e,t,s)=>p(s)?(K(e,t),e):e?.set(t,s),_=(e,t,s)=>($(e,t)||Z(e,t,s()),X(e,t)),ee=(e,t,s,l=Z)=>(B(t,((t,l)=>s(e,l,t))),Y(e,(s=>N(t,s)?0:l(e,s))),e),te=(e,t,s)=>{const l={};return H(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},se=(e,t,s)=>te(e,(e=>te(e,t,s)),D),le=(e,t,s)=>te(e,(e=>se(e,t,s)),D),ne=(e,t)=>{const s=Q();return H(e,((e,l)=>s.set(l,t?.(e)??e))),s},ae=e=>ne(e,ne),oe=e=>ne(e,ae),re=(e,t,s,l,n=0)=>I((s?_:X)(e,t[n],n>F(t)-2?s:Q),(a=>{if(n>F(t)-2)return l?.(a)&&Z(e,t[n]),a;const o=re(a,t,s,l,n+1);return q(a)&&Z(e,t[n]),o})),ce=e=>new Set(Array.isArray(e)||p(e)?e:[e]),ie=(e,t)=>e?.add(t),de=/^\d+$/,ue=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{de.test(t)&&F(e)<1e3&&z(e,t)}]},he=e=>[e,e],fe=()=>[Q(),Q()],ge=e=>[...e],Te=([e,t])=>e===t,be=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Ve=(e,t,s,l,n)=>p(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ce=(e,t,s)=>p(s)?e.delValue(t):e.setValue(t,s),Se=e=>JSON.stringify(e,((e,t)=>w(t,Map)?O.fromEntries([...t]):t)),ve=JSON.parse,ye=(e,t,s)=>p(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,l)=>{t(s,l)||P(e,l)})),!D(e)),me=(e,t,s)=>Z(e,t,X(e,t)==-s?void 0:s),we=()=>{let e,t,l=!1,n=!1,o=0;const i=Q(),m=Q(),w=Q(),O=Q(),j=Q(),k=Q(),M=Q(),de=Q(),pe=Q(),Ie=Q(),Re=Q(),Je=Q(),Le=Q(),Ee=Q(),Fe=ce(),xe=Q(),ze=Q(),Oe=Q(),je=Q(),ke=fe(),Ae=fe(),Me=fe(),Ne=fe(),Pe=fe(),Be=fe(),De=fe(),We=fe(),$e=fe(),qe=fe(),Ge=fe(),He=fe(),Ke=fe(),Qe=fe(),Ue=fe(),Xe=Q(),Ye=fe(),[Ze,_e,et,tt]=(e=>{let t;const[l,n]=ue(),a=Q();return[(e,n,o,r=[],c=(()=>[]))=>{t??=Ts;const i=l(1);return Z(a,i,[e,n,o,r,c]),ie(re(n,o??[s],ce),i),i},(e,l,...n)=>L(((e,t=[s])=>{const l=[],n=(e,s)=>s==F(t)?z(l,e):null===t[s]?H(e,(e=>n(e,s+1))):L([t[s],null],(t=>n(X(e,t),s+1)));return n(e,0),l})(e,l),(e=>H(e,(e=>X(a,e)[0](t,...l??[],...n))))),e=>I(X(a,e),(([,t,l])=>(re(t,l??[s],void 0,(t=>(K(t,e),q(t)?1:0))),Z(a,e),n(e),l))),e=>I(X(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=F(o);r==F(s)?e(t,...o,...n(o)):p(s[r])?L(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),st=e=>{if(!ye(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(be(e[c])!=t&&P(e,c),0))},lt=(t,s)=>(!e||$(Re,s)||Ot(s))&&ye(t,((e,t)=>nt(s,t,e)),(()=>Ot(s))),nt=(e,t,s,l)=>ye(l?s:ct(s,e,t),((l,n)=>I(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Ot(e,t))),at=(t,s,l,n)=>e?I(X(X(Re,t),l),(e=>be(n)!=e[r]?Ot(t,s,l,n,e[c]):n),(()=>Ot(t,s,l,n))):p(be(n))?Ot(t,s,l,n):n,ot=(e,t)=>ye(t?e:it(e),((t,s)=>I(rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>jt())),rt=(e,s)=>t?I(X(Le,e),(t=>be(s)!=t[r]?jt(e,s,t[c]):s),(()=>jt(e,s))):p(be(s))?jt(e,s):s,ct=(e,t,s)=>(I(X(Je,t),(([l,n])=>{H(l,((t,s)=>{N(e,s)||(e[s]=t)})),H(n,(l=>{N(e,l)||Ot(t,s,l)}))})),e),it=e=>(t&&(H(Ee,((t,s)=>{N(e,s)||(e[s]=t)})),H(Fe,(t=>{N(e,t)||jt(t)}))),e),dt=e=>ee(Re,e,((e,t,s)=>{const l=Q(),n=ce();ee(_(Re,t,Q),s,((e,t,s)=>{Z(e,t,s),I(s[c],(e=>Z(l,t,e)),(()=>ie(n,t)))})),Z(Je,t,[l,n])}),((e,t)=>{Z(Re,t),Z(Je,t)})),ut=e=>ee(Le,e,((e,t,s)=>{Z(Le,t,s),I(s[c],(e=>Z(Ee,t,e)),(()=>ie(Fe,t)))}),((e,t)=>{Z(Le,t),Z(Ee,t),K(Fe,t)})),ht=e=>D(e)?os():ts(e),ft=e=>ee(Oe,e,((e,t,s)=>gt(t,s)),((e,t)=>wt(t))),gt=(e,t)=>ee(_(Oe,e,(()=>(Jt(e,1),Z(xe,e,ue()),Z(ze,e,Q()),Q()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>pt(e,t,s))),Tt=(e,t,s,l,n)=>ee(_(t,s,(()=>(Lt(e,s,1),Q()))),l,((t,l,n)=>bt(e,s,t,l,n)),((l,a)=>It(e,t,s,l,a,n))),bt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=X(s,l);n!==a&&(Ft(e,t,l,a,n),Z(s,l,n))},Vt=(e,t,s,l,n)=>I(X(t,s),(t=>bt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>ee(je,e,((e,t,s)=>vt(t,s)),((e,t)=>Rt(t))),vt=(e,t)=>{$(je,e)||xt(e,1);const s=X(je,e);t!==s&&(zt(e,s,t),Z(je,e,t))},yt=(e,t)=>{const[s]=X(xe,e),l=s(t);return $(X(Oe,e),l)?yt(e,t):l},mt=e=>X(Oe,e)??gt(e,{}),wt=e=>gt(e,{}),pt=(e,t,s)=>{const[,l]=X(xe,e);l(s),Tt(e,t,s,{},!0)},It=(e,t,s,l,n,a)=>{const o=X(X(Je,e)?.[0],n);if(!p(o)&&!a)return bt(e,s,l,n,o);const r=t=>{Ft(e,s,t,X(l,t)),Et(e,s,t,-1),Z(l,t)};p(o)?r(n):Y(l,r),q(l)&&(Lt(e,s,-1),q(Z(t,s))&&(Jt(e,-1),Z(Oe,e),Z(xe,e),Z(ze,e)))},Rt=e=>{const t=X(Ee,e);if(!p(t))return vt(e,t);zt(e,X(je,e)),xt(e,-1),Z(je,e)},Jt=(e,t)=>me(i,e,t),Lt=(e,t,s)=>me(_(O,e,Q),t,s)&&Z(w,e,_(w,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=X(ze,e),a=X(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&me(_(m,e,Q),s,l),Z(n,s,a!=-l?a+l:null),me(_(_(j,e,Q),t,Q),s,l)},Ft=(e,t,s,l,n)=>_(_(_(k,e,Q),t,Q),s,(()=>[l,0]))[1]=n,xt=(e,t)=>me(M,e,t),zt=(e,t,s)=>_(de,e,(()=>[t,0]))[1]=s,Ot=(e,t,s,l,n)=>(z(_(_(_(pe,e,Q),t,Q),s,(()=>[])),l),n),jt=(e,t,s)=>(z(_(Ie,e,(()=>[])),t),s),kt=(e,t,s)=>I(X(X(X(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...he(Yt(e,t,s))])),At=e=>I(X(de,e),(([e,t])=>[!0,e,t]),(()=>[!1,...he(es(e))])),Mt=e=>q(pe)||q(Ge[e])?0:H(e?oe(pe):pe,((t,s)=>H(t,((t,l)=>H(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),Nt=e=>q(Ie)||q(He[e])?0:H(e?ne(Ie):Ie,((t,s)=>_e(He[e],[s],t))),Pt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>te(t))),1},Bt=e=>{const t=q(De[e]),s=q($e[e])&&q(Ne[e])&&q(Pe[e])&&q(Be[e])&&t&&q(Ae[e]),l=q(qe[e])&&q(We[e])&&q(Me[e])&&q(ke[e]);if(!s||!l){const n=e?[ne(i),ae(m),ne(w),ae(O),oe(j),oe(k)]:[i,m,w,O,j,k];if(!s){Pt(Ae[e],n[0]),H(n[1],((t,s)=>Pt(Ne[e],t,[s]))),H(n[2],((t,s)=>{0!=t&&_e(Pe[e],[s],Kt(s))}));const s=ce();H(n[3],((l,n)=>{Pt(Be[e],l,[n])&&!t&&(_e(De[e],[n,null]),ie(s,n))})),t||H(n[5],((t,l)=>{if(!$(s,l)){const s=ce();H(t,(e=>H(e,(([t,l],n)=>l!==t?ie(s,n):K(e,n))))),H(s,(t=>_e(De[e],[l,t])))}})),H(n[4],((t,s)=>H(t,((t,l)=>Pt($e[e],t,[s,l])))))}if(!l){let t;H(n[5],((s,l)=>{let n;H(s,((s,a)=>{let o;H(s,(([s,r],c)=>{r!==s&&(_e(qe[e],[l,a,c],r,s,kt),t=n=o=1)})),o&&_e(We[e],[l,a],kt)})),n&&_e(Me[e],[l],kt)})),t&&_e(ke[e],void 0,kt)}}},Dt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[ne(M),ne(de)]:[M,de];if(t||Pt(Qe[e],l[0]),!s){let t;H(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,At),t=1)})),t&&_e(Ke[e],void 0,At)}}},Wt=(e,...t)=>(hs((()=>e(...E(t,y)))),Ts),$t=()=>[te(k,((e,t)=>-1===X(i,t)?null:te(e,((e,s)=>-1===X(X(O,t),s)?null:te(e,(([,e])=>e??null),((e,t)=>Te(t)))),D)),D),te(de,(([,e])=>e??null),((e,t)=>Te(t)))],qt=()=>({cellsTouched:l,valuesTouched:n,changedCells:le(k,ge,Te),invalidCells:le(pe),changedValues:te(de,ge,Te),invalidValues:te(Ie),changedTableIds:te(i),changedRowIds:se(O),changedCellIds:le(j),changedValueIds:te(M)}),Gt=()=>le(Oe),Ht=()=>U(Oe),Kt=e=>W(X(Oe,y(e))),Qt=e=>U(X(Oe,y(e))),Ut=(e,t,s,l=0,n)=>{return E(x((o=X(Oe,y(e)),r=(e,s)=>[p(t)?s:X(e,y(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),E([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,p(n)?n:l+n),(([,e])=>e));var a,o,r},Xt=(e,t)=>U(X(X(Oe,y(e)),y(t))),Yt=(e,t,s)=>X(X(X(Oe,y(e)),y(t)),y(s)),Zt=()=>te(je),_t=()=>U(je),es=e=>X(je,y(e)),ts=e=>Wt((()=>(e=>ye(e,lt,Ot))(e)?ft(e):0)),ss=e=>Wt((()=>ot(e)?St(e):0)),ls=e=>{try{ht(ve(e))}catch{}return Ts},ns=t=>Wt((()=>{if((e=ye(t,(e=>ye(e,st))))&&(dt(t),!q(Oe))){const e=Gt();os(),ts(e)}})),as=e=>Wt((()=>{if(t=(e=>ye(e,st))(e)){const s=Zt();us(),is(),t=!0,ut(e),ss(s)}})),os=()=>Wt((()=>ft({}))),rs=e=>Wt((e=>$(Oe,e)?wt(e):0),e),cs=(e,t)=>Wt(((e,t)=>I(X(Oe,e),(s=>$(s,t)?pt(e,s,t):0))),e,t),is=()=>Wt((()=>St({}))),ds=()=>Wt((()=>{dt({}),e=!1})),us=()=>Wt((()=>{ut({}),t=!1})),hs=(e,t)=>{if(-1!=o){fs();const s=e();return gs(t),s}},fs=()=>(-1!=o&&o++,1==o&&_e(Xe,void 0,$t,qt),Ts),gs=e=>(o>0&&(o--,0==o&&(l=!q(k),n=!q(de),o=1,Mt(1),l&&Bt(1),Nt(1),n&&Dt(1),e?.($t,qt)&&(H(k,((e,t)=>H(e,((e,s)=>H(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),H(de,(([e],t)=>Ce(Ts,t,e))),l=n=!1),_e(Ye[0],void 0,$t,qt),o=-1,Mt(0),l&&Bt(0),Nt(0),n&&Dt(0),_e(Ye[1],void 0,$t,qt),o=0,l=n=!1,L([i,m,w,O,j,k,pe,M,de,Ie],G))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>se(X(Oe,y(e))),getTableCellIds:e=>U(X(ze,y(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>te(X(X(Oe,y(e)),y(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(Oe),hasTable:e=>$(Oe,y(e)),hasTableCell:(e,t)=>$(X(ze,y(e)),y(t)),hasRow:(e,t)=>$(X(Oe,y(e)),y(t)),hasCell:(e,t,s)=>$(X(X(Oe,y(e)),y(t)),y(s)),hasValues:()=>!q(je),hasValue:e=>$(je,y(e)),getTablesJson:()=>Se(Oe),getValuesJson:()=>Se(je),getJson:()=>Se([Oe,je]),getTablesSchemaJson:()=>Se(Re),getValuesSchemaJson:()=>Se(Le),getSchemaJson:()=>Se([Re,Le]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Wt((()=>{(D(e)?os:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>Wt((e=>lt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>nt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=y(e),Tt(e,mt(e),l=yt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(nt(e,t,s,1)){const l=mt(e);B(s,((s,n)=>Vt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Wt(((e,t,s)=>I(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>Vt(e,mt(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>Wt((()=>ot(e,1)?B(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>Wt((e=>I(rt(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{B(e[0],((e,t)=>p(e)?rs(t):B(e,((e,s)=>p(e)?cs(t,s):B(e,((e,l)=>Ve(Ts,t,s,l,e))))))),B(e[1],((e,t)=>Ce(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(ve(e))}catch{}return Ts},setJson:e=>{try{const[t,s]=ve(e);ht(t),Ct(s)}catch{ls(e)}return Ts},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:cs,delCell:(e,t,s,l)=>Wt(((e,t,s)=>I(X(Oe,e),(n=>I(X(n,t),(a=>$(a,s)?It(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>$(je,e)?Rt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>Wt((()=>{ds(),us()})),transaction:hs,startTransaction:fs,finishTransaction:gs,forEachTable:e=>H(Oe,((t,s)=>e(s,(e=>H(t,((t,s)=>e(s,(e=>Y(t,e))))))))),forEachTableCell:(e,t)=>Y(X(ze,y(e)),t),forEachRow:(e,t)=>H(X(Oe,y(e)),((e,s)=>t(s,(t=>Y(e,t))))),forEachCell:(e,t,s)=>Y(X(X(Oe,y(e)),y(t)),s),forEachValue:e=>Y(je,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=Ut(e,t,s,l,n);return Ze((()=>{const o=Ut(e,t,s,l,n);var c,i,d;i=r,F(c=o)===F(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(Ts,e,t,s,l,n,r))}),De[o?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:we,addListener:Ze,callListeners:_e};return B({[u]:[0,ke],[h]:[0,Ae],[d]:[1,Me,[Ht]],[d+V]:[1,Ne,[Ht]],[g]:[1,Pe,[Ht]],[T]:[1,Be,[Ht]],[f]:[2,We,[Ht,Qt]],[V]:[2,$e,[Ht,Qt]],[b]:[3,qe,[Ht,Qt,Xt],e=>he(Yt(...e))],InvalidCell:[3,Ge],[S]:[0,Ke],[v]:[0,Qe],[C]:[1,Ue,[_t],e=>he(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?x(n,0,e):void 0,s,l)})),A(Ts)};e.createStore=we},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row",g=f+"Count",T=f+i,b="Cell",V=b+i,C="Value",S=C+"s",v=C+i,y=e=>s+e,m=isFinite,w=(e,t)=>e instanceof t,p=e=>null==e,I=(e,t,s)=>p(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t)=>e.forEach(t),E=(e,t)=>e.map(t),F=e=>e.length,x=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>w(e,O)&&e.constructor==O,N=(e,t)=>!p(((e,t)=>I(e,(e=>e[t])))(e,t)),P=(e,t)=>(delete e[t],e),B=(e,t)=>E(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>F(j(e)))(e),W=e=>e?.size??0,$=(e,t)=>e?.has(t)??!1,q=e=>p(e)||0==W(e),G=e=>e.clear(),H=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=e=>new Map(e),U=e=>[...e?.keys()??[]],X=(e,t)=>e?.get(t),Y=(e,t)=>H(e,((e,s)=>t(s,e))),Z=(e,t,s)=>p(s)?(K(e,t),e):e?.set(t,s),_=(e,t,s)=>($(e,t)||Z(e,t,s()),X(e,t)),ee=(e,t,s,l=Z)=>(B(t,((t,l)=>s(e,l,t))),Y(e,(s=>N(t,s)?0:l(e,s))),e),te=(e,t,s)=>{const l={};return H(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},se=(e,t,s)=>te(e,(e=>te(e,t,s)),D),le=(e,t,s)=>te(e,(e=>se(e,t,s)),D),ne=(e,t)=>{const s=Q();return H(e,((e,l)=>s.set(l,t?.(e)??e))),s},ae=e=>ne(e,ne),oe=e=>ne(e,ae),re=(e,t,s,l,n=0)=>I((s?_:X)(e,t[n],n>F(t)-2?s:Q),(a=>{if(n>F(t)-2)return l?.(a)&&Z(e,t[n]),a;const o=re(a,t,s,l,n+1);return q(a)&&Z(e,t[n]),o})),ce=e=>new Set(Array.isArray(e)||p(e)?e:[e]),ie=(e,t)=>e?.add(t),de=/^\d+$/,ue=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{de.test(t)&&F(e)<1e3&&z(e,t)}]},he=e=>[e,e],fe=()=>[Q(),Q()],ge=e=>[...e],Te=([e,t])=>e===t,be=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Ve=(e,t,s,l,n)=>p(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ce=(e,t,s)=>p(s)?e.delValue(t):e.setValue(t,s),Se=e=>JSON.stringify(e,((e,t)=>w(t,Map)?O.fromEntries([...t]):t)),ve=JSON.parse,ye=(e,t,s)=>p(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,l)=>{t(s,l)||P(e,l)})),!D(e)),me=(e,t,s)=>Z(e,t,X(e,t)==-s?void 0:s),we=()=>{let e,t,l=!1,n=!1,o=0;const i=Q(),m=Q(),w=Q(),O=Q(),j=Q(),k=Q(),M=Q(),de=Q(),pe=Q(),Ie=Q(),Re=Q(),Je=Q(),Le=Q(),Ee=Q(),Fe=ce(),xe=Q(),ze=Q(),Oe=Q(),je=Q(),ke=fe(),Ae=fe(),Me=fe(),Ne=fe(),Pe=fe(),Be=fe(),De=fe(),We=fe(),$e=fe(),qe=fe(),Ge=fe(),He=fe(),Ke=fe(),Qe=fe(),Ue=fe(),Xe=Q(),Ye=fe(),[Ze,_e,et,tt]=(e=>{let t;const[l,n]=ue(),a=Q();return[(e,n,o,r=[],c=(()=>[]))=>{t??=Ts;const i=l(1);return Z(a,i,[e,n,o,r,c]),ie(re(n,o??[s],ce),i),i},(e,l,...n)=>L(((e,t=[s])=>{const l=[],n=(e,s)=>s==F(t)?z(l,e):null===t[s]?H(e,(e=>n(e,s+1))):L([t[s],null],(t=>n(X(e,t),s+1)));return n(e,0),l})(e,l),(e=>H(e,(e=>X(a,e)[0](t,...l??[],...n))))),e=>I(X(a,e),(([,t,l])=>(re(t,l??[s],void 0,(t=>(K(t,e),q(t)?1:0))),Z(a,e),n(e),l))),e=>I(X(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=F(o);r==F(s)?e(t,...o,...n(o)):p(s[r])?L(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),st=e=>{if(!ye(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(be(e[c])!=t&&P(e,c),0))},lt=(t,s)=>(!e||$(Re,s)||Ot(s))&&ye(t,((e,t)=>nt(s,t,e)),(()=>Ot(s))),nt=(e,t,s,l)=>ye(l?s:ct(s,e,t),((l,n)=>I(at(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Ot(e,t))),at=(t,s,l,n)=>e?I(X(X(Re,t),l),(e=>be(n)!=e[r]?Ot(t,s,l,n,e[c]):n),(()=>Ot(t,s,l,n))):p(be(n))?Ot(t,s,l,n):n,ot=(e,t)=>ye(t?e:it(e),((t,s)=>I(rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>jt())),rt=(e,s)=>t?I(X(Le,e),(t=>be(s)!=t[r]?jt(e,s,t[c]):s),(()=>jt(e,s))):p(be(s))?jt(e,s):s,ct=(e,t,s)=>(I(X(Je,t),(([l,n])=>{H(l,((t,s)=>{N(e,s)||(e[s]=t)})),H(n,(l=>{N(e,l)||Ot(t,s,l)}))})),e),it=e=>(t&&(H(Ee,((t,s)=>{N(e,s)||(e[s]=t)})),H(Fe,(t=>{N(e,t)||jt(t)}))),e),dt=e=>ee(Re,e,((e,t,s)=>{const l=Q(),n=ce();ee(_(Re,t,Q),s,((e,t,s)=>{Z(e,t,s),I(s[c],(e=>Z(l,t,e)),(()=>ie(n,t)))})),Z(Je,t,[l,n])}),((e,t)=>{Z(Re,t),Z(Je,t)})),ut=e=>ee(Le,e,((e,t,s)=>{Z(Le,t,s),I(s[c],(e=>Z(Ee,t,e)),(()=>ie(Fe,t)))}),((e,t)=>{Z(Le,t),Z(Ee,t),K(Fe,t)})),ht=e=>D(e)?os():ts(e),ft=e=>ee(Oe,e,((e,t,s)=>gt(t,s)),((e,t)=>wt(t))),gt=(e,t)=>ee(_(Oe,e,(()=>(Jt(e,1),Z(xe,e,ue()),Z(ze,e,Q()),Q()))),t,((t,s,l)=>Tt(e,t,s,l)),((t,s)=>pt(e,t,s))),Tt=(e,t,s,l,n)=>ee(_(t,s,(()=>(Lt(e,s,1),Q()))),l,((t,l,n)=>bt(e,s,t,l,n)),((l,a)=>It(e,t,s,l,a,n))),bt=(e,t,s,l,n)=>{$(s,l)||Et(e,t,l,1);const a=X(s,l);n!==a&&(Ft(e,t,l,a,n),Z(s,l,n))},Vt=(e,t,s,l,n)=>I(X(t,s),(t=>bt(e,s,t,l,n)),(()=>Tt(e,t,s,ct({[l]:n},e,s)))),Ct=e=>D(e)?is():ss(e),St=e=>ee(je,e,((e,t,s)=>vt(t,s)),((e,t)=>Rt(t))),vt=(e,t)=>{$(je,e)||xt(e,1);const s=X(je,e);t!==s&&(zt(e,s,t),Z(je,e,t))},yt=(e,t)=>{const[s]=X(xe,e),l=s(t);return $(X(Oe,e),l)?yt(e,t):l},mt=e=>X(Oe,e)??gt(e,{}),wt=e=>gt(e,{}),pt=(e,t,s)=>{const[,l]=X(xe,e);l(s),Tt(e,t,s,{},!0)},It=(e,t,s,l,n,a)=>{const o=X(X(Je,e)?.[0],n);if(!p(o)&&!a)return bt(e,s,l,n,o);const r=t=>{Ft(e,s,t,X(l,t)),Et(e,s,t,-1),Z(l,t)};p(o)?r(n):Y(l,r),q(l)&&(Lt(e,s,-1),q(Z(t,s))&&(Jt(e,-1),Z(Oe,e),Z(xe,e),Z(ze,e)))},Rt=e=>{const t=X(Ee,e);if(!p(t))return vt(e,t);zt(e,X(je,e)),xt(e,-1),Z(je,e)},Jt=(e,t)=>me(i,e,t),Lt=(e,t,s)=>me(_(O,e,Q),t,s)&&Z(w,e,_(w,e,(()=>0))+s),Et=(e,t,s,l)=>{const n=X(ze,e),a=X(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&me(_(m,e,Q),s,l),Z(n,s,a!=-l?a+l:null),me(_(_(j,e,Q),t,Q),s,l)},Ft=(e,t,s,l,n)=>_(_(_(k,e,Q),t,Q),s,(()=>[l,0]))[1]=n,xt=(e,t)=>me(M,e,t),zt=(e,t,s)=>_(de,e,(()=>[t,0]))[1]=s,Ot=(e,t,s,l,n)=>(z(_(_(_(pe,e,Q),t,Q),s,(()=>[])),l),n),jt=(e,t,s)=>(z(_(Ie,e,(()=>[])),t),s),kt=(e,t,s)=>I(X(X(X(k,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...he(Yt(e,t,s))])),At=e=>I(X(de,e),(([e,t])=>[!0,e,t]),(()=>[!1,...he(es(e))])),Mt=e=>q(pe)||q(Ge[e])?0:H(e?oe(pe):pe,((t,s)=>H(t,((t,l)=>H(t,((t,n)=>_e(Ge[e],[s,l,n],t))))))),Nt=e=>q(Ie)||q(He[e])?0:H(e?ne(Ie):Ie,((t,s)=>_e(He[e],[s],t))),Pt=(e,t,s)=>{if(!q(t))return _e(e,s,(()=>te(t))),1},Bt=e=>{const t=q(De[e]),s=q($e[e])&&q(Ne[e])&&q(Pe[e])&&q(Be[e])&&t&&q(Ae[e]),l=q(qe[e])&&q(We[e])&&q(Me[e])&&q(ke[e]);if(!s||!l){const n=e?[ne(i),ae(m),ne(w),ae(O),oe(j),oe(k)]:[i,m,w,O,j,k];if(!s){Pt(Ae[e],n[0]),H(n[1],((t,s)=>Pt(Ne[e],t,[s]))),H(n[2],((t,s)=>{0!=t&&_e(Pe[e],[s],Kt(s))}));const s=ce();H(n[3],((l,n)=>{Pt(Be[e],l,[n])&&!t&&(_e(De[e],[n,null]),ie(s,n))})),t||H(n[5],((t,l)=>{if(!$(s,l)){const s=ce();H(t,(e=>H(e,(([t,l],n)=>l!==t?ie(s,n):K(e,n))))),H(s,(t=>_e(De[e],[l,t])))}})),H(n[4],((t,s)=>H(t,((t,l)=>Pt($e[e],t,[s,l])))))}if(!l){let t;H(n[5],((s,l)=>{let n;H(s,((s,a)=>{let o;H(s,(([s,r],c)=>{r!==s&&(_e(qe[e],[l,a,c],r,s,kt),t=n=o=1)})),o&&_e(We[e],[l,a],kt)})),n&&_e(Me[e],[l],kt)})),t&&_e(ke[e],void 0,kt)}}},Dt=e=>{const t=q(Qe[e]),s=q(Ue[e])&&q(Ke[e]);if(!t||!s){const l=e?[ne(M),ne(de)]:[M,de];if(t||Pt(Qe[e],l[0]),!s){let t;H(l[1],(([s,l],n)=>{l!==s&&(_e(Ue[e],[n],l,s,At),t=1)})),t&&_e(Ke[e],void 0,At)}}},Wt=(e,...t)=>(hs((()=>e(...E(t,y)))),Ts),$t=()=>[te(k,((e,t)=>-1===X(i,t)?null:te(e,((e,s)=>-1===X(X(O,t),s)?null:te(e,(([,e])=>e??null),((e,t)=>Te(t)))),D)),D),te(de,(([,e])=>e??null),((e,t)=>Te(t)))],qt=()=>({cellsTouched:l,valuesTouched:n,changedCells:le(k,ge,Te),invalidCells:le(pe),changedValues:te(de,ge,Te),invalidValues:te(Ie),changedTableIds:te(i),changedRowIds:se(O),changedCellIds:le(j),changedValueIds:te(M)}),Gt=()=>le(Oe),Ht=()=>U(Oe),Kt=e=>W(X(Oe,y(e))),Qt=e=>U(X(Oe,y(e))),Ut=(e,t,s,l=0,n)=>{return E(x((o=X(Oe,y(e)),r=(e,s)=>[p(t)?s:X(e,y(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),E([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,p(n)?n:l+n),(([,e])=>e));var a,o,r},Xt=(e,t)=>U(X(X(Oe,y(e)),y(t))),Yt=(e,t,s)=>X(X(X(Oe,y(e)),y(t)),y(s)),Zt=()=>te(je),_t=()=>U(je),es=e=>X(je,y(e)),ts=e=>Wt((()=>(e=>ye(e,lt,Ot))(e)?ft(e):0)),ss=e=>Wt((()=>ot(e)?St(e):0)),ls=e=>{try{ht(ve(e))}catch{}return Ts},ns=t=>Wt((()=>{if((e=ye(t,(e=>ye(e,st))))&&(dt(t),!q(Oe))){const e=Gt();os(),ts(e)}})),as=e=>Wt((()=>{if(t=(e=>ye(e,st))(e)){const s=Zt();us(),is(),t=!0,ut(e),ss(s)}})),os=()=>Wt((()=>ft({}))),rs=e=>Wt((e=>$(Oe,e)?wt(e):0),e),cs=(e,t)=>Wt(((e,t)=>I(X(Oe,e),(s=>$(s,t)?pt(e,s,t):0))),e,t),is=()=>Wt((()=>St({}))),ds=()=>Wt((()=>{dt({}),e=!1})),us=()=>Wt((()=>{ut({}),t=!1})),hs=(e,t)=>{if(-1!=o){fs();const s=e();return gs(t),s}},fs=()=>(-1!=o&&o++,1==o&&_e(Xe,void 0,$t,qt),Ts),gs=e=>(o>0&&(o--,0==o&&(l=!q(k),n=!q(de),o=1,Mt(1),l&&Bt(1),Nt(1),n&&Dt(1),e?.($t,qt)&&(H(k,((e,t)=>H(e,((e,s)=>H(e,(([e],l)=>Ve(Ts,t,s,l,e))))))),H(de,(([e],t)=>Ce(Ts,t,e))),l=n=!1),_e(Ye[0],void 0,$t,qt),o=-1,Mt(0),l&&Bt(0),Nt(0),n&&Dt(0),_e(Ye[1],void 0,$t,qt),o=0,l=n=!1,L([i,m,w,O,j,k,pe,M,de,Ie],G))),Ts),Ts={getContent:()=>[Gt(),Zt()],getTables:Gt,getTableIds:Ht,getTable:e=>se(X(Oe,y(e))),getTableCellIds:e=>U(X(ze,y(e))),getRowCount:Kt,getRowIds:Qt,getSortedRowIds:Ut,getRow:(e,t)=>te(X(X(Oe,y(e)),y(t))),getCellIds:Xt,getCell:Yt,getValues:Zt,getValueIds:_t,getValue:es,hasTables:()=>!q(Oe),hasTable:e=>$(Oe,y(e)),hasTableCell:(e,t)=>$(X(ze,y(e)),y(t)),hasRow:(e,t)=>$(X(Oe,y(e)),y(t)),hasCell:(e,t,s)=>$(X(X(Oe,y(e)),y(t)),y(s)),hasValues:()=>!q(je),hasValue:e=>$(je,y(e)),getTablesJson:()=>Se(Oe),getValuesJson:()=>Se(je),getJson:()=>Se([Oe,je]),getTablesSchemaJson:()=>Se(Re),getValuesSchemaJson:()=>Se(Le),getSchemaJson:()=>Se([Re,Le]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Wt((()=>{(D(e)?os:ts)(e),(D(t)?is:ss)(t)})),setTables:ts,setTable:(e,t)=>Wt((e=>lt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>nt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>hs((()=>{let l;return nt(e,l,t)&&(e=y(e),Tt(e,mt(e),l=yt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(nt(e,t,s,1)){const l=mt(e);B(s,((s,n)=>Vt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Wt(((e,t,s)=>I(at(e,t,s,J(l)?l(Yt(e,t,s)):l),(l=>Vt(e,mt(e),t,s,l)))),e,t,s),setValues:ss,setPartialValues:e=>Wt((()=>ot(e,1)?B(e,((e,t)=>vt(t,e))):0)),setValue:(e,t)=>Wt((e=>I(rt(e,J(t)?t(es(e)):t),(t=>vt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{B(e[0],((e,t)=>p(e)?rs(t):B(e,((e,s)=>p(e)?cs(t,s):B(e,((e,l)=>Ve(Ts,t,s,l,e))))))),B(e[1],((e,t)=>Ce(Ts,t,e)))})),setTablesJson:ls,setValuesJson:e=>{try{Ct(ve(e))}catch{}return Ts},setJson:e=>Wt((()=>{try{const[t,s]=ve(e);ht(t),Ct(s)}catch{ls(e)}})),setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:cs,delCell:(e,t,s,l)=>Wt(((e,t,s)=>I(X(Oe,e),(n=>I(X(n,t),(a=>$(a,s)?It(e,n,t,a,s,l):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>$(je,e)?Rt(e):0),e),delTablesSchema:ds,delValuesSchema:us,delSchema:()=>Wt((()=>{ds(),us()})),transaction:hs,startTransaction:fs,finishTransaction:gs,forEachTable:e=>H(Oe,((t,s)=>e(s,(e=>H(t,((t,s)=>e(s,(e=>Y(t,e))))))))),forEachTableCell:(e,t)=>Y(X(ze,y(e)),t),forEachRow:(e,t)=>H(X(Oe,y(e)),((e,s)=>t(s,(t=>Y(e,t))))),forEachCell:(e,t,s)=>Y(X(X(Oe,y(e)),y(t)),s),forEachValue:e=>Y(je,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=Ut(e,t,s,l,n);return Ze((()=>{const o=Ut(e,t,s,l,n);var c,i,d;i=r,F(c=o)===F(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(Ts,e,t,s,l,n,r))}),De[o?1:0],[e,t],[Ht])},addStartTransactionListener:e=>Ze(e,Xe),addWillFinishTransactionListener:e=>Ze(e,Ye[0]),addDidFinishTransactionListener:e=>Ze(e,Ye[1]),callListener:e=>(tt(e),Ts),delListener:e=>(et(e),Ts),getListenerStats:()=>({}),createStore:we,addListener:Ze,callListeners:_e};return B({[u]:[0,ke],[h]:[0,Ae],[d]:[1,Me,[Ht]],[d+V]:[1,Ne,[Ht]],[g]:[1,Pe,[Ht]],[T]:[1,Be,[Ht]],[f]:[2,We,[Ht,Qt]],[V]:[2,$e,[Ht,Qt]],[b]:[3,qe,[Ht,Qt,Xt],e=>he(Yt(...e))],InvalidCell:[3,Ge],[S]:[0,Ke],[v]:[0,Qe],[C]:[1,Ue,[_t],e=>he(es(e[0]))],InvalidValue:[1,He]},(([e,t,s,l],n)=>{Ts["add"+n+"Listener"]=(...n)=>Ze(n[e],t[n[e+1]?1:0],e>0?x(n,0,e):void 0,s,l)})),A(Ts)};e.createStore=we},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
package/lib/umd/store.js.gz
CHANGED
|
Binary file
|
package/lib/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,T="Sorted"+w+h,R="Cell",v=R+h,y="Value",C=y+"s",p=y+h,b=e=>s+e,m=Math.max,V=Math.min,E=isFinite,k=(e,t)=>e instanceof t,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=()=>{},Q=(e,t)=>e.includes(t),z=(e,t)=>e.every(t),N=(e,t)=>$(e)===$(t)&&z(e,((e,s)=>t[s]===e)),j=(e,t)=>z(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),W=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,s)=>e.reduce(t,s),H=(e,t,s)=>e.slice(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>k(e,Y)&&e.constructor==Y,se=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>B(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>$(Z(e)))(e),re=e=>e?.size??0,ie=(e,t)=>e?.has(t)??!1,le=e=>M(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(ie(e,t)||Ie(e,t,s()),Le(e,t)),Te=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>ve(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),me=(e,t,s,n,a=0)=>x((s?Se:Le)(e,t[a],a>$(t)-2?s:ge),(o=>{if(a>$(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=me(o,t,s,n,a+1);return le(o)&&Ie(e,t[a]),r})),Ve=e=>{const s=t(e);return D(s)||s==o&&E(e)?s:void 0},Ee=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||M(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),i=ge(),l=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,Me);return P(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{P(q(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),le(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),ie(i,e)||(Ie(i,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>fe(r),e=>we(i,e),e=>ie(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&N(c,d)||Ie(l,t,[c,d]),!M(i)){const e=Le(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(l,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),de(l),de(u)};we(L,I),e.hasTable(n)&&P(e.getRowIds(n),(e=>{ie(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,l),()=>we(u,L),h,g]},Je=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Fe.test(t)&&$(e)<1e3&&K(e,t)}]},ze=e=>{let t;const[n,a]=Qe(),o=ge();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),xe(me(r,i??[s],Me),d),d},(e,n,...a)=>P(((e,t=[s])=>{const n=[],a=(e,s)=>s==$(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):P([t[s],null],(t=>a(Le(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](t,...n??[],...a))))),e=>x(Le(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(he(t,e),le(t)?1:0))),Ie(o,e),a(e),n))),e=>x(Le(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=$(r);i==$(s)?e(t,...r,...a(r)):M(s[i])?P(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),i=ge(),l=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),l=1},T=e=>{Ie(f,e),Ie(L,e),h(d,[e])},R=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??$(e)),T),v=()=>R(w,$(w)-o),y=()=>x(t,(()=>{K(w,t),v(),R(I),t=void 0,a=1})),C=()=>{t=U(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){y();const e=Se(r,t,ge),i=Se(e,s,ge),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&le(Ie(i,n))&&le(Ie(e,s))&&le(Ie(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Ie(i,t))&&C(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=ge(),i=ge(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(I,m()),S(0,t),t=U(w),a=1)},E=()=>{q(I)||(K(w,t),t=X(I),S(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>ie(f,e),F={setSize:e=>(o=e,v(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=Q(w,e)?V:Q(I,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(R(w),R(I),M(t)||T(t),t=void 0,n=0,D(),F),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const t=ge(),n=ge(),[a,o,r]=ze((()=>T)),[i,l,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>M(e)?s:A(e)?B(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=Me(),I=Me(),S=h(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{xe(w,e),x(Le(S,e),(t=>{he(t,s),le(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{xe(w,e),ie(S,e)||(Ie(S,e,Me()),L=1),xe(Le(S,e),s),M(r)||xe(I,e)}))})),s(),le(u)||(f?we(S,(e=>xe(I,e))):we(i,(e=>x(Le(d,e),(e=>xe(I,e))))),ue(I,(e=>{const t=(t,s)=>l(Le(u,t),Le(u,s),e),s=[...Le(S,e)];j(s,t)||(Ie(S,e,Me(O(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];j(t,c)||(g(e,ge(O(t,c))),L=1)}L&&o(t,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),x(r,Je)),T},delIndexDefinition:e=>(L(e),T),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ie(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),T),destroy:I,getListenerStats:()=>({})};return ee(T)})),Pe=ge([["avg",[(e,t)=>W(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,i,l,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ce(s),re(s)):e},We=Ae((e=>{const t=ge(),[n,a,o]=ze((()=>I)),[r,i,l,c,d,u,h,,g,f,L,w]=De(e,F,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),I={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:Le(Pe,n)??Le(Pe,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=re(r);l||=M(d),s();let f=Be(d,g,r,n,c,l);E(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),$e=ge(),qe=ge(),Ge=Ae((e=>{const t=e.createStore,n=t(),a=t(),o=ge(),{addListener:r,callListeners:i,delListener:l}=a,[h,f,L,y,C,,,p,,b,m,V,E,k]=De(e,(()=>!0),F,r,i),D=(e,t,...s)=>P(s,(s=>xe(Se(Se(o,t,ge),e,Me),s))),A=e=>{x(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),P([a,n],(t=>t.delTable(e)))},Q=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(t,o,r)=>{p(t,o),A(t);const i=[],l=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[$(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:Le(Pe,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=ge(i);if(le(h))return N;const g=ge(l);we(g,((e,[,t])=>x(Le(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=ge(d);let L=n;if(le(f)&&q(u))L=a;else{Q(t,L,a);const e=ge();we(f,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();we(h,(t=>ie(e,t)?0:xe(s,t)));const n=ge(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{we(n,((t,[s])=>{const n=Se(i,t,ge),a=Le(n,o),l=r?void 0:s;if(a!==l){const s=Me([[a,l]]),r=re(n);Ie(n,o,l),ue(Le(e,t),(([e,t])=>{const a=Be(d[e],r,n,s,t);d[e]=M(Ve(a))?null:a}))}})),le(l)||!z(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ge(),h=L.hasRow(t,i);let g=!h;ue(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),we(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(me(n,c,void 0,(([,e])=>(he(e,i),le(e)))),u,i,1),h&&o(me(n,d,(()=>{const e={};return ue(s,(s=>e[s]=L.getCell(t,i,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}Q(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);P(r,(n=>{const[a,,o,r,l]=Le(g,n),c=o?.(i,s),[d,u]=Le(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[Le(g,t)?.[0],Le(Le(g,t)?.[4],s)?.[0],n]);L.transaction((()=>z(c,(e=>e(n)))?we(h,((e,a)=>Ee(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:I}=Le(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(t,a),ue(g,(({4:e})=>x(Le(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),N},delQueryDefinition:e=>(A(e),b(e),N),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(N))),delListener:e=>(l(e),N),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+v]:[0,1],[I]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{P(e?["get","has","forEach"]:["get"],(e=>N[e+d+s]=(...t)=>a[e+s](...t))),N[u+d+s+c]=(...e)=>a[u+s+c](...H(e,0,t),((s,...n)=>e[t](N,...n)))})),ee(N)})),He=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,i,l]=ze((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s),r,i),T=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ie(a,t)){const o=Me();if(g(e)!=v(e))xe(o,t);else{let e=t;for(;!M(e)&&!ie(o,e);)xe(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),R=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),v=e=>Le(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=Me(),l=Me(),c=Me(),[d,u]=f(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(Le(u,t),(e=>{he(e,n),le(e)&&Ie(u,t)}))),M(s)||(xe(l,s),ie(u,s)||Ie(u,s,Me()),xe(Le(u,s),n)),xe(r,n),Ie(d,n,s),we(Le(o,e),(t=>{ie(T(e,t),n)&&xe(c,t)}))})),t(),ue(r,(t=>i(n,[e,t]))),ue(l,(t=>i(a,[e,t]))),ue(c,(t=>{R(e,t),i(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Ie(t,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:v,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ce(T(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),r(s,o,[e,t])),delListener:e=>(R(...l(e)??[]),y),destroy:S,getListenerStats:()=>({})};return ee(y)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),m=ge(),V=ge(),E=ge(),k=ge(),A=ge(),F=ge(),z=ge(),j=ge(),W=ge(),$=ge(),q=Me(),G=ge(),U=ge(),X=ge(),Y=ge(),Z=Ue(),_=Ue(),te=Ue(),ce=Ue(),me=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Oe=Ue(),Pe=Ue(),Be=Ue(),We=Ue(),$e=Ue(),qe=ge(),Ge=Ue(),[He,nt,at,ot]=ze((()=>Ts)),rt=e=>{if(!et(e,((e,t)=>Q([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},it=(t,s)=>(!e||ie(z,s)||zt(s))&&et(t,((e,t)=>lt(s,t,e)),(()=>zt(s))),lt=(e,t,s,n)=>et(n?s:ht(s,e,t),((n,a)=>x(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?x(Le(Le(z,t),n),(e=>Ve(a)!=e[i]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):M(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(Le(W,e),(t=>Ve(s)!=t[i]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):M(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(x(Le(j,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(ue($,((t,s)=>{se(e,s)||(e[s]=t)})),ue(q,(t=>{se(e,t)||Nt(t)}))),e),ft=e=>Te(z,e,((e,t,s)=>{const n=ge(),a=Me();Te(Se(z,t,ge),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>xe(a,t)))})),Ie(j,t,[n,a])}),((e,t)=>{Ie(z,t),Ie(j,t)})),Lt=e=>Te(W,e,((e,t,s)=>{Ie(W,t,s),x(s[l],(e=>Ie($,t,e)),(()=>xe(q,t)))}),((e,t)=>{Ie(W,t),Ie($,t),he(q,t)})),wt=e=>oe(e)?ds():os(e),It=e=>Te(X,e,((e,t,s)=>St(t,s)),((e,t)=>Vt(t))),St=(e,t)=>Te(Se(X,e,(()=>(xt(e,1),Ie(G,e,Qe()),Ie(U,e,ge()),ge()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>Et(e,t,s))),Tt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Dt(e,s,1),ge()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),Rt=(e,t,s,n,a)=>{ie(s,n)||Jt(e,t,n,1);const o=Le(s,n);a!==o&&(At(e,t,n,o,a),Ie(s,n,a))},vt=(e,t,s,n,a)=>x(Le(t,s),(t=>Rt(e,s,t,n,a)),(()=>Tt(e,t,s,ht({[n]:a},e,s)))),yt=e=>oe(e)?gs():rs(e),Ct=e=>Te(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{ie(Y,e)||Ft(e,1);const s=Le(Y,e);t!==s&&(Qt(e,s,t),Ie(Y,e,t))},bt=(e,t)=>{const[s]=Le(G,e),n=s(t);return ie(Le(X,e),n)?bt(e,t):n},mt=e=>Le(X,e)??St(e,{}),Vt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=Le(G,e);n(s),Tt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=Le(Le(j,e)?.[0],a);if(!M(r)&&!o)return Rt(e,s,n,a,r);const i=t=>{At(e,s,t,Le(n,t)),Jt(e,s,t,-1),Ie(n,t)};M(r)?i(a):we(n,i),le(n)&&(Dt(e,s,-1),le(Ie(t,s))&&(xt(e,-1),Ie(X,e),Ie(G,e),Ie(U,e)))},Mt=e=>{const t=Le($,e);if(!M(t))return pt(e,t);Qt(e,Le(Y,e)),Ft(e,-1),Ie(Y,e)},xt=(e,t)=>tt(r,e,t),Dt=(e,t,s)=>tt(Se(T,e,ge),t,s)&&Ie(h,e,Se(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(d,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(m,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Se(F,e,(()=>[])),t),s),jt=(e,t,s)=>x(Le(Le(Le(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),Ot=e=>x(Le(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(A)||le(Oe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>nt(Oe[e],[s,n,a],t))))))),Bt=e=>le(F)||le(Pe[e])?0:ue(e?Ce(F):F,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(Fe[e])&&le(ce[e])&&le(me[e])&&le(De[e])&&t&&le(_[e]),n=le(Ne[e])&&le(Ae[e])&&le(te[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(T),be(m),be(V)]:[r,d,h,T,m,V];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(me[e],[s],Yt(s))}));const s=Me();ue(a[3],((n,a)=>{Wt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),xe(s,a))})),t||ue(a[5],((t,n)=>{if(!ie(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?xe(s,a):he(e,a))))),ue(s,(t=>nt(Je[e],[n,t])))}})),ue(a[4],((t,s)=>ue(t,((t,n)=>Wt(Fe[e],t,[s,n])))))}if(!n){let t;ue(a[5],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,i],l)=>{i!==s&&(nt(Ne[e],[n,o,l],i,s,jt),t=a=r=1)})),r&&nt(Ae[e],[n,o],jt)})),a&&nt(te[e],[n],jt)})),t&&nt(Z[e],void 0,jt)}}},qt=e=>{const t=le(We[e]),s=le($e[e])&&le(Be[e]);if(!t||!s){const n=e?[Ce(E),Ce(k)]:[E,k];if(t||Wt(We[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Ot),t=1)})),t&&nt(Be[e],void 0,Ot)}}},Gt=(e,...t)=>(ws((()=>e(...B(t,b)))),Ts),Ht=()=>[Re(V,((e,t)=>-1===Le(r,t)?null:Re(e,((e,s)=>-1===Le(Le(T,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),Re(k,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(V,Xe,Ye),invalidCells:ye(A),changedValues:Re(k,Xe,Ye),invalidValues:Re(F),changedTableIds:Re(r),changedRowIds:ve(T),changedCellIds:ye(m),changedValueIds:Re(E)}),Ut=()=>ye(X),Xt=()=>fe(X),Yt=e=>re(Le(X,b(e))),Zt=e=>fe(Le(X,b(e))),_t=(e,t,s,n=0,a)=>{return B(H(O((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(e,b(t)),s],B([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>fe(Le(Le(X,b(e)),b(t))),ts=(e,t,s)=>Le(Le(Le(X,b(e)),b(t)),b(s)),ss=()=>Re(Y),ns=()=>fe(Y),as=e=>Le(Y,b(e)),os=e=>Gt((()=>(e=>et(e,it,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),is=e=>{try{wt(_e(e))}catch{}return Ts},ls=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(Le(X,e),(s=>ie(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=a){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),Ts),Ss=e=>(a>0&&(a--,0==a&&(s=!le(V),n=!le(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(V,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(Ts,t,s,n,e))))))),ue(k,(([e],t)=>ke(Ts,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),a=0,s=n=!1,P([r,d,h,T,m,V,A,E,k,F],de))),Ts),Ts={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(Le(X,b(e))),getTableCellIds:e=>fe(Le(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(Le(Le(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(Le(U,b(e)),b(t)),hasRow:(e,t)=>ie(Le(X,b(e)),b(t)),hasCell:(e,t,s)=>ie(Le(Le(X,b(e)),b(t)),b(s)),hasValues:()=>!le(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(z),getValuesSchemaJson:()=>Ze(W),getSchemaJson:()=>Ze([z,W]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>it(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>lt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return lt(e,n,t)&&(e=b(e),Tt(e,mt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(lt(e,t,s,1)){const n=mt(e);ae(s,((s,a)=>vt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>x(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>vt(e,mt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ae(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ae(e[0],((e,t)=>M(e)?us(t):ae(e,((e,s)=>M(e)?hs(t,s):ae(e,((e,n)=>Ee(Ts,t,s,n,e))))))),ae(e[1],((e,t)=>ke(Ts,t,e)))})),setTablesJson:is,setValuesJson:e=>{try{yt(_e(e))}catch{}return Ts},setJson:e=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{is(e)}return Ts},setTablesSchema:ls,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{ls(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(Le(X,e),(a=>x(Le(a,t),(o=>ie(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>ie(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,b(e)),t),forEachRow:(e,t)=>ue(Le(X,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,b(e)),b(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);N(r,i)||(i=r,o(Ts,e,t,s,n,a,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Ts),delListener:e=>(at(e),Ts),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ae({[f]:[0,Z],[L]:[0,_],[g]:[1,te,[Xt]],[g+v]:[1,ce,[Xt]],[I]:[1,me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[v]:[2,Fe,[Xt,Zt]],[R]:[3,Ne,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[y]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Ts[u+a+c]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?H(a,0,e):void 0,s,n)})),ee(Ts)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let i,l,c,d=0,u=0;Se($e,r,(()=>0)),Se(qe,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(x(i,e.delListener),g),schedule:async(...e)=>(K(Le(qe,r),...e),await(async()=>{if(!Le($e,r)){for(Ie($e,r,1);!M(l=X(Le(qe,r)));)try{await l()}catch(e){o?.(e)}Ie($e,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=Ge,e.createRelationships=He,e.createStore=st,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),a=t(!0),o=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",I=w+"Count",S=w+h,T="Sorted"+w+h,R="Cell",v=R+h,y="Value",C=y+"s",p=y+h,b=e=>s+e,m=Math.max,V=Math.min,E=isFinite,k=(e,t)=>e instanceof t,M=e=>null==e,x=(e,t,s)=>M(e)?s?.():t(e),D=e=>e==n||e==a,J=e=>t(e)==r,A=e=>Array.isArray(e),F=()=>{},Q=(e,t)=>e.includes(t),z=(e,t)=>e.every(t),N=(e,t)=>$(e)===$(t)&&z(e,((e,s)=>t[s]===e)),j=(e,t)=>z(e,((s,n)=>0==n||t(e[n-1],s)<=0)),O=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),B=(e,t)=>e.map(t),W=e=>G(e,((e,t)=>e+t),0),$=e=>e.length,q=e=>0==$(e),G=(e,t,s)=>e.reduce(t,s),H=(e,t,s)=>e.slice(t,s),K=(e,...t)=>e.push(...t),U=e=>e.pop(),X=e=>e.shift(),Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>k(e,Y)&&e.constructor==Y,se=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>B(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>$(Z(e)))(e),re=e=>e?.size??0,ie=(e,t)=>e?.has(t)??!1,le=e=>M(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),Ie=(e,t,s)=>M(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(ie(e,t)||Ie(e,t,s()),Le(e,t)),Te=(e,t,s,n=Ie)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ve=(e,t,s)=>Re(e,(e=>Re(e,t,s)),oe),ye=(e,t,s)=>Re(e,(e=>ve(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),me=(e,t,s,n,a=0)=>x((s?Se:Le)(e,t[a],a>$(t)-2?s:ge),(o=>{if(a>$(t)-2)return n?.(o)&&Ie(e,t[a]),o;const r=me(o,t,s,n,a+1);return le(o)&&Ie(e,t[a]),r})),Ve=e=>{const s=t(e);return D(s)||s==o&&E(e)?s:void 0},Ee=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(A(e)||M(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s,n,a)=>{const o=e.hasRow,r=ge(),i=ge(),l=ge(),c=ge(),d=ge(),u=ge(),h=(t,s,...n)=>{const a=Se(u,t,Me);return P(n,(t=>xe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(Le(u,t),(n=>{P(q(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),le(n)&&Ie(u,t)})),f=(e,s)=>{Ie(r,e,s),ie(i,e)||(Ie(i,e,t()),Ie(c,e,ge()),Ie(d,e,ge()),a(l))},L=e=>{Ie(r,e),Ie(i,e),Ie(c,e),Ie(d,e),g(e),a(l)};return[()=>e,()=>fe(r),e=>we(i,e),e=>ie(i,e),e=>Le(r,e),e=>Le(i,e),(e,t)=>Ie(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=ge(),u=ge(),L=Le(c,t),w=Le(d,t),I=t=>{const a=s=>e.getCell(n,t,s),c=Le(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&N(c,d)||Ie(l,t,[c,d]),!M(i)){const e=Le(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Ie(u,t,s)}},S=e=>{a((()=>{ue(l,(([,e],t)=>Ie(L,t,e))),ue(u,((e,t)=>Ie(w,t,e)))}),l,u,L,w,e),de(l),de(u)};we(L,I),e.hasTable(n)&&P(e.getRowIds(n),(e=>{ie(L,e)||I(e)})),S(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>I(s))),e.addTableListener(n,(()=>S())))},L,e=>n(e,l),()=>we(u,L),h,g]},Je=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?X(e):null)??s+t++,t=>{Fe.test(t)&&$(e)<1e3&&K(e,t)}]},ze=e=>{let t;const[n,a]=Qe(),o=ge();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Ie(o,d,[a,r,i,l,c]),xe(me(r,i??[s],Me),d),d},(e,n,...a)=>P(((e,t=[s])=>{const n=[],a=(e,s)=>s==$(t)?K(n,e):null===t[s]?ue(e,(e=>a(e,s+1))):P([t[s],null],(t=>a(Le(e,t),s+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](t,...n??[],...a))))),e=>x(Le(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(he(t,e),le(t)?1:0))),Ie(o,e),a(e),n))),e=>x(Le(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=$(r);i==$(s)?e(t,...r,...a(r)):M(s[i])?P(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Ne=Ae((e=>{let t,n,a,o=100,r=ge(),i=ge(),l=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>F)),f=ge(),L=ge(),w=[],I=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),l=1},T=e=>{Ie(f,e),Ie(L,e),h(d,[e])},R=(e,t)=>P(((e,t)=>e.splice(0,t))(e,t??$(e)),T),v=()=>R(w,$(w)-o),y=()=>x(t,(()=>{K(w,t),v(),R(I),t=void 0,a=1})),C=()=>{t=U(w),a=1},p=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){y();const e=Se(r,t,ge),i=Se(e,s,ge),l=Se(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&le(Ie(i,n))&&le(Ie(e,s))&&le(Ie(r,t))&&C(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&le(Ie(i,t))&&C(),k()}})),m=(e="")=>(M(t)&&(t=s+n++,Ie(f,t,[r,i]),J(t,e),r=ge(),i=ge(),a=1),t),V=()=>{q(w)||(((e,...t)=>{e.unshift(...t)})(I,m()),S(0,t),t=U(w),a=1)},E=()=>{q(I)||(K(w,t),t=X(I),S(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&Le(L,e)!==t&&(Ie(L,e,t),h(d,[e])),F),A=e=>ie(f,e),F={setSize:e=>(o=e,v(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...I]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:A,getCheckpoint:e=>Le(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=Q(w,e)?V:Q(I,e)?E:null;for(;!M(s)&&e!=t;)s();return k(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(R(w),R(I),M(t)||T(t),t=void 0,n=0,D(),F),destroy:()=>{e.delListener(p),e.delListener(b)},getListenerStats:()=>({})};return ee(F.clear())})),je=(e,t)=>(e??0)<(t??0)?-1:1,Oe=Ae((e=>{const t=ge(),n=ge(),[a,o,r]=ze((()=>T)),[i,l,c,d,u,h,g,,f,L,w,I]=De(e,ge,(e=>M(e)?s:A(e)?B(e,b):b(e)),a,o),S=(t,s,n)=>{const a=u(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,r,i,l=je)=>{const c=M(i)?void 0:([e],[t])=>i(e,t);return f(e,s,((s,a,i,d,u,f)=>{let L=0;const w=Me(),I=Me(),S=h(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{xe(w,e),x(Le(S,e),(t=>{he(t,s),le(t)&&(Ie(S,e),L=1)}))})),ue(a,(e=>{xe(w,e),ie(S,e)||(Ie(S,e,Me()),L=1),xe(Le(S,e),s),M(r)||xe(I,e)}))})),s(),le(u)||(f?we(S,(e=>xe(I,e))):we(i,(e=>x(Le(d,e),(e=>xe(I,e))))),ue(I,(e=>{const t=(t,s)=>l(Le(u,t),Le(u,s),e),s=[...Le(S,e)];j(s,t)||(Ie(S,e,Me(O(s,t))),xe(w,e))}))),(L||f)&&!M(c)){const t=[...S];j(t,c)||(g(e,ge(O(t,c))),L=1)}L&&o(t,[e]),ue(w,(t=>o(n,[e,t])))}),Je(a),x(r,Je)),T},delIndexDefinition:e=>(L(e),T),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ie(h(e),t),getTableId:u,getSliceIds:e=>fe(h(e)),getSliceRowIds:(e,t)=>ce(Le(h(e),t)),addIndexIdsListener:w,addSliceIdsListener:(e,s)=>a(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>a(s,n,[e,t]),delListener:e=>(r(e),T),destroy:I,getListenerStats:()=>({})};return ee(T)})),Pe=ge([["avg",[(e,t)=>W(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["sum",[e=>W(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,a,o=!1)=>{if(le(s))return;const[r,i,l,c]=a;return o||=M(e),ue(n,(([s,n])=>{o||(e=M(s)?i?.(e,n,t++):M(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=M(e))})),o?r(ce(s),re(s)):e},We=Ae((e=>{const t=ge(),[n,a,o]=ze((()=>I)),[r,i,l,c,d,u,h,,g,f,L,w]=De(e,F,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),I={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:Le(Pe,n)??Le(Pe,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=re(r);l||=M(d),s();let f=Be(d,g,r,n,c,l);E(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Je(o,1)),I},delMetricDefinition:e=>(f(e),I),getStore:r,getMetricIds:i,forEachMetric:l,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),I),destroy:w,getListenerStats:()=>({})};return ee(I)})),$e=ge(),qe=ge(),Ge=Ae((e=>{const t=e.createStore,n=t(),a=t(),o=ge(),{addListener:r,callListeners:i,delListener:l}=a,[h,f,L,y,C,,,p,,b,m,V,E,k]=De(e,(()=>!0),F,r,i),D=(e,t,...s)=>P(s,(s=>xe(Se(Se(o,t,ge),e,Me),s))),A=e=>{x(Le(o,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),P([a,n],(t=>t.delTable(e)))},Q=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),N={setQueryDefinition:(t,o,r)=>{p(t,o),A(t);const i=[],l=[[null,[o,null,null,[],ge()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[$(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return K(i,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=M(s)||J(t)?null:t,a=M(n)?t:s,o=[e,[e,n,J(a)?a:e=>e(a),[],ge()]];return K(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>K(c,J(e)?e:M(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,J(t)?[t,s,n,a]:Le(Pe,t)??[(e,t)=>t]]];return K(d,o),{as:e=>o[0]=e}},having:(e,t)=>K(u,J(e)?e:s=>s(e)===t)});const h=ge(i);if(le(h))return N;const g=ge(l);we(g,((e,[,t])=>x(Le(g,t),(({3:t})=>M(e)?0:K(t,e)))));const f=ge(d);let L=n;if(le(f)&&q(u))L=a;else{Q(t,L,a);const e=ge();we(f,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();we(h,(t=>ie(e,t)?0:xe(s,t)));const n=ge(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{we(n,((t,[s])=>{const n=Se(i,t,ge),a=Le(n,o),l=r?void 0:s;if(a!==l){const s=Me([[a,l]]),r=re(n);Ie(n,o,l),ue(Le(e,t),(([e,t])=>{const a=Be(d[e],r,n,s,t);d[e]=M(Ve(a))?null:a}))}})),le(l)||!z(u,(e=>e((e=>d[e]))))?a.delRow(t,c):M(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));D(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ge(),h=L.hasRow(t,i);let g=!h;ue(s,(e=>{const[s,n,a]=l(t,i,e);K(c,n),K(d,a),g||=s})),we(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Ie(u,e,[n])})),g&&o(me(n,c,void 0,(([,e])=>(he(e,i),le(e)))),u,i,1),h&&o(me(n,d,(()=>{const e={};return ue(s,(s=>e[s]=L.getCell(t,i,s))),[ge(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}Q(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);P(r,(n=>{const[a,,o,r,l]=Le(g,n),c=o?.(i,s),[d,u]=Le(l,s)??[];c!=d&&(M(u)||k(t,u),Ie(l,s,M(c)?null:[c,...E(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...M(n)?[o,s,t]:t===o?[o,s,n]:[Le(g,t)?.[0],Le(Le(g,t)?.[4],s)?.[0],n]);L.transaction((()=>z(c,(e=>e(n)))?we(h,((e,a)=>Ee(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:I}=Le(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,I):(L.delRow(t,a),ue(g,(({4:e})=>x(Le(e,a),(([,s])=>{k(t,s),Ie(e,a)})))))}))))),N},delQueryDefinition:e=>(A(e),b(e),N),getStore:h,getQueryIds:f,forEachQuery:L,hasQuery:y,getTableId:C,addQueryIdsListener:e=>m((()=>e(N))),delListener:e=>(l(e),N),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ae({[g]:[1,1],[g+v]:[0,1],[I]:[0,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[v]:[0,2],[R]:[1,3]},(([e,t],s)=>{P(e?["get","has","forEach"]:["get"],(e=>N[e+d+s]=(...t)=>a[e+s](...t))),N[u+d+s+c]=(...e)=>a[u+s+c](...H(e,0,t),((s,...n)=>e[t](N,...n)))})),ee(N)})),He=Ae((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,i,l]=ze((()=>y)),[c,d,u,h,g,f,,,L,w,I,S]=De(e,(()=>[ge(),ge(),ge(),ge()]),(e=>M(e)?void 0:e+s),r,i),T=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ie(a,t)){const o=Me();if(g(e)!=v(e))xe(o,t);else{let e=t;for(;!M(e)&&!ie(o,e);)xe(o,e),e=Le(n,e)}if(s)return o;Ie(a,t,o)}return Le(a,t)})),R=(e,t)=>x(f(e),(([,,e])=>Ie(e,t))),v=e=>Le(t,e),y={setRelationshipDefinition:(e,s,r,l)=>(Ie(t,e,r),L(e,s,((t,s)=>{const r=Me(),l=Me(),c=Me(),[d,u]=f(e);ue(s,(([t,s],n)=>{M(t)||(xe(l,t),x(Le(u,t),(e=>{he(e,n),le(e)&&Ie(u,t)}))),M(s)||(xe(l,s),ie(u,s)||Ie(u,s,Me()),xe(Le(u,s),n)),xe(r,n),Ie(d,n,s),we(Le(o,e),(t=>{ie(T(e,t),n)&&xe(c,t)}))})),t(),ue(r,(t=>i(n,[e,t]))),ue(l,(t=>i(a,[e,t]))),ue(c,(t=>{R(e,t),i(o,[e,t])}))}),Je(l)),y),delRelationshipDefinition:e=>(Ie(t,e),w(e),y),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:v,getRemoteRowId:(e,t)=>Le(f(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ce(T(e,t,!0)),addRelationshipIdsListener:I,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),r(s,o,[e,t])),delListener:e=>(R(...l(e)??[]),y),destroy:S,getListenerStats:()=>({})};return ee(y)})),Ke=e=>[e,e],Ue=()=>[ge(),ge()],Xe=e=>[...e],Ye=([e,t])=>e===t,Ze=e=>JSON.stringify(e,((e,t)=>k(t,Map)?Y.fromEntries([...t]):t)),_e=JSON.parse,et=(e,t,s)=>M(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),tt=(e,t,s)=>Ie(e,t,Le(e,t)==-s?void 0:s),st=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),m=ge(),V=ge(),E=ge(),k=ge(),A=ge(),F=ge(),z=ge(),j=ge(),W=ge(),$=ge(),q=Me(),G=ge(),U=ge(),X=ge(),Y=ge(),Z=Ue(),_=Ue(),te=Ue(),ce=Ue(),me=Ue(),De=Ue(),Je=Ue(),Ae=Ue(),Fe=Ue(),Ne=Ue(),Oe=Ue(),Pe=Ue(),Be=Ue(),We=Ue(),$e=Ue(),qe=ge(),Ge=Ue(),[He,nt,at,ot]=ze((()=>Ts)),rt=e=>{if(!et(e,((e,t)=>Q([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(Ve(e[l])!=t&&ne(e,l),0))},it=(t,s)=>(!e||ie(z,s)||zt(s))&&et(t,((e,t)=>lt(s,t,e)),(()=>zt(s))),lt=(e,t,s,n)=>et(n?s:ht(s,e,t),((n,a)=>x(ct(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>zt(e,t))),ct=(t,s,n,a)=>e?x(Le(Le(z,t),n),(e=>Ve(a)!=e[i]?zt(t,s,n,a,e[l]):a),(()=>zt(t,s,n,a))):M(Ve(a))?zt(t,s,n,a):a,dt=(e,t)=>et(t?e:gt(e),((t,s)=>x(ut(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Nt())),ut=(e,s)=>t?x(Le(W,e),(t=>Ve(s)!=t[i]?Nt(e,s,t[l]):s),(()=>Nt(e,s))):M(Ve(s))?Nt(e,s):s,ht=(e,t,s)=>(x(Le(j,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||zt(t,s,n)}))})),e),gt=e=>(t&&(ue($,((t,s)=>{se(e,s)||(e[s]=t)})),ue(q,(t=>{se(e,t)||Nt(t)}))),e),ft=e=>Te(z,e,((e,t,s)=>{const n=ge(),a=Me();Te(Se(z,t,ge),s,((e,t,s)=>{Ie(e,t,s),x(s[l],(e=>Ie(n,t,e)),(()=>xe(a,t)))})),Ie(j,t,[n,a])}),((e,t)=>{Ie(z,t),Ie(j,t)})),Lt=e=>Te(W,e,((e,t,s)=>{Ie(W,t,s),x(s[l],(e=>Ie($,t,e)),(()=>xe(q,t)))}),((e,t)=>{Ie(W,t),Ie($,t),he(q,t)})),wt=e=>oe(e)?ds():os(e),It=e=>Te(X,e,((e,t,s)=>St(t,s)),((e,t)=>Vt(t))),St=(e,t)=>Te(Se(X,e,(()=>(xt(e,1),Ie(G,e,Qe()),Ie(U,e,ge()),ge()))),t,((t,s,n)=>Tt(e,t,s,n)),((t,s)=>Et(e,t,s))),Tt=(e,t,s,n,a)=>Te(Se(t,s,(()=>(Dt(e,s,1),ge()))),n,((t,n,a)=>Rt(e,s,t,n,a)),((n,o)=>kt(e,t,s,n,o,a))),Rt=(e,t,s,n,a)=>{ie(s,n)||Jt(e,t,n,1);const o=Le(s,n);a!==o&&(At(e,t,n,o,a),Ie(s,n,a))},vt=(e,t,s,n,a)=>x(Le(t,s),(t=>Rt(e,s,t,n,a)),(()=>Tt(e,t,s,ht({[n]:a},e,s)))),yt=e=>oe(e)?gs():rs(e),Ct=e=>Te(Y,e,((e,t,s)=>pt(t,s)),((e,t)=>Mt(t))),pt=(e,t)=>{ie(Y,e)||Ft(e,1);const s=Le(Y,e);t!==s&&(Qt(e,s,t),Ie(Y,e,t))},bt=(e,t)=>{const[s]=Le(G,e),n=s(t);return ie(Le(X,e),n)?bt(e,t):n},mt=e=>Le(X,e)??St(e,{}),Vt=e=>St(e,{}),Et=(e,t,s)=>{const[,n]=Le(G,e);n(s),Tt(e,t,s,{},!0)},kt=(e,t,s,n,a,o)=>{const r=Le(Le(j,e)?.[0],a);if(!M(r)&&!o)return Rt(e,s,n,a,r);const i=t=>{At(e,s,t,Le(n,t)),Jt(e,s,t,-1),Ie(n,t)};M(r)?i(a):we(n,i),le(n)&&(Dt(e,s,-1),le(Ie(t,s))&&(xt(e,-1),Ie(X,e),Ie(G,e),Ie(U,e)))},Mt=e=>{const t=Le($,e);if(!M(t))return pt(e,t);Qt(e,Le(Y,e)),Ft(e,-1),Ie(Y,e)},xt=(e,t)=>tt(r,e,t),Dt=(e,t,s)=>tt(Se(T,e,ge),t,s)&&Ie(h,e,Se(h,e,(()=>0))+s),Jt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&tt(Se(d,e,ge),s,n),Ie(a,s,o!=-n?o+n:null),tt(Se(Se(m,e,ge),t,ge),s,n)},At=(e,t,s,n,a)=>Se(Se(Se(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Ft=(e,t)=>tt(E,e,t),Qt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,zt=(e,t,s,n,a)=>(K(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),Nt=(e,t,s)=>(K(Se(F,e,(()=>[])),t),s),jt=(e,t,s)=>x(Le(Le(Le(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(ts(e,t,s))])),Ot=e=>x(Le(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(as(e))])),Pt=e=>le(A)||le(Oe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>nt(Oe[e],[s,n,a],t))))))),Bt=e=>le(F)||le(Pe[e])?0:ue(e?Ce(F):F,((t,s)=>nt(Pe[e],[s],t))),Wt=(e,t,s)=>{if(!le(t))return nt(e,s,(()=>Re(t))),1},$t=e=>{const t=le(Je[e]),s=le(Fe[e])&&le(ce[e])&&le(me[e])&&le(De[e])&&t&&le(_[e]),n=le(Ne[e])&&le(Ae[e])&&le(te[e])&&le(Z[e]);if(!s||!n){const a=e?[Ce(r),pe(d),Ce(h),pe(T),be(m),be(V)]:[r,d,h,T,m,V];if(!s){Wt(_[e],a[0]),ue(a[1],((t,s)=>Wt(ce[e],t,[s]))),ue(a[2],((t,s)=>{0!=t&&nt(me[e],[s],Yt(s))}));const s=Me();ue(a[3],((n,a)=>{Wt(De[e],n,[a])&&!t&&(nt(Je[e],[a,null]),xe(s,a))})),t||ue(a[5],((t,n)=>{if(!ie(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?xe(s,a):he(e,a))))),ue(s,(t=>nt(Je[e],[n,t])))}})),ue(a[4],((t,s)=>ue(t,((t,n)=>Wt(Fe[e],t,[s,n])))))}if(!n){let t;ue(a[5],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,i],l)=>{i!==s&&(nt(Ne[e],[n,o,l],i,s,jt),t=a=r=1)})),r&&nt(Ae[e],[n,o],jt)})),a&&nt(te[e],[n],jt)})),t&&nt(Z[e],void 0,jt)}}},qt=e=>{const t=le(We[e]),s=le($e[e])&&le(Be[e]);if(!t||!s){const n=e?[Ce(E),Ce(k)]:[E,k];if(t||Wt(We[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(nt($e[e],[a],n,s,Ot),t=1)})),t&&nt(Be[e],void 0,Ot)}}},Gt=(e,...t)=>(ws((()=>e(...B(t,b)))),Ts),Ht=()=>[Re(V,((e,t)=>-1===Le(r,t)?null:Re(e,((e,s)=>-1===Le(Le(T,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ye(t)))),oe)),oe),Re(k,(([,e])=>e??null),((e,t)=>Ye(t)))],Kt=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(V,Xe,Ye),invalidCells:ye(A),changedValues:Re(k,Xe,Ye),invalidValues:Re(F),changedTableIds:Re(r),changedRowIds:ve(T),changedCellIds:ye(m),changedValueIds:Re(E)}),Ut=()=>ye(X),Xt=()=>fe(X),Yt=e=>re(Le(X,b(e))),Zt=e=>fe(Le(X,b(e))),_t=(e,t,s,n=0,a)=>{return B(H(O((o=Le(X,b(e)),r=(e,s)=>[M(t)?s:Le(e,b(t)),s],B([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,M(a)?a:n+a),(([,e])=>e));var o,r},es=(e,t)=>fe(Le(Le(X,b(e)),b(t))),ts=(e,t,s)=>Le(Le(Le(X,b(e)),b(t)),b(s)),ss=()=>Re(Y),ns=()=>fe(Y),as=e=>Le(Y,b(e)),os=e=>Gt((()=>(e=>et(e,it,zt))(e)?It(e):0)),rs=e=>Gt((()=>dt(e)?Ct(e):0)),is=e=>{try{wt(_e(e))}catch{}return Ts},ls=t=>Gt((()=>{if((e=et(t,(e=>et(e,rt))))&&(ft(t),!le(X))){const e=Ut();ds(),os(e)}})),cs=e=>Gt((()=>{if(t=(e=>et(e,rt))(e)){const s=ss();Ls(),gs(),t=!0,Lt(e),rs(s)}})),ds=()=>Gt((()=>It({}))),us=e=>Gt((e=>ie(X,e)?Vt(e):0),e),hs=(e,t)=>Gt(((e,t)=>x(Le(X,e),(s=>ie(s,t)?Et(e,s,t):0))),e,t),gs=()=>Gt((()=>Ct({}))),fs=()=>Gt((()=>{ft({}),e=!1})),Ls=()=>Gt((()=>{Lt({}),t=!1})),ws=(e,t)=>{if(-1!=a){Is();const s=e();return Ss(t),s}},Is=()=>(-1!=a&&a++,1==a&&nt(qe,void 0,Ht,Kt),Ts),Ss=e=>(a>0&&(a--,0==a&&(s=!le(V),n=!le(k),a=1,Pt(1),s&&$t(1),Bt(1),n&&qt(1),e?.(Ht,Kt)&&(ue(V,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(Ts,t,s,n,e))))))),ue(k,(([e],t)=>ke(Ts,t,e))),s=n=!1),nt(Ge[0],void 0,Ht,Kt),a=-1,Pt(0),s&&$t(0),Bt(0),n&&qt(0),nt(Ge[1],void 0,Ht,Kt),a=0,s=n=!1,P([r,d,h,T,m,V,A,E,k,F],de))),Ts),Ts={getContent:()=>[Ut(),ss()],getTables:Ut,getTableIds:Xt,getTable:e=>ve(Le(X,b(e))),getTableCellIds:e=>fe(Le(U,b(e))),getRowCount:Yt,getRowIds:Zt,getSortedRowIds:_t,getRow:(e,t)=>Re(Le(Le(X,b(e)),b(t))),getCellIds:es,getCell:ts,getValues:ss,getValueIds:ns,getValue:as,hasTables:()=>!le(X),hasTable:e=>ie(X,b(e)),hasTableCell:(e,t)=>ie(Le(U,b(e)),b(t)),hasRow:(e,t)=>ie(Le(X,b(e)),b(t)),hasCell:(e,t,s)=>ie(Le(Le(X,b(e)),b(t)),b(s)),hasValues:()=>!le(Y),hasValue:e=>ie(Y,b(e)),getTablesJson:()=>Ze(X),getValuesJson:()=>Ze(Y),getJson:()=>Ze([X,Y]),getTablesSchemaJson:()=>Ze(z),getValuesSchemaJson:()=>Ze(W),getSchemaJson:()=>Ze([z,W]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Gt((()=>{(oe(e)?ds:os)(e),(oe(t)?gs:rs)(t)})),setTables:os,setTable:(e,t)=>Gt((e=>it(t,e)?St(e,t):0),e),setRow:(e,t,s)=>Gt(((e,t)=>lt(e,t,s)?Tt(e,mt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ws((()=>{let n;return lt(e,n,t)&&(e=b(e),Tt(e,mt(e),n=bt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Gt(((e,t)=>{if(lt(e,t,s,1)){const n=mt(e);ae(s,((s,a)=>vt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Gt(((e,t,s)=>x(ct(e,t,s,J(n)?n(ts(e,t,s)):n),(n=>vt(e,mt(e),t,s,n)))),e,t,s),setValues:rs,setPartialValues:e=>Gt((()=>dt(e,1)?ae(e,((e,t)=>pt(t,e))):0)),setValue:(e,t)=>Gt((e=>x(ut(e,J(t)?t(as(e)):t),(t=>pt(e,t)))),e),setTransactionChanges:e=>Gt((()=>{ae(e[0],((e,t)=>M(e)?us(t):ae(e,((e,s)=>M(e)?hs(t,s):ae(e,((e,n)=>Ee(Ts,t,s,n,e))))))),ae(e[1],((e,t)=>ke(Ts,t,e)))})),setTablesJson:is,setValuesJson:e=>{try{yt(_e(e))}catch{}return Ts},setJson:e=>Gt((()=>{try{const[t,s]=_e(e);wt(t),yt(s)}catch{is(e)}})),setTablesSchema:ls,setValuesSchema:cs,setSchema:(e,t)=>Gt((()=>{ls(e),cs(t)})),delTables:ds,delTable:us,delRow:hs,delCell:(e,t,s,n)=>Gt(((e,t,s)=>x(Le(X,e),(a=>x(Le(a,t),(o=>ie(o,s)?kt(e,a,t,o,s,n):0))))),e,t,s),delValues:gs,delValue:e=>Gt((e=>ie(Y,e)?Mt(e):0),e),delTablesSchema:fs,delValuesSchema:Ls,delSchema:()=>Gt((()=>{fs(),Ls()})),transaction:ws,startTransaction:Is,finishTransaction:Ss,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,b(e)),t),forEachRow:(e,t)=>ue(Le(X,b(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,b(e)),b(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=_t(e,t,s,n,a);return He((()=>{const r=_t(e,t,s,n,a);N(r,i)||(i=r,o(Ts,e,t,s,n,a,i))}),Je[r?1:0],[e,t],[Xt])},addStartTransactionListener:e=>He(e,qe),addWillFinishTransactionListener:e=>He(e,Ge[0]),addDidFinishTransactionListener:e=>He(e,Ge[1]),callListener:e=>(ot(e),Ts),delListener:e=>(at(e),Ts),getListenerStats:()=>({}),createStore:st,addListener:He,callListeners:nt};return ae({[f]:[0,Z],[L]:[0,_],[g]:[1,te,[Xt]],[g+v]:[1,ce,[Xt]],[I]:[1,me,[Xt]],[S]:[1,De,[Xt]],[w]:[2,Ae,[Xt,Zt]],[v]:[2,Fe,[Xt,Zt]],[R]:[3,Ne,[Xt,Zt,es],e=>Ke(ts(...e))],InvalidCell:[3,Oe],[C]:[0,Be],[p]:[0,We],[y]:[1,$e,[ns],e=>Ke(as(e[0]))],InvalidValue:[1,Pe]},(([e,t,s,n],a)=>{Ts[u+a+c]=(...a)=>He(a[e],t[a[e+1]?1:0],e>0?H(a,0,e):void 0,s,n)})),ee(Ts)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,a,o,r=[])=>{let i,l,c,d=0,u=0;Se($e,r,(()=>0)),Se(qe,r,(()=>[]));const h=async e=>(2!=d&&(d=1,await g.schedule((async()=>{await e(),d=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),u=1,c=n((async(s,n)=>{if(n){const t=n();await h((async()=>e.setTransactionChanges(t)))}else await h((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),g),stopAutoLoad:()=>(u&&(a(c),c=void 0,u=0),g),save:async t=>(1!=d&&(d=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}d=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),i=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(x(i,e.delListener),g),schedule:async(...e)=>(K(Le(qe,r),...e),await(async()=>{if(!Le($e,r)){for(Ie($e,r,1);!M(l=X(Le(qe,r)));)try{await l()}catch(e){o?.(e)}Ie($e,r,0)}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=Ge,e.createRelationships=He,e.createStore=st,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|