tinybase 5.0.0-beta.1 → 5.0.0-beta.2
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/mergeable-store.cjs +1 -0
- package/lib/cjs/mergeable-store.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
- 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/ui-react-dom.cjs +1 -1
- package/lib/cjs/ui-react-dom.cjs.gz +0 -0
- package/lib/cjs-es6/mergeable-store.cjs +1 -0
- package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-indexed-db.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/cjs-es6/ui-react-dom.cjs +1 -1
- package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
- package/lib/debug/mergeable-store.js +1892 -0
- package/lib/debug/persisters/persister-automerge.js +12 -10
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +6 -6
- package/lib/debug/persisters/persister-electric-sql.js +6 -6
- package/lib/debug/persisters/persister-expo-sqlite-next.js +6 -6
- package/lib/debug/persisters/persister-expo-sqlite.js +6 -6
- package/lib/debug/persisters/persister-indexed-db.js +6 -3
- package/lib/debug/persisters/persister-partykit-server.js +5 -5
- package/lib/debug/persisters/persister-sqlite-wasm.js +6 -6
- package/lib/debug/persisters/persister-sqlite3.js +6 -6
- package/lib/debug/persisters/persister-yjs.js +6 -6
- package/lib/debug/queries.js +2 -2
- package/lib/debug/store.js +20 -10
- package/lib/debug/tinybase.js +300 -11
- package/lib/debug/tools.js +4 -4
- package/lib/debug/ui-react-dom.js +49 -40
- package/lib/es6/mergeable-store.js +1 -0
- package/lib/es6/mergeable-store.js.gz +0 -0
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-indexed-db.js +1 -1
- package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
- 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/es6/ui-react-dom.js +1 -1
- package/lib/es6/ui-react-dom.js.gz +0 -0
- package/lib/mergeable-store.js +1 -0
- package/lib/mergeable-store.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-indexed-db.js +1 -1
- package/lib/persisters/persister-indexed-db.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/types/mergeable-store.d.ts +55 -0
- package/lib/types/persisters/persister-automerge.d.ts +8 -7
- package/lib/types/persisters/persister-browser.d.ts +2 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
- package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
- package/lib/types/persisters/persister-expo-sqlite-next.d.ts +1 -0
- package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
- package/lib/types/persisters/persister-file.d.ts +1 -0
- package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
- package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
- package/lib/types/persisters/persister-partykit-server.d.ts +5 -0
- package/lib/types/persisters/persister-remote.d.ts +1 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
- package/lib/types/persisters/persister-yjs.d.ts +1 -0
- package/lib/types/persisters.d.ts +3 -3
- package/lib/types/store.d.ts +90 -77
- package/lib/types/tinybase.d.ts +1 -0
- package/lib/types/ui-react.d.ts +1 -0
- package/lib/types/with-schemas/internal/store.d.ts +4 -0
- package/lib/types/with-schemas/mergeable-store.d.ts +85 -0
- package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
- package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +5 -0
- package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
- package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
- package/lib/types/with-schemas/persisters.d.ts +3 -3
- package/lib/types/with-schemas/store.d.ts +203 -141
- package/lib/types/with-schemas/tinybase.d.ts +1 -0
- package/lib/ui-react-dom.js +1 -1
- package/lib/ui-react-dom.js.gz +0 -0
- package/lib/umd/mergeable-store.js +1 -0
- package/lib/umd/mergeable-store.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-indexed-db.js +1 -1
- package/lib/umd/persisters/persister-indexed-db.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/ui-react-dom.js +1 -1
- package/lib/umd/ui-react-dom.js.gz +0 -0
- package/lib/umd-es6/mergeable-store.js +1 -0
- package/lib/umd-es6/mergeable-store.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
- package/lib/umd-es6/persisters/persister-indexed-db.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/lib/umd-es6/ui-react-dom.js +1 -1
- package/lib/umd-es6/ui-react-dom.js.gz +0 -0
- package/package.json +31 -31
- package/readme.md +2 -2
package/lib/ui-react-dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";import{useRowIds as t,useTableCellIds as l,useRowCount as a,useSortedRowIds as n,useValueIds as o,ValueView as r,useIndexesOrIndexesById as i,useSliceRowIds as s,useRelationshipsOrRelationshipsById as d,useResultRowIds as m,useResultTableCellIds as h,useResultRowCount as u,useResultSortedRowIds as c,useCell as g,useSetCellCallback as p,useStoreOrStoreById as b,useValue as f,useSetValueCallback as w,useRemoteRowId as y,CellView as
|
|
1
|
+
import e from"react";import{useRowIds as t,useTableCellIds as l,useRowCount as a,useSortedRowIds as n,useValueIds as o,ValueView as r,useIndexesOrIndexesById as i,useSliceRowIds as s,useRelationshipsOrRelationshipsById as d,useResultRowIds as m,useResultTableCellIds as h,useResultRowCount as u,useResultSortedRowIds as c,useCell as g,useSetCellCallback as p,useStoreOrStoreById as b,useValue as f,useSetValueCallback as w,useRemoteRowId as y,CellView as v,ResultCellView as k}from"./ui-react";const C=e=>typeof e,x=C(""),I=C(!0),N=C(0),z="Value",$="currentTarget",T="value",M=isFinite,S=e=>null==e,{PureComponent:R,Fragment:q,createElement:F,useCallback:P,useLayoutEffect:E,useRef:O,useState:V}=e,j=(e,...t)=>S(e)?{}:e(...t),A=(e,t)=>e.map(t),B=Object,L=B.entries,D=(e=[])=>B.fromEntries(e),G=(e,t)=>A(L(e),(([e,l])=>t(l,e))),H="tinybaseStoreInspector",J="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",K='content:url("',Q=K+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",U='</svg>")',W=K+"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\")",X=A([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>Q+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+U)),Y=Q+"<path d='M20 20l60 60M20 80l60-60' />"+U,Z=Q+`<path d='${J}' />`+U,_=Q+`<path d='${J}M20 20l60 60' />`+U,ee="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(G({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ee]:"width:0.5rem;height:0.5rem;",[ee+"-track"]:"background:#111",[ee+"-thumb"]:"background:#999;border:1px solid #111",[ee+"-thumb:hover"]:"background:#fff",[ee+"-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;"+W,...D(A(["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;",...D(A(["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)":W,"header>img:nth-of-type(6)":Y,...D(A(X,((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":Z,"details[open]>summary img.done":_,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,#${H} 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?`#${H} ${t}{${e}}`:"")));const te=(e,t,l,a)=>e==x?t:e==N?l:a,{useCallback:le,useMemo:ae,useState:ne}=e,oe="editable",re=(e,t)=>A(l(e,t),(t=>e+"."+t)),ie=(e,t,l)=>{const a=le(e,t);return l?a:void 0},se=(...e)=>ae((()=>e),e),de=(e,t)=>ae((()=>({store:e,tableId:t})),[e,t]),me=(e,t)=>ae((()=>({queries:e,queryId:t})),[e,t]),he=(e,t=!1,l,a=0,n,o,r,i)=>{const[[s,d,m],h]=ne([e,t,a]),u=le((e=>{h(e),i?.(e)}),[i]),c=ie((e=>u([e,e==s&&!d,m])),[u,s,d,m],l),g=le((e=>u([s,d,e])),[u,s,d]),p=!0===r?ze:r;return[[s,d,m],c,ae((()=>!1===r?null:F(p,{offset:m,limit:n,total:o,onChange:g})),[r,p,m,n,o,g])]},ue=(e,t,l)=>ae((()=>{const a=t??e;return n=Array.isArray(a)?D(A(a,(e=>[e,e]))):a,o=(e,t)=>{return{label:t,component:l,...(a=e,C(a)==x?{label:e}:e)};var a},D(G(n,((e,t)=>[t,o(e,t)])));var n,o}),[t,l,e]),ce=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,i,s]})=>F("table",{className:e},s?F("caption",null,s):null,!1===t?null:F("thead",null,F("tr",null,!1===l?null:F(ge,{sort:r??[],label:"Id",onClick:i}),G(a,(({label:e},t)=>F(ge,{key:t,cellId:t,label:e,sort:r??[],onClick:i}))))),F("tbody",null,A(o,(e=>F("tr",{key:e},!1===l?null:F("th",null,e),G(a,(({component:t,getComponentProps:l},a)=>F("td",{key:a},F(t,{...j(l,e,a),...n,rowId:e,cellId:a}))))))))),ge=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>F("th",{onClick:ie((()=>n?.(e)),[n,e],n),className:S(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},S(l)||t!=e?null:(l?"↓":"↑")+" ",a),pe=({localRowId:t,params:[l,a,n,o,r,i,s]})=>{const d=y(r,t,i);return F("tr",null,!1===l?null:F(e.Fragment,null,F("th",null,t),F("th",null,d)),G(a,(({component:e,getComponentProps:l},a)=>{const[r,i]=a.split(".",2),m=r===n?t:r===o?d:null;return S(m)?null:F("td",{key:a},F(e,{...j(l,m,i),store:s,tableId:r,rowId:m,cellId:i}))})))},be=({thing:e,onThingChange:t,className:l,hasSchema:a,showType:n=!0})=>{const[o,r]=ne(),[i,s]=ne(),[d,m]=ne(),[h,u]=ne(),[c,g]=ne();i!==e&&(r((e=>{const t=C(e);return(e=>e==x||e==I)(t)||t==N&&M(e)?t:void 0})(e)),s(e),m(e+""),u(Number(e)||0),g(!!e));const p=le(((e,l)=>{l(e),s(e),t(e)}),[t]),b=le((()=>{if(!a?.()){const e=te(o,N,I,x),l=te(e,d,h,c);r(e),s(l),t(l)}}),[a,t,d,h,c,o]);return F("div",{className:l},n?F("button",{className:o,onClick:b},o):null,te(o,F("input",{key:o,value:d,onChange:le((e=>p(e[$][T]+"",m)),[p])}),F("input",{key:o,type:"number",value:h,onChange:le((e=>p(Number(e[$][T]||0),u)),[p])}),F("input",{key:o,type:"checkbox",checked:c,onChange:le((e=>p(!!e[$].checked,g)),[p])})))},fe=({tableId:e,store:a,editable:n,customCells:o,...r})=>F(ce,{...r,params:se(ue(l(e,a),o,n?Ie:v),de(a,e),t(e,a))}),we=({tableId:e,cellId:t,descending:o,offset:r,limit:i,store:s,editable:d,sortOnClick:m,paginator:h=!1,onChange:u,customCells:c,...g})=>{const[p,b,f]=he(t,o,m,r,i,a(e,s),h,u);return F(ce,{...g,params:se(ue(l(e,s),c,d?Ie:v),de(s,e),n(e,...p,i,s),p,b,f)})},ye=({store:e,editable:t=!1,valueComponent:l=(t?Ne:r),getValueComponentProps:a,className:n,headerRow:i,idColumn:s})=>F("table",{className:n},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F("th",null,"Id"),F("th",null,z))),F("tbody",null,A(o(e),(t=>F("tr",{key:t},!1===s?null:F("th",null,t),F("td",null,F(l,{...j(a,t),valueId:t,store:e}))))))),ve=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[d,m,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(i(a),e);return F(ce,{...r,params:se(ue(l(h,m),o,n?Ie:v),de(m,h),s(e,t,d))})},ke=({relationshipId:l,relationships:a,editable:n,customCells:o,className:r,headerRow:i,idColumn:s=!0})=>{const[m,h,u,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(d(a),l),g=ue([...re(u,h),...re(c,h)],o,n?Ie:v),p=se(s,g,u,c,l,m,h);return F("table",{className:r},!1===i?null:F("thead",null,F("tr",null,!1===s?null:F(e.Fragment,null,F("th",null,u,".Id"),F("th",null,c,".Id")),G(g,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,A(t(u,h),(e=>F(pe,{key:e,localRowId:e,params:p})))))},Ce=({queryId:e,queries:t,customCells:l,...a})=>F(ce,{...a,params:se(ue(h(e,t),l,k),me(t,e),m(e,t))}),xe=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:s,onChange:d,...m})=>{const[g,p,b]=he(t,l,r,a,n,u(e,o),i,d);return F(ce,{...m,params:se(ue(h(e,o),s,k),me(o,e),c(e,...g,n,o),g,p,b)})},Ie=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(be,{thing:g(e,t,l,a),onThingChange:p(e,t,l,(e=>e),[],a),className:n??oe+"Cell",showType:o,hasSchema:b(a)?.hasTablesSchema}),Ne=({valueId:e,store:t,className:l,showType:a})=>F(be,{thing:f(e,t),onThingChange:w(e,(e=>e),[],t),className:l??oe+z,showType:a,hasSchema:b(t)?.hasValuesSchema}),ze=({onChange:t,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,t(0));const i=ie((()=>t(a-n)),[t,a,n],a>0),s=ie((()=>t(a+n)),[t,a,n],a+n<l);return F(e.Fragment,null,l>n&&F(e.Fragment,null,F("button",{className:"previous",disabled:0==a,onClick:i},"←"),F("button",{className:"next",disabled:a+n>=l,onClick:s},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},$e=e=>new Map(e);$e(),$e();const Te=e=>null;export{Ie as EditableCellView,Ne as EditableValueView,ke as RelationshipInHtmlTable,xe as ResultSortedTableInHtmlTable,Ce as ResultTableInHtmlTable,ve as SliceInHtmlTable,we as SortedTableInHtmlTable,ze as SortedTablePaginator,Te as StoreInspector,fe as TableInHtmlTable,ye as ValuesInHtmlTable};
|
package/lib/ui-react-dom.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),l=t(!0),a=t(0),o=t(t),r="type",c="default",i="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",C=g+d,b="Cell",V=b+d,v="Value",S=v+"s",p=v+d,w=e=>s+e,y=(e,t)=>e.startsWith(t),I=(e,t)=>e.endsWith(t),m=(e,t=0)=>e.charCodeAt(t),R=isFinite,L=e=>null==e,J=(e,t,s)=>L(e)?s?.():t(e),M=e=>e==n||e==l,E=e=>t(e)==o,H=(e,t,s)=>e.slice(t,s),x=e=>e.length,P=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),z=Object,A=e=>z.getPrototypeOf(e),W=z.entries,j=z.keys,k=z.isFrozen,D=z.freeze,N=e=>!L(e)&&J(A(e),(e=>e==z.prototype||L(A(e))),(()=>!0)),B=(e,t)=>!L(((e,t)=>J(e,(e=>e[t])))(e,t)),$=(e,t)=>(delete e[t],e),q=(e,t)=>F(W(e),(([e,s])=>t(s,e))),G=e=>N(e)&&0==(e=>x(j(e)))(e),K=e=>e?.size??0,Q=(e,t)=>e?.has(t)??!1,U=e=>L(e)||0==K(e),X=e=>e.clear(),Y=(e,t)=>e?.forEach(t),Z=(e,t)=>e?.delete(t),_=e=>new Map(e),ee=e=>[...e?.keys()??[]],te=(e,t)=>e?.get(t),se=(e,t)=>Y(e,((e,s)=>t(s,e))),ne=(e,t,s)=>L(s)?(Z(e,t),e):e?.set(t,s),le=(e,t,s)=>(Q(e,t)||ne(e,t,s()),te(e,t)),ae=(e,t,s,n=ne)=>(q(t,((t,n)=>s(e,n,t))),se(e,(s=>B(t,s)?0:n(e,s))),e),oe=(e,t,s)=>{const n={};return Y(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},re=(e,t,s)=>oe(e,(e=>oe(e,t,s)),G),ce=(e,t,s)=>oe(e,(e=>re(e,t,s)),G),ie=(e,t)=>{const s=_();return Y(e,((e,n)=>s.set(n,t?.(e)??e))),s},de=e=>ie(e,ie),ue=e=>ie(e,de),he=(e,t,s,n,l=0)=>J((s?le:te)(e,t[l],l>x(t)-2?s:_),(a=>{if(l>x(t)-2)return n?.(a)&&ne(e,t[l]),a;const o=he(a,t,s,n,l+1);return U(a)&&ne(e,t[l]),o})),fe=()=>[s,null],ge=()=>[s,_()],Te=(e,t)=>Ce(e,((e,s)=>[s,L(e)?null:oe(e,t)])),Ce=([e,t],s)=>s(t,e),be=([e,t],s,n,l=0)=>{const a=e>s[0];return(!l&&null!==s[1]||a)&&(s[1]=n(t,s[1])),a&&(s[0]=e),s},Ve=(e,t,s,n)=>{var l;return l=(e,l)=>be(e,le(t,l,fe),((e,t)=>!n||L(e)?s[l]=e??null:(t??=_(),s[l]={},n(e,t,l),t)),n?0:1),P(W(e),(([e,t])=>l(t,e))),t},ve=e=>new Set(Array.isArray(e)||L(e)?e:[e]),Se=(e,t)=>e?.add(t),pe=/^\d+$/,we=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{pe.test(t)&&x(e)<1e3&&O(e,t)}]},ye=e=>[e,e],Ie=()=>[_(),_()],me=e=>[...e],Re=([e,t])=>e===t,Le=e=>{const s=t(e);return M(s)||s==a&&R(e)?s:void 0},Je=(e,t,s,n,l)=>L(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),Me=(e,t,s)=>L(s)?e.delValue(t):e.setValue(t,s),Ee=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),He=JSON.parse,xe=(e,t,s)=>L(e)||!N(e)||G(e)||k(e)?(s?.(),!1):(q(e,((s,n)=>{t(s,n)||$(e,n)})),!G(e)),Pe=(e,t,s)=>ne(e,t,te(e,t)==-s?void 0:s),Fe=()=>{let e,t,n,l=!1,o=!1,d=!1,y=!1,I=0;const m=_(),R=_(),z=_(),A=_(),W=_(),j=_(),k=_(),N=_(),fe=_(),ge=_(),Te=_(),Ce=_(),be=_(),Ve=_(),pe=ve(),Oe=_(),ze=_(),Ae=_(),We=_(),je=Ie(),ke=Ie(),De=Ie(),Ne=Ie(),Be=Ie(),$e=Ie(),qe=Ie(),Ge=Ie(),Ke=Ie(),Qe=Ie(),Ue=Ie(),Xe=Ie(),Ye=Ie(),Ze=Ie(),_e=Ie(),et=Ie(),tt=Ie(),st=Ie(),nt=Ie(),lt=Ie(),at=Ie(),ot=Ie(),rt=_(),ct=Ie(),[it,dt,ut,ht]=(e=>{let t;const[n,l]=we(),a=_();return[(e,l,o,r=[],c=(()=>[]))=>{t??=Fs;const i=n(1);return ne(a,i,[e,l,o,r,c]),Se(he(l,o??[s],ve),i),i},(e,n,...l)=>P(((e,t=[s])=>{const n=[],l=(e,s)=>s==x(t)?O(n,e):null===t[s]?Y(e,(e=>l(e,s+1))):P([t[s],null],(t=>l(te(e,t),s+1)));return l(e,0),n})(e,n),(e=>Y(e,(e=>te(a,e)[0](t,...n??[],...l))))),e=>J(te(a,e),(([,t,n])=>(he(t,n??[s],void 0,(t=>(Z(t,e),U(t)?1:0))),ne(a,e),l(e),n))),e=>J(te(a,e),(([e,,s=[],n,l])=>{const a=(...o)=>{const r=x(o);r==x(s)?e(t,...o,...l(o)):L(s[r])?P(n[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),ft=e=>{if(!xe(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!M(t)&&t!=a||(Le(e[c])!=t&&$(e,c),0))},gt=(t,s)=>(!e||Q(Te,s)||$t(s))&&xe(t,((e,t)=>Tt(s,t,e)),(()=>$t(s))),Tt=(e,t,s,n)=>xe(n?s:vt(s,e,t),((n,l)=>J(Ct(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>$t(e,t))),Ct=(t,s,n,l)=>e?J(te(te(Te,t),n),(e=>Le(l)!=e[r]?$t(t,s,n,l,e[c]):l),(()=>$t(t,s,n,l))):L(Le(l))?$t(t,s,n,l):l,bt=(e,t)=>xe(t?e:St(e),((t,s)=>J(Vt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),Vt=(e,s)=>t?J(te(be,e),(t=>Le(s)!=t[r]?qt(e,s,t[c]):s),(()=>qt(e,s))):L(Le(s))?qt(e,s):s,vt=(e,t,s)=>(J(te(Ce,t),(([n,l])=>{Y(n,((t,s)=>{B(e,s)||(e[s]=t)})),Y(l,(n=>{B(e,n)||$t(t,s,n)}))})),e),St=e=>(t&&(Y(Ve,((t,s)=>{B(e,s)||(e[s]=t)})),Y(pe,(t=>{B(e,t)||qt(t)}))),e),pt=e=>ae(Te,e,((e,t,s)=>{const n=_(),l=ve();ae(le(Te,t,_),s,((e,t,s)=>{ne(e,t,s),J(s[c],(e=>ne(n,t,e)),(()=>Se(l,t)))})),ne(Ce,t,[n,l])}),((e,t)=>{ne(Te,t),ne(Ce,t)})),wt=e=>ae(be,e,((e,t,s)=>{ne(be,t,s),J(s[c],(e=>ne(Ve,t,e)),(()=>Se(pe,t)))}),((e,t)=>{ne(be,t),ne(Ve,t),Z(pe,t)})),yt=e=>G(e)?ms():Ss(e),It=e=>ae(Ae,e,((e,t,s)=>mt(t,s)),((e,t)=>Ft(t))),mt=(e,t)=>ae(le(Ae,e,(()=>(Wt(e,1),ne(Oe,e,we()),ne(ze,e,_()),_()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>Ot(e,t,s))),Rt=(e,t,s,n,l)=>ae(le(t,s,(()=>(jt(e,s,1),_()))),n,((t,n,l)=>Lt(e,s,t,n,l)),((n,a)=>zt(e,t,s,n,a,l))),Lt=(e,t,s,n,l)=>{Q(s,n)||kt(e,t,n,1);const a=te(s,n);l!==a&&(Dt(e,t,n,a,l),ne(s,n,l))},Jt=(e,t,s,n,l)=>J(te(t,s),(t=>Lt(e,s,t,n,l)),(()=>Rt(e,t,s,vt({[n]:l},e,s)))),Mt=e=>G(e)?Js():ps(e),Et=e=>ae(We,e,((e,t,s)=>Ht(t,s)),((e,t)=>At(t))),Ht=(e,t)=>{Q(We,e)||Nt(e,1);const s=te(We,e);t!==s&&(Bt(e,s,t),ne(We,e,t))},xt=(e,t)=>{const[s]=te(Oe,e),n=s(t);return Q(te(Ae,e),n)?xt(e,t):n},Pt=e=>te(Ae,e)??mt(e,{}),Ft=e=>mt(e,{}),Ot=(e,t,s)=>{const[,n]=te(Oe,e);n(s),Rt(e,t,s,{},!0)},zt=(e,t,s,n,l,a)=>{const o=te(te(Ce,e)?.[0],l);if(!L(o)&&!a)return Lt(e,s,n,l,o);const r=t=>{Dt(e,s,t,te(n,t)),kt(e,s,t,-1),ne(n,t)};L(o)?r(l):se(n,r),U(n)&&(jt(e,s,-1),U(ne(t,s))&&(Wt(e,-1),ne(Ae,e),ne(Oe,e),ne(ze,e)))},At=e=>{const t=te(Ve,e);if(!L(t))return Ht(e,t);Bt(e,te(We,e)),Nt(e,-1),ne(We,e)},Wt=(e,t)=>Pe(m,e,t),jt=(e,t,s)=>Pe(le(A,e,_),t,s)&&ne(z,e,le(z,e,(()=>0))+s),kt=(e,t,s,n)=>{const l=te(ze,e),a=te(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&Pe(le(R,e,_),s,n),ne(l,s,a!=-n?a+n:null),Pe(le(le(W,e,_),t,_),s,n)},Dt=(e,t,s,n,l)=>le(le(le(j,e,_),t,_),s,(()=>[n,0]))[1]=l,Nt=(e,t)=>Pe(k,e,t),Bt=(e,t,s)=>le(N,e,(()=>[t,0]))[1]=s,$t=(e,t,s,n,l)=>(O(le(le(le(fe,e,_),t,_),s,(()=>[])),n),l),qt=(e,t,s)=>(O(le(ge,e,(()=>[])),t),s),Gt=(e,t,s)=>J(te(te(te(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(is(e,t,s))])),Kt=e=>J(te(N,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(hs(e))])),Qt=e=>U(fe)||U(et[e])?0:Y(e?ue(fe):fe,((t,s)=>Y(t,((t,n)=>Y(t,((t,l)=>dt(et[e],[s,n,l],t))))))),Ut=e=>U(ge)||U(tt[e])?0:Y(e?ie(ge):ge,((t,s)=>dt(tt[e],[s],t))),Xt=(e,t,s,n)=>{if(!U(e))return dt(t,n,(()=>oe(e))),se(e,((e,t)=>dt(s,[...n??[],e],1==t))),1},Yt=e=>{const t=fs();t!=d&&dt(je[e],void 0,t);const s=U(Qe[e]),n=U(Ye[e])&&U(Ze[e])&&U(Ke[e])&&U(Ue[e])&&U($e[e])&&U(qe[e])&&U(Ge[e])&&s&&U(De[e])&&U(Ne[e]),l=U(_e[e])&&U(Xe[e])&&U(Be[e])&&U(ke[e]);if(!n||!l){const t=e?[ie(m),de(R),ie(z),de(A),ue(W),ue(j)]:[m,R,z,A,W,j];if(!n){Xt(t[0],De[e],Ne[e]),Y(t[1],((t,s)=>Xt(t,$e[e],qe[e],[s]))),Y(t[2],((t,s)=>{0!=t&&dt(Ge[e],[s],as(s))}));const n=ve();Y(t[3],((t,l)=>{Xt(t,Ke[e],Ue[e],[l])&&!s&&(dt(Qe[e],[l,null]),Se(n,l))})),s||Y(t[5],((t,s)=>{if(!Q(n,s)){const n=ve();Y(t,(e=>Y(e,(([t,s],l)=>s!==t?Se(n,l):Z(e,l))))),Y(n,(t=>dt(Qe[e],[s,t])))}})),Y(t[4],((t,s)=>Y(t,((t,n)=>Xt(t,Ye[e],Ze[e],[s,n])))))}if(!l){let s;Y(t[5],((t,n)=>{let l;Y(t,((t,a)=>{let o;Y(t,(([t,r],c)=>{r!==t&&(dt(_e[e],[n,a,c],r,t,Gt),s=l=o=1)})),o&&dt(Xe[e],[n,a],Gt)})),l&&dt(Be[e],[n],Gt)})),s&&dt(ke[e],void 0,Gt)}}},Zt=e=>{const t=Vs();t!=y&&dt(st[e],void 0,t);const s=U(lt[e])&&U(at[e]),n=U(ot[e])&&U(nt[e]);if(!s||!n){const t=e?[ie(k),ie(N)]:[k,N];if(s||Xt(t[0],lt[e],at[e]),!n){let s;Y(t[1],(([t,n],l)=>{n!==t&&(dt(ot[e],[l],n,t,Kt),s=1)})),s&&dt(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Hs((()=>e(...F(t,w)))),Fs),es=()=>[oe(j,((e,t)=>-1===te(m,t)?null:oe(e,((e,s)=>-1===te(te(A,t),s)?null:oe(e,(([,e])=>e??null),((e,t)=>Re(t)))),G)),G),oe(N,(([,e])=>e??null),((e,t)=>Re(t)))],ts=()=>({cellsTouched:l,valuesTouched:o,changedCells:ce(j,me,Re),invalidCells:ce(fe),changedValues:oe(N,me,Re),invalidValues:oe(ge),changedTableIds:oe(m),changedRowIds:re(A),changedCellIds:ce(W),changedValueIds:oe(k)}),ss=()=>ce(Ae),ns=()=>ee(Ae),ls=e=>ee(te(ze,w(e))),as=e=>K(te(Ae,w(e))),os=e=>ee(te(Ae,w(e))),rs=(e,t,s,n=0,l)=>{return F(H((o=te(Ae,w(e)),r=(e,s)=>[L(t)?s:te(e,w(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),F([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),n,L(l)?l:n+l),(([,e])=>e));var a,o,r},cs=(e,t)=>ee(te(te(Ae,w(e)),w(t))),is=(e,t,s)=>te(te(te(Ae,w(e)),w(t)),w(s)),ds=()=>oe(We),us=()=>ee(We),hs=e=>te(We,w(e)),fs=()=>!U(Ae),gs=e=>Q(Ae,w(e)),Ts=(e,t)=>Q(te(ze,w(e)),w(t)),Cs=(e,t)=>Q(te(Ae,w(e)),w(t)),bs=(e,t,s)=>Q(te(te(Ae,w(e)),w(t)),w(s)),Vs=()=>!U(We),vs=e=>Q(We,w(e)),Ss=e=>_t((()=>(e=>xe(e,gt,$t))(e)?It(e):0)),ps=e=>_t((()=>bt(e)?Et(e):0)),ws=e=>{try{yt(He(e))}catch{}return Fs},ys=t=>_t((()=>{if((e=xe(t,(e=>xe(e,ft))))&&(pt(t),!U(Ae))){const e=ss();ms(),Ss(e)}})),Is=e=>_t((()=>{if(t=(e=>xe(e,ft))(e)){const s=ds();Es(),Js(),t=!0,wt(e),ps(s)}})),ms=()=>_t((()=>It({}))),Rs=e=>_t((e=>Q(Ae,e)?Ft(e):0),e),Ls=(e,t)=>_t(((e,t)=>J(te(Ae,e),(s=>Q(s,t)?Ot(e,s,t):0))),e,t),Js=()=>_t((()=>Et({}))),Ms=()=>_t((()=>{pt({}),e=!1})),Es=()=>_t((()=>{wt({}),t=!1})),Hs=(e,t)=>{if(-1!=I){xs();const s=e();return Ps(t),s}},xs=()=>(-1!=I&&I++,1==I&&dt(rt,void 0,es,ts),Fs),Ps=e=>(I>0&&(I--,0==I&&(l=!U(j),o=!U(N),I=1,Qt(1),l&&Yt(1),Ut(1),o&&Zt(1),e?.(es,ts)&&(Y(j,((e,t)=>Y(e,((e,s)=>Y(e,(([e],n)=>Je(Fs,t,s,n,e))))))),Y(N,(([e],t)=>Me(Fs,t,e))),l=o=!1),dt(ct[0],void 0,es,ts),I=-1,Qt(0),l&&Yt(0),Ut(0),o&&Zt(0),dt(ct[1],void 0,es,ts),n?.(Fs,es,ts),I=0,l=o=!1,d=fs(),y=Vs(),P([m,R,z,A,W,j,fe,k,N,ge],X))),Fs),Fs={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>re(te(Ae,w(e))),getTableCellIds:ls,getRowCount:as,getRowIds:os,getSortedRowIds:rs,getRow:(e,t)=>oe(te(te(Ae,w(e)),w(t))),getCellIds:cs,getCell:is,getValues:ds,getValueIds:us,getValue:hs,hasTables:fs,hasTable:gs,hasTableCell:Ts,hasRow:Cs,hasCell:bs,hasValues:Vs,hasValue:vs,getTablesJson:()=>Ee(Ae),getValuesJson:()=>Ee(We),getJson:()=>Ee([Ae,We]),getTablesSchemaJson:()=>Ee(Te),getValuesSchemaJson:()=>Ee(be),getSchemaJson:()=>Ee([Te,be]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>_t((()=>{(G(e)?ms:Ss)(e),(G(t)?Js:ps)(t)})),setTables:Ss,setTable:(e,t)=>_t((e=>gt(t,e)?mt(e,t):0),e),setRow:(e,t,s)=>_t(((e,t)=>Tt(e,t,s)?Rt(e,Pt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Hs((()=>{let n;return Tt(e,n,t)&&(e=w(e),Rt(e,Pt(e),n=xt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>_t(((e,t)=>{if(Tt(e,t,s,1)){const n=Pt(e);q(s,((s,l)=>Jt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>_t(((e,t,s)=>J(Ct(e,t,s,E(n)?n(is(e,t,s)):n),(n=>Jt(e,Pt(e),t,s,n)))),e,t,s),setValues:ps,setPartialValues:e=>_t((()=>bt(e,1)?q(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>_t((e=>J(Vt(e,E(t)?t(hs(e)):t),(t=>Ht(e,t)))),e),setTransactionChanges:e=>_t((()=>{q(e[0],((e,t)=>L(e)?Rs(t):q(e,((e,s)=>L(e)?Ls(t,s):q(e,((e,n)=>Je(Fs,t,s,n,e))))))),q(e[1],((e,t)=>Me(Fs,t,e)))})),setTablesJson:ws,setValuesJson:e=>{try{Mt(He(e))}catch{}return Fs},setJson:e=>_t((()=>{try{const[t,s]=He(e);yt(t),Mt(s)}catch{ws(e)}})),setTablesSchema:ys,setValuesSchema:Is,setSchema:(e,t)=>_t((()=>{ys(e),Is(t)})),delTables:ms,delTable:Rs,delRow:Ls,delCell:(e,t,s,n)=>_t(((e,t,s)=>J(te(Ae,e),(l=>J(te(l,t),(a=>Q(a,s)?zt(e,l,t,a,s,n):0))))),e,t,s),delValues:Js,delValue:e=>_t((e=>Q(We,e)?At(e):0),e),delTablesSchema:Ms,delValuesSchema:Es,delSchema:()=>_t((()=>{Ms(),Es()})),transaction:Hs,startTransaction:xs,finishTransaction:Ps,forEachTable:e=>Y(Ae,((t,s)=>e(s,(e=>Y(t,((t,s)=>e(s,(e=>se(t,e))))))))),forEachTableCell:(e,t)=>se(te(ze,w(e)),t),forEachRow:(e,t)=>Y(te(Ae,w(e)),((e,s)=>t(s,(t=>se(e,t))))),forEachCell:(e,t,s)=>se(te(te(Ae,w(e)),w(t)),s),forEachValue:e=>se(We,e),addSortedRowIdsListener:(e,t,s,n,l,a,o)=>{let r=rs(e,t,s,n,l);return it((()=>{const o=rs(e,t,s,n,l);var c,i,d;i=r,x(c=o)===x(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(Fs,e,t,s,n,l,r))}),Qe[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>it(e,rt),addWillFinishTransactionListener:e=>it(e,ct[0]),addDidFinishTransactionListener:e=>it(e,ct[1]),callListener:e=>(ht(e),Fs),delListener:e=>(ut(e),Fs),getListenerStats:()=>({}),createStore:Fe,addListener:it,callListeners:dt,addPostTransactionListener:e=>{n=e}};return q({[i+h]:[0,je,[],()=>[fs()]],[h]:[0,ke],[f]:[0,De],[i+u]:[1,Ne,[ns],e=>[gs(...e)]],[u]:[1,Be,[ns]],[u+V]:[1,$e,[ns]],[i+u+b]:[2,qe,[ns,ls],e=>[Ts(...e)]],[T]:[1,Ge,[ns]],[C]:[1,Ke,[ns]],[i+g]:[2,Ue,[ns,os],e=>[Cs(...e)]],[g]:[2,Xe,[ns,os]],[V]:[2,Ye,[ns,os]],[i+b]:[3,Ze,[ns,os,cs],e=>[bs(...e)]],[b]:[3,_e,[ns,os,cs],e=>ye(is(...e))],InvalidCell:[3,et],[i+S]:[0,st,[],()=>[Vs()]],[S]:[0,nt],[p]:[0,lt],[i+v]:[1,at,[us],e=>[vs(...e)]],[v]:[1,ot,[us],e=>ye(hs(e[0]))],InvalidValue:[1,tt]},(([e,t,s,n],l)=>{Fs["add"+l+"Listener"]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?H(l,0,e):void 0,s,n)})),D(Fs)},Oe=2**36,ze=2**30,Ae=2**24,We=2**18,je=4096,ke=64,De=e=>String.fromCharCode(48+(63&e)),Ne=(e,t)=>m(e,t)-48,Be={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1};e.createMergeableStore=e=>{let t=1;const[n,l]=(e=>{let t=0,s=0;const n=(l=(e,t)=>(e<<5)+e^m(t),((e,t="",s)=>e.split(t,s))(e).reduce(l,5381)>>>0);var l;const a=e=>{const n=t,[l,a]=L(e)?[0,0]:[Ne(o=e,0)*Oe+Ne(o,1)*ze+Ne(o,2)*Ae+Ne(o,3)*We+Ne(o,4)*je+Ne(o,5)*ke+Ne(o,6),Ne(o,7)*We+Ne(o,8)*je+Ne(o,9)*ke+Ne(o,10),Ne(o,11)*Ae+Ne(o,12)*We+Ne(o,13)*je+Ne(o,14)*ke+Ne(o,15)];var o;t=Math.max(n,l,Date.now()),s=t==n?t==l?Math.max(s,a):s:t==l?a:-1};return[()=>{return a(),l=++s,o=n,De((e=t)/Oe)+De(e/ze)+De(e/Ae)+De(e/We)+De(e/je)+De(e/ke)+De(e)+De(l/We)+De(l/je)+De(l/ke)+De(l)+De(o/Ae)+De(o/We)+De(o/je)+De(o/ke)+De(o);var e,l,o},a]})(e),a=Fe(),o=[s,[ge(),ge()]],r=e=>{const s=[{},{}];return l(e[0]),be(e,o,(([e,t],[n,l])=>[be(e,n,((e,t)=>Ve(e,t,s[0],((e,t,n)=>Ve(e,t,s[0][n],((e,t,l)=>Ve(e,t,s[0][n][l]))))))),be(t,l,((e,t)=>Ve(e,t,s[1])))])),t=0,a.setTransactionChanges(s),t=1,c},c={getMergeableContent:()=>Ce(o,(([e,t],s)=>[s,[Te(e,(e=>Te(e,(e=>Te(e,me))))),Te(t,me)]])),applyMergeableContent:r,merge:e=>{const t=c.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableContent(t),r(s)}};return a.addPostTransactionListener(((e,s)=>{if(t){const e=n(),[t,l]=s(),[a,r]=o[1];o[0]=e,G(t)||(a[0]=e,q(t,((t,s)=>{const n=le(a[1],s,fe);if(n[0]=e,L(t))n[1]=null;else{const s=n[1]??=_();q(t,((t,n)=>{const l=le(s,n,fe);if(l[0]=e,L(t))l[1]=null;else{const s=l[1]??=_();q(t,((t,n)=>ne(s,n,[e,t])))}}))}}))),G(l)||(r[0]=e,q(l,((t,s)=>{ne(r[1],s,[e,t])})))}})),q(a,((e,t)=>c[t]=y(t,"set")||y(t,"del")||I(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),c):y(t,"add")&&I(t,"Listener")?(...s)=>{const n=Be[H(t,3,-8)]??0,l=s[n];return s[n]=(e,...t)=>l(c,...t),e(...s)}:e)),D(c)}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseMergeableStore={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),o=s.entries,c=s.keys,i=s.freeze,r=(t,e)=>a(t,(t=>t[e])),d=(t,a)=>!e(r(t,a)),y=(t,e)=>(delete t[e],t),u=(t,e)=>((t,e)=>t.map(e))(o(t),(([t,a])=>e(a,t))),l=t=>c(t).length,f=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==l(t),h=t=>new Map(t),p=(t,e)=>t?.get(e),v=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||v(t,e,a()),p(t,e)},w=h(),A=h(),L=(t,e)=>[t[e].t,t[e].v],m=(t,a,s,n)=>{const o=e(a)?t:((t,e,a)=>(d(t,e)||(t[e]={}),t[e]))(t,a);let c;return u(s,((t,e)=>{n(o,e,t)&&(c=1)})),u(o,((t,e)=>{d(s,e)||(y(o,e),c=1)})),!e(a)&&f(o)&&y(t,a),c};t.createAutomergePersister=(t,s,n="tinybase",o)=>(s.change((t=>t[n]={})),((t,s,n,o,c,r,[d,y]=[],u=[])=>{let l,h,L,m=0,S=0;g(w,u,(()=>0)),g(A,u,(()=>[]));const b=async t=>(2!=m&&(m=1,await C.schedule((async()=>{await t(),m=0}))),C),C={load:async(e,a)=>await b((async()=>{try{t.setContent(await s())}catch{t.setContent([e,a])}})),startAutoLoad:async(e={},a={})=>(C.stopAutoLoad(),await C.load(e,a),S=1,L=o((async(e,a)=>{if(a){const e=a();await b((async()=>t.setTransactionChanges(e)))}else await b((async()=>{try{t.setContent(e?.()??await s())}catch(t){r?.(t)}}))})),C),stopAutoLoad:()=>(S&&(c(L),L=void 0,S=0),C),save:async e=>(1!=m&&(m=2,await C.schedule((async()=>{try{await n(t.getContent,e)}catch(t){r?.(t)}m=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),l=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();f(a)&&f(s)||C.save((()=>[a,s]))})),C),stopAutoSave:()=>(a(l,t.delListener),l=void 0,C),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(A,u),...t),await(async()=>{if(!p(w,u)){for(v(w,u,1);!e((t=p(A,u),h=t.shift()));)try{await h()}catch(t){r?.(t)}v(w,u,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(C[d]=()=>y),i(C)})(t,(async()=>2==l(
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=t=>s.getPrototypeOf(t),o=s.entries,c=s.keys,i=s.freeze,r=(t,e)=>a(t,(t=>t[e])),d=(t,a)=>!e(r(t,a)),y=(t,e)=>(delete t[e],t),u=(t,e)=>((t,e)=>t.map(e))(o(t),(([t,a])=>e(a,t))),l=t=>c(t).length,f=t=>(t=>!e(t)&&a(n(t),(t=>t==s.prototype||e(n(t))),(()=>!0)))(t)&&0==l(t),h=t=>new Map(t),p=(t,e)=>t?.get(e),v=(t,a,s)=>{return e(s)?(n=t,o=a,n?.delete(o),t):t?.set(a,s);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||v(t,e,a()),p(t,e)},w=h(),A=h(),L=(t,e)=>[t[e].t,t[e].v],m=(t,a,s,n)=>{const o=e(a)?t:((t,e,a)=>(d(t,e)||(t[e]={}),t[e]))(t,a);let c;return u(s,((t,e)=>{n(o,e,t)&&(c=1)})),u(o,((t,e)=>{d(s,e)||(y(o,e),c=1)})),!e(a)&&f(o)&&y(t,a),c};t.createAutomergePersister=(t,s,n="tinybase",o)=>(s.change((t=>t[n]={})),((t,s,n,o,c,r,[d,y]=[],u=[])=>{let l,h,L,m=0,S=0;g(w,u,(()=>0)),g(A,u,(()=>[]));const b=async t=>(2!=m&&(m=1,await C.schedule((async()=>{await t(),m=0}))),C),C={load:async(e,a)=>await b((async()=>{try{t.setContent(await s())}catch{t.setContent([e,a])}})),startAutoLoad:async(e={},a={})=>(C.stopAutoLoad(),await C.load(e,a),S=1,L=o((async(e,a)=>{if(a){const e=a();await b((async()=>t.setTransactionChanges(e)))}else await b((async()=>{try{t.setContent(e?.()??await s())}catch(t){r?.(t)}}))})),C),stopAutoLoad:()=>(S&&(c(L),L=void 0,S=0),C),save:async e=>(1!=m&&(m=2,await C.schedule((async()=>{try{await n(t.getContent,e)}catch(t){r?.(t)}m=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),l=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();f(a)&&f(s)||C.save((()=>[a,s]))})),C),stopAutoSave:()=>(a(l,t.delListener),l=void 0,C),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(p(A,u),...t),await(async()=>{if(!p(w,u)){for(v(w,u,1);!e((t=p(A,u),h=t.shift()));)try{await h()}catch(t){r?.(t)}v(w,u,0)}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(C[d]=()=>y),i(C)})(t,(async()=>{const t=await s.doc();return 2==l(t[n])?L(t,n):void 0}),(async(t,o)=>s.change((s=>((t,s,n,o)=>{((t,e)=>{f(t[e])&&(t[e]={t:{},v:{}})})(t,s);const[c,i]=L(t,s),d=()=>{l=1};let l=1;if(a(o?.(),(([t,s])=>{l=0,u(t,((t,s)=>l?0:e(t)?y(c,s):a(c[s],(s=>u(t,((t,n)=>l?0:e(t)?y(s,n):a(r(s,n),(a=>u(t,((t,s)=>e(t)?y(a,s):a[s]=t))),d)))),d))),u(s,((t,a)=>l?0:e(t)?y(i,a):i[a]=t))})),l){const[t,e]=n();m(c,void 0,t,((t,e,a)=>m(c,e,a,((t,e,a)=>m(t,e,a,((t,e,a)=>{if(r(t,e)!==a)return t[e]=a,1})))))),m(i,void 0,e,((t,e,a)=>{r(i,e)!==a&&(i[e]=a)}))}})(s,n,t,o)))),(t=>{const e=({doc:e})=>t((()=>L(e,n)));return s.on("change",e),e}),(t=>{s.removeListener("change",t)}),o,["getDocHandle",s]))},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterAutomerge={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=Promise,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>new e(t),r=async t=>e.all(t),c=(t,e)=>t.map(e),i=(t,...e)=>t.push(...e),d=Object,y=t=>d.getPrototypeOf(t),l=d.entries,u=d.keys,w=d.freeze,p=t=>(t=>!s(t)&&n(y(t),(t=>t==d.prototype||s(y(t))),(()=>!0)))(t)&&0==(t=>u(t).length)(t),h=t=>new Map(t),f=(t,e)=>t?.get(e),v=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||v(t,e,a()),f(t,e)},b=h(),A=h(),S=globalThis.window,x=["t","v"],
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=Promise,a=clearInterval,s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=t=>new e(t),r=async t=>e.all(t),c=(t,e)=>t.map(e),i=(t,...e)=>t.push(...e),d=Object,y=t=>d.getPrototypeOf(t),l=d.entries,u=d.keys,w=d.freeze,p=t=>(t=>!s(t)&&n(y(t),(t=>t==d.prototype||s(y(t))),(()=>!0)))(t)&&0==(t=>u(t).length)(t),h=t=>new Map(t),f=(t,e)=>t?.get(e),v=(t,e,a)=>{return s(a)?(n=t,o=e,n?.delete(o),t):t?.set(e,a);var n,o},g=(t,e,a)=>{var s,n;return s=t,n=e,s?.has(n)||v(t,e,a()),f(t,e)},b=h(),A=h(),S=globalThis.window,x=["t","v"],D={keyPath:"k"},j=async(t,e)=>{const a=((e,a)=>c(l(e),(([e,a])=>m(t,"put",{k:e,v:a}))))(e);c(await m(t,"getAllKeys"),(o=>((t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)))(e,o)?0:i(a,m(t,"delete",o)))),await r(a)},m=async(t,e,a)=>o(((s,n)=>{const o=t[e](a);o.onsuccess=()=>s(o.result),o.onerror=()=>n(`objectStore.${e} error`)}));t.createIndexedDbPersister=(t,e,y=1,l)=>{const u=async(t,a=[],s=0)=>o(((n,o)=>{const i=(S?S.indexedDB:indexedDB).open(e,s?2:void 0);i.onupgradeneeded=()=>s&&c(x,(t=>{try{i.result.createObjectStore(t,D)}catch{}})),i.onsuccess=async()=>{try{const e=i.result.transaction(x,"readwrite"),s=await r(c(x,(async(s,n)=>await t(e.objectStore(s),a[n]))));i.result.close(),n(s)}catch(t){i.result.close(),o(t)}},i.onerror=()=>o("indexedDB.open error")}));return((t,e,a,o,r,c,[d,y]=[],l=[])=>{let u,h,S,x=0,D=0;g(b,l,(()=>0)),g(A,l,(()=>[]));const j=async t=>(2!=x&&(x=1,await m.schedule((async()=>{await t(),x=0}))),m),m={load:async(a,s)=>await j((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),startAutoLoad:async(a={},s={})=>(m.stopAutoLoad(),await m.load(a,s),D=1,S=o((async(a,s)=>{if(s){const e=s();await j((async()=>t.setTransactionChanges(e)))}else await j((async()=>{try{t.setContent(a?.()??await e())}catch(t){c?.(t)}}))})),m),stopAutoLoad:()=>(D&&(r(S),S=void 0,D=0),m),save:async e=>(1!=x&&(x=2,await m.schedule((async()=>{try{await a(t.getContent,e)}catch(t){c?.(t)}x=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),u=t.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();p(a)&&p(s)||m.save((()=>[a,s]))})),m),stopAutoSave:()=>(n(u,t.delListener),u=void 0,m),schedule:async(...t)=>(i(f(A,l),...t),await(async()=>{if(!f(b,l)){for(v(b,l,1);!s((t=f(A,l),h=t.shift()));)try{await h()}catch(t){c?.(t)}v(b,l,0)}var t})(),m),getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return d&&(m[d]=()=>y),w(m)})(t,(async()=>await u((async t=>((t=[])=>d.fromEntries(t))(c(await m(t,"getAll"),(({k:t,v:e})=>[t,e])))))),(async t=>await u((async(t,e)=>await j(t,e)),t(),1)),(t=>setInterval(t,1e3*y)),(t=>a(t)),l,["getDbName",e])},t.objectStoreMatch=j},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterIndexedDb={});
|
|
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="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",b=g+d,V="Cell",C=V+d,S="Value",v=S+"s",y=S+d,p=e=>s+e,m=isFinite,w=e=>null==e,I=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==l||e==n,J=e=>t(e)==o,L=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),x=(e,...t)=>e.push(...t),z=Object,P=e=>z.getPrototypeOf(e),j=z.entries,k=z.keys,A=z.isFrozen,M=z.freeze,N=e=>!w(e)&&I(P(e),(e=>e==z.prototype||w(P(e))),(()=>!0)),B=(e,t)=>!w(((e,t)=>I(e,(e=>e[t])))(e,t)),D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>N(e)&&0==(e=>E(k(e)))(e),$=e=>e?.size??0,q=(e,t)=>e?.has(t)??!1,G=e=>w(e)||0==$(e),K=e=>e.clear(),Q=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),_=(e,t)=>Q(e,((e,s)=>t(s,e))),ee=(e,t,s)=>w(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s)=>(q(e,t)||ee(e,t,s()),Z(e,t)),se=(e,t,s,l=ee)=>(H(t,((t,l)=>s(e,l,t))),_(e,(s=>B(t,s)?0:l(e,s))),e),le=(e,t,s)=>{const l={};return Q(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},ne=(e,t,s)=>le(e,(e=>le(e,t,s)),W),ae=(e,t,s)=>le(e,(e=>ne(e,t,s)),W),oe=(e,t)=>{const s=X();return Q(e,((e,l)=>s.set(l,t?.(e)??e))),s},re=e=>oe(e,oe),ce=e=>oe(e,re),ie=(e,t,s,l,n=0)=>I((s?te:Z)(e,t[n],n>E(t)-2?s:X),(a=>{if(n>E(t)-2)return l?.(a)&&ee(e,t[n]),a;const o=ie(a,t,s,l,n+1);return G(a)&&ee(e,t[n]),o})),de=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ue=(e,t)=>e?.add(t),he=/^\d+$/,fe=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{he.test(t)&&E(e)<1e3&&x(e,t)}]},ge=e=>[e,e],Te=()=>[X(),X()],be=e=>[...e],Ve=([e,t])=>e===t,Ce=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Se=(e,t,s,l,n)=>w(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),ve=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ye=e=>JSON.stringify(e,((e,t)=>t instanceof Map?z.fromEntries([...t]):t)),pe=JSON.parse,me=(e,t,s)=>w(e)||!N(e)||W(e)||A(e)?(s?.(),!1):(H(e,((s,l)=>{t(s,l)||D(e,l)})),!W(e)),we=(e,t,s)=>ee(e,t,Z(e,t)==-s?void 0:s),Ie=()=>{let e,t,l=!1,n=!1,o=!1,d=!1,m=0;const z=X(),P=X(),j=X(),k=X(),A=X(),N=X(),he=X(),Re=X(),Je=X(),Le=X(),Ee=X(),Fe=X(),Oe=X(),xe=X(),ze=de(),Pe=X(),je=X(),ke=X(),Ae=X(),Me=Te(),Ne=Te(),Be=Te(),De=Te(),He=Te(),We=Te(),$e=Te(),qe=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),lt=Te(),nt=Te(),at=Te(),ot=X(),rt=Te(),[ct,it,dt,ut]=(e=>{let t;const[l,n]=fe(),a=X();return[(e,n,o,r=[],c=(()=>[]))=>{t??=zs;const i=l(1);return ee(a,i,[e,n,o,r,c]),ue(ie(n,o??[s],de),i),i},(e,l,...n)=>F(((e,t=[s])=>{const l=[],n=(e,s)=>s==E(t)?x(l,e):null===t[s]?Q(e,(e=>n(e,s+1))):F([t[s],null],(t=>n(Z(e,t),s+1)));return n(e,0),l})(e,l),(e=>Q(e,(e=>Z(a,e)[0](t,...l??[],...n))))),e=>I(Z(a,e),(([,t,l])=>(ie(t,l??[s],void 0,(t=>(U(t,e),G(t)?1:0))),ee(a,e),n(e),l))),e=>I(Z(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...n(o)):w(s[r])?F(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),ht=e=>{if(!me(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(Ce(e[c])!=t&&D(e,c),0))},ft=(t,s)=>(!e||q(Ee,s)||Wt(s))&&me(t,((e,t)=>gt(s,t,e)),(()=>Wt(s))),gt=(e,t,s,l)=>me(l?s:Ct(s,e,t),((l,n)=>I(Tt(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Wt(e,t))),Tt=(t,s,l,n)=>e?I(Z(Z(Ee,t),l),(e=>Ce(n)!=e[r]?Wt(t,s,l,n,e[c]):n),(()=>Wt(t,s,l,n))):w(Ce(n))?Wt(t,s,l,n):n,bt=(e,t)=>me(t?e:St(e),((t,s)=>I(Vt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>$t())),Vt=(e,s)=>t?I(Z(Oe,e),(t=>Ce(s)!=t[r]?$t(e,s,t[c]):s),(()=>$t(e,s))):w(Ce(s))?$t(e,s):s,Ct=(e,t,s)=>(I(Z(Fe,t),(([l,n])=>{Q(l,((t,s)=>{B(e,s)||(e[s]=t)})),Q(n,(l=>{B(e,l)||Wt(t,s,l)}))})),e),St=e=>(t&&(Q(xe,((t,s)=>{B(e,s)||(e[s]=t)})),Q(ze,(t=>{B(e,t)||$t(t)}))),e),vt=e=>se(Ee,e,((e,t,s)=>{const l=X(),n=de();se(te(Ee,t,X),s,((e,t,s)=>{ee(e,t,s),I(s[c],(e=>ee(l,t,e)),(()=>ue(n,t)))})),ee(Fe,t,[l,n])}),((e,t)=>{ee(Ee,t),ee(Fe,t)})),yt=e=>se(Oe,e,((e,t,s)=>{ee(Oe,t,s),I(s[c],(e=>ee(xe,t,e)),(()=>ue(ze,t)))}),((e,t)=>{ee(Oe,t),ee(xe,t),U(ze,t)})),pt=e=>W(e)?ws():Ss(e),mt=e=>se(ke,e,((e,t,s)=>wt(t,s)),((e,t)=>zt(t))),wt=(e,t)=>se(te(ke,e,(()=>(At(e,1),ee(Pe,e,fe()),ee(je,e,X()),X()))),t,((t,s,l)=>It(e,t,s,l)),((t,s)=>Pt(e,t,s))),It=(e,t,s,l,n)=>se(te(t,s,(()=>(Mt(e,s,1),X()))),l,((t,l,n)=>Rt(e,s,t,l,n)),((l,a)=>jt(e,t,s,l,a,n))),Rt=(e,t,s,l,n)=>{q(s,l)||Nt(e,t,l,1);const a=Z(s,l);n!==a&&(Bt(e,t,l,a,n),ee(s,l,n))},Jt=(e,t,s,l,n)=>I(Z(t,s),(t=>Rt(e,s,t,l,n)),(()=>It(e,t,s,Ct({[l]:n},e,s)))),Lt=e=>W(e)?Js():vs(e),Et=e=>se(Ae,e,((e,t,s)=>Ft(t,s)),((e,t)=>kt(t))),Ft=(e,t)=>{q(Ae,e)||Dt(e,1);const s=Z(Ae,e);t!==s&&(Ht(e,s,t),ee(Ae,e,t))},Ot=(e,t)=>{const[s]=Z(Pe,e),l=s(t);return q(Z(ke,e),l)?Ot(e,t):l},xt=e=>Z(ke,e)??wt(e,{}),zt=e=>wt(e,{}),Pt=(e,t,s)=>{const[,l]=Z(Pe,e);l(s),It(e,t,s,{},!0)},jt=(e,t,s,l,n,a)=>{const o=Z(Z(Fe,e)?.[0],n);if(!w(o)&&!a)return Rt(e,s,l,n,o);const r=t=>{Bt(e,s,t,Z(l,t)),Nt(e,s,t,-1),ee(l,t)};w(o)?r(n):_(l,r),G(l)&&(Mt(e,s,-1),G(ee(t,s))&&(At(e,-1),ee(ke,e),ee(Pe,e),ee(je,e)))},kt=e=>{const t=Z(xe,e);if(!w(t))return Ft(e,t);Ht(e,Z(Ae,e)),Dt(e,-1),ee(Ae,e)},At=(e,t)=>we(z,e,t),Mt=(e,t,s)=>we(te(k,e,X),t,s)&&ee(j,e,te(j,e,(()=>0))+s),Nt=(e,t,s,l)=>{const n=Z(je,e),a=Z(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&we(te(P,e,X),s,l),ee(n,s,a!=-l?a+l:null),we(te(te(A,e,X),t,X),s,l)},Bt=(e,t,s,l,n)=>te(te(te(N,e,X),t,X),s,(()=>[l,0]))[1]=n,Dt=(e,t)=>we(he,e,t),Ht=(e,t,s)=>te(Re,e,(()=>[t,0]))[1]=s,Wt=(e,t,s,l,n)=>(x(te(te(te(Je,e,X),t,X),s,(()=>[])),l),n),$t=(e,t,s)=>(x(te(Le,e,(()=>[])),t),s),qt=(e,t,s)=>I(Z(Z(Z(N,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(cs(e,t,s))])),Gt=e=>I(Z(Re,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(us(e))])),Kt=e=>G(Je)||G(_e[e])?0:Q(e?ce(Je):Je,((t,s)=>Q(t,((t,l)=>Q(t,((t,n)=>it(_e[e],[s,l,n],t))))))),Qt=e=>G(Le)||G(et[e])?0:Q(e?oe(Le):Le,((t,s)=>it(et[e],[s],t))),Ut=(e,t,s,l)=>{if(!G(e))return it(t,l,(()=>le(e))),_(e,((e,t)=>it(s,[...l??[],e],1==t))),1},Xt=e=>{const t=hs();t!=o&&it(Me[e],void 0,t);const s=G(Ke[e]),l=G(Xe[e])&&G(Ye[e])&&G(Ge[e])&&G(Qe[e])&&G(We[e])&&G($e[e])&&G(qe[e])&&s&&G(Be[e])&&G(De[e]),n=G(Ze[e])&&G(Ue[e])&&G(He[e])&&G(Ne[e]);if(!l||!n){const t=e?[oe(z),re(P),oe(j),re(k),ce(A),ce(N)]:[z,P,j,k,A,N];if(!l){Ut(t[0],Be[e],De[e]),Q(t[1],((t,s)=>Ut(t,We[e],$e[e],[s]))),Q(t[2],((t,s)=>{0!=t&&it(qe[e],[s],ns(s))}));const l=de();Q(t[3],((t,n)=>{Ut(t,Ge[e],Qe[e],[n])&&!s&&(it(Ke[e],[n,null]),ue(l,n))})),s||Q(t[5],((t,s)=>{if(!q(l,s)){const l=de();Q(t,(e=>Q(e,(([t,s],n)=>s!==t?ue(l,n):U(e,n))))),Q(l,(t=>it(Ke[e],[s,t])))}})),Q(t[4],((t,s)=>Q(t,((t,l)=>Ut(t,Xe[e],Ye[e],[s,l])))))}if(!n){let s;Q(t[5],((t,l)=>{let n;Q(t,((t,a)=>{let o;Q(t,(([t,r],c)=>{r!==t&&(it(Ze[e],[l,a,c],r,t,qt),s=n=o=1)})),o&&it(Ue[e],[l,a],qt)})),n&&it(He[e],[l],qt)})),s&&it(Ne[e],void 0,qt)}}},Yt=e=>{const t=Vs();t!=d&&it(tt[e],void 0,t);const s=G(lt[e])&&G(nt[e]),l=G(at[e])&&G(st[e]);if(!s||!l){const t=e?[oe(he),oe(Re)]:[he,Re];if(s||Ut(t[0],lt[e],nt[e]),!l){let s;Q(t[1],(([t,l],n)=>{l!==t&&(it(at[e],[n],l,t,Gt),s=1)})),s&&it(st[e],void 0,Gt)}}},Zt=(e,...t)=>(Fs((()=>e(...O(t,p)))),zs),_t=()=>[le(N,((e,t)=>-1===Z(z,t)?null:le(e,((e,s)=>-1===Z(Z(k,t),s)?null:le(e,(([,e])=>e??null),((e,t)=>Ve(t)))),W)),W),le(Re,(([,e])=>e??null),((e,t)=>Ve(t)))],es=()=>({cellsTouched:l,valuesTouched:n,changedCells:ae(N,be,Ve),invalidCells:ae(Je),changedValues:le(Re,be,Ve),invalidValues:le(Le),changedTableIds:le(z),changedRowIds:ne(k),changedCellIds:ae(A),changedValueIds:le(he)}),ts=()=>ae(ke),ss=()=>Y(ke),ls=e=>Y(Z(je,p(e))),ns=e=>$(Z(ke,p(e))),as=e=>Y(Z(ke,p(e))),os=(e,t,s,l=0,n)=>{return O(L((o=Z(ke,p(e)),r=(e,s)=>[w(t)?s:Z(e,p(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,w(n)?n:l+n),(([,e])=>e));var a,o,r},rs=(e,t)=>Y(Z(Z(ke,p(e)),p(t))),cs=(e,t,s)=>Z(Z(Z(ke,p(e)),p(t)),p(s)),is=()=>le(Ae),ds=()=>Y(Ae),us=e=>Z(Ae,p(e)),hs=()=>!G(ke),fs=e=>q(ke,p(e)),gs=(e,t)=>q(Z(je,p(e)),p(t)),Ts=(e,t)=>q(Z(ke,p(e)),p(t)),bs=(e,t,s)=>q(Z(Z(ke,p(e)),p(t)),p(s)),Vs=()=>!G(Ae),Cs=e=>q(Ae,p(e)),Ss=e=>Zt((()=>(e=>me(e,ft,Wt))(e)?mt(e):0)),vs=e=>Zt((()=>bt(e)?Et(e):0)),ys=e=>{try{pt(pe(e))}catch{}return zs},ps=t=>Zt((()=>{if((e=me(t,(e=>me(e,ht))))&&(vt(t),!G(ke))){const e=ts();ws(),Ss(e)}})),ms=e=>Zt((()=>{if(t=(e=>me(e,ht))(e)){const s=is();Es(),Js(),t=!0,yt(e),vs(s)}})),ws=()=>Zt((()=>mt({}))),Is=e=>Zt((e=>q(ke,e)?zt(e):0),e),Rs=(e,t)=>Zt(((e,t)=>I(Z(ke,e),(s=>q(s,t)?Pt(e,s,t):0))),e,t),Js=()=>Zt((()=>Et({}))),Ls=()=>Zt((()=>{vt({}),e=!1})),Es=()=>Zt((()=>{yt({}),t=!1})),Fs=(e,t)=>{if(-1!=m){Os();const s=e();return xs(t),s}},Os=()=>(-1!=m&&m++,1==m&&it(ot,void 0,_t,es),zs),xs=e=>(m>0&&(m--,0==m&&(l=!G(N),n=!G(Re),m=1,Kt(1),l&&Xt(1),Qt(1),n&&Yt(1),e?.(_t,es)&&(Q(N,((e,t)=>Q(e,((e,s)=>Q(e,(([e],l)=>Se(zs,t,s,l,e))))))),Q(Re,(([e],t)=>ve(zs,t,e))),l=n=!1),it(rt[0],void 0,_t,es),m=-1,Kt(0),l&&Xt(0),Qt(0),n&&Yt(0),it(rt[1],void 0,_t,es),m=0,l=n=!1,o=hs(),d=Vs(),F([z,P,j,k,A,N,Je,he,Re,Le],K))),zs),zs={getContent:()=>[ts(),is()],getTables:ts,getTableIds:ss,getTable:e=>ne(Z(ke,p(e))),getTableCellIds:ls,getRowCount:ns,getRowIds:as,getSortedRowIds:os,getRow:(e,t)=>le(Z(Z(ke,p(e)),p(t))),getCellIds:rs,getCell:cs,getValues:is,getValueIds:ds,getValue:us,hasTables:hs,hasTable:fs,hasTableCell:gs,hasRow:Ts,hasCell:bs,hasValues:Vs,hasValue:Cs,getTablesJson:()=>ye(ke),getValuesJson:()=>ye(Ae),getJson:()=>ye([ke,Ae]),getTablesSchemaJson:()=>ye(Ee),getValuesSchemaJson:()=>ye(Oe),getSchemaJson:()=>ye([Ee,Oe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Zt((()=>{(W(e)?ws:Ss)(e),(W(t)?Js:vs)(t)})),setTables:Ss,setTable:(e,t)=>Zt((e=>ft(t,e)?wt(e,t):0),e),setRow:(e,t,s)=>Zt(((e,t)=>gt(e,t,s)?It(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let l;return gt(e,l,t)&&(e=p(e),It(e,xt(e),l=Ot(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Zt(((e,t)=>{if(gt(e,t,s,1)){const l=xt(e);H(s,((s,n)=>Jt(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Zt(((e,t,s)=>I(Tt(e,t,s,J(l)?l(cs(e,t,s)):l),(l=>Jt(e,xt(e),t,s,l)))),e,t,s),setValues:vs,setPartialValues:e=>Zt((()=>bt(e,1)?H(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>Zt((e=>I(Vt(e,J(t)?t(us(e)):t),(t=>Ft(e,t)))),e),setTransactionChanges:e=>Zt((()=>{H(e[0],((e,t)=>w(e)?Is(t):H(e,((e,s)=>w(e)?Rs(t,s):H(e,((e,l)=>Se(zs,t,s,l,e))))))),H(e[1],((e,t)=>ve(zs,t,e)))})),setTablesJson:ys,setValuesJson:e=>{try{Lt(pe(e))}catch{}return zs},setJson:e=>Zt((()=>{try{const[t,s]=pe(e);pt(t),Lt(s)}catch{ys(e)}})),setTablesSchema:ps,setValuesSchema:ms,setSchema:(e,t)=>Zt((()=>{ps(e),ms(t)})),delTables:ws,delTable:Is,delRow:Rs,delCell:(e,t,s,l)=>Zt(((e,t,s)=>I(Z(ke,e),(n=>I(Z(n,t),(a=>q(a,s)?jt(e,n,t,a,s,l):0))))),e,t,s),delValues:Js,delValue:e=>Zt((e=>q(Ae,e)?kt(e):0),e),delTablesSchema:Ls,delValuesSchema:Es,delSchema:()=>Zt((()=>{Ls(),Es()})),transaction:Fs,startTransaction:Os,finishTransaction:xs,forEachTable:e=>Q(ke,((t,s)=>e(s,(e=>Q(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_(Z(je,p(e)),t),forEachRow:(e,t)=>Q(Z(ke,p(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_(Z(Z(ke,p(e)),p(t)),s),forEachValue:e=>_(Ae,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=os(e,t,s,l,n);return ct((()=>{const o=os(e,t,s,l,n);var c,i,d;i=r,E(c=o)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(zs,e,t,s,l,n,r))}),Ke[o?1:0],[e,t],[ss])},addStartTransactionListener:e=>ct(e,ot),addWillFinishTransactionListener:e=>ct(e,rt[0]),addDidFinishTransactionListener:e=>ct(e,rt[1]),callListener:e=>(ut(e),zs),delListener:e=>(dt(e),zs),getListenerStats:()=>({}),createStore:Ie,addListener:ct,callListeners:it};return H({[i+h]:[0,Me,[],()=>[hs()]],[h]:[0,Ne],[f]:[0,Be],[i+u]:[1,De,[ss],e=>[fs(...e)]],[u]:[1,He,[ss]],[u+C]:[1,We,[ss]],[i+u+V]:[2,$e,[ss,ls],e=>[gs(...e)]],[T]:[1,qe,[ss]],[b]:[1,Ge,[ss]],[i+g]:[2,Qe,[ss,as],e=>[Ts(...e)]],[g]:[2,Ue,[ss,as]],[C]:[2,Xe,[ss,as]],[i+V]:[3,Ye,[ss,as,rs],e=>[bs(...e)]],[V]:[3,Ze,[ss,as,rs],e=>ge(cs(...e))],InvalidCell:[3,_e],[i+v]:[0,tt,[],()=>[Vs()]],[v]:[0,st],[y]:[0,lt],[i+S]:[1,nt,[ds],e=>[Cs(...e)]],[S]:[1,at,[ds],e=>ge(us(e[0]))],InvalidValue:[1,et]},(([e,t,s,l],n)=>{zs["add"+n+"Listener"]=(...n)=>ct(n[e],t[n[e+1]?1:0],e>0?L(n,0,e):void 0,s,l)})),M(zs)};e.createStore=Ie},"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="",n=t(s),l=t(!0),a=t(0),o=t(t),r="type",c="default",i="Has",d="Ids",u="Table",h=u+"s",f=u+d,g="Row",T=g+"Count",b=g+d,V="Cell",C=V+d,S="Value",v=S+"s",y=S+d,p=e=>s+e,m=isFinite,w=e=>null==e,I=(e,t,s)=>w(e)?s?.():t(e),R=e=>e==n||e==l,J=e=>t(e)==o,L=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),P=(e,...t)=>e.push(...t),x=Object,z=e=>x.getPrototypeOf(e),j=x.entries,k=x.keys,A=x.isFrozen,M=x.freeze,N=e=>!w(e)&&I(z(e),(e=>e==x.prototype||w(z(e))),(()=>!0)),B=(e,t)=>!w(((e,t)=>I(e,(e=>e[t])))(e,t)),D=(e,t)=>(delete e[t],e),H=(e,t)=>O(j(e),(([e,s])=>t(s,e))),W=e=>N(e)&&0==(e=>E(k(e)))(e),$=e=>e?.size??0,q=(e,t)=>e?.has(t)??!1,G=e=>w(e)||0==$(e),K=e=>e.clear(),Q=(e,t)=>e?.forEach(t),U=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),_=(e,t)=>Q(e,((e,s)=>t(s,e))),ee=(e,t,s)=>w(s)?(U(e,t),e):e?.set(t,s),te=(e,t,s)=>(q(e,t)||ee(e,t,s()),Z(e,t)),se=(e,t,s,n=ee)=>(H(t,((t,n)=>s(e,n,t))),_(e,(s=>B(t,s)?0:n(e,s))),e),ne=(e,t,s)=>{const n={};return Q(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},le=(e,t,s)=>ne(e,(e=>ne(e,t,s)),W),ae=(e,t,s)=>ne(e,(e=>le(e,t,s)),W),oe=(e,t)=>{const s=X();return Q(e,((e,n)=>s.set(n,t?.(e)??e))),s},re=e=>oe(e,oe),ce=e=>oe(e,re),ie=(e,t,s,n,l=0)=>I((s?te:Z)(e,t[l],l>E(t)-2?s:X),(a=>{if(l>E(t)-2)return n?.(a)&&ee(e,t[l]),a;const o=ie(a,t,s,n,l+1);return G(a)&&ee(e,t[l]),o})),de=e=>new Set(Array.isArray(e)||w(e)?e:[e]),ue=(e,t)=>e?.add(t),he=/^\d+$/,fe=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{he.test(t)&&E(e)<1e3&&P(e,t)}]},ge=e=>[e,e],Te=()=>[X(),X()],be=e=>[...e],Ve=([e,t])=>e===t,Ce=e=>{const s=t(e);return R(s)||s==a&&m(e)?s:void 0},Se=(e,t,s,n,l)=>w(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),ve=(e,t,s)=>w(s)?e.delValue(t):e.setValue(t,s),ye=e=>JSON.stringify(e,((e,t)=>t instanceof Map?x.fromEntries([...t]):t)),pe=JSON.parse,me=(e,t,s)=>w(e)||!N(e)||W(e)||A(e)?(s?.(),!1):(H(e,((s,n)=>{t(s,n)||D(e,n)})),!W(e)),we=(e,t,s)=>ee(e,t,Z(e,t)==-s?void 0:s),Ie=()=>{let e,t,n,l=!1,o=!1,d=!1,m=!1,x=0;const z=X(),j=X(),k=X(),A=X(),N=X(),he=X(),Re=X(),Je=X(),Le=X(),Ee=X(),Fe=X(),Oe=X(),Pe=X(),xe=X(),ze=de(),je=X(),ke=X(),Ae=X(),Me=X(),Ne=Te(),Be=Te(),De=Te(),He=Te(),We=Te(),$e=Te(),qe=Te(),Ge=Te(),Ke=Te(),Qe=Te(),Ue=Te(),Xe=Te(),Ye=Te(),Ze=Te(),_e=Te(),et=Te(),tt=Te(),st=Te(),nt=Te(),lt=Te(),at=Te(),ot=Te(),rt=X(),ct=Te(),[it,dt,ut,ht]=(e=>{let t;const[n,l]=fe(),a=X();return[(e,l,o,r=[],c=(()=>[]))=>{t??=zs;const i=n(1);return ee(a,i,[e,l,o,r,c]),ue(ie(l,o??[s],de),i),i},(e,n,...l)=>F(((e,t=[s])=>{const n=[],l=(e,s)=>s==E(t)?P(n,e):null===t[s]?Q(e,(e=>l(e,s+1))):F([t[s],null],(t=>l(Z(e,t),s+1)));return l(e,0),n})(e,n),(e=>Q(e,(e=>Z(a,e)[0](t,...n??[],...l))))),e=>I(Z(a,e),(([,t,n])=>(ie(t,n??[s],void 0,(t=>(U(t,e),G(t)?1:0))),ee(a,e),l(e),n))),e=>I(Z(a,e),(([e,,s=[],n,l])=>{const a=(...o)=>{const r=E(o);r==E(s)?e(t,...o,...l(o)):w(s[r])?F(n[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),ft=e=>{if(!me(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!R(t)&&t!=a||(Ce(e[c])!=t&&D(e,c),0))},gt=(t,s)=>(!e||q(Fe,s)||$t(s))&&me(t,((e,t)=>Tt(s,t,e)),(()=>$t(s))),Tt=(e,t,s,n)=>me(n?s:St(s,e,t),((n,l)=>I(bt(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>$t(e,t))),bt=(t,s,n,l)=>e?I(Z(Z(Fe,t),n),(e=>Ce(l)!=e[r]?$t(t,s,n,l,e[c]):l),(()=>$t(t,s,n,l))):w(Ce(l))?$t(t,s,n,l):l,Vt=(e,t)=>me(t?e:vt(e),((t,s)=>I(Ct(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>qt())),Ct=(e,s)=>t?I(Z(Pe,e),(t=>Ce(s)!=t[r]?qt(e,s,t[c]):s),(()=>qt(e,s))):w(Ce(s))?qt(e,s):s,St=(e,t,s)=>(I(Z(Oe,t),(([n,l])=>{Q(n,((t,s)=>{B(e,s)||(e[s]=t)})),Q(l,(n=>{B(e,n)||$t(t,s,n)}))})),e),vt=e=>(t&&(Q(xe,((t,s)=>{B(e,s)||(e[s]=t)})),Q(ze,(t=>{B(e,t)||qt(t)}))),e),yt=e=>se(Fe,e,((e,t,s)=>{const n=X(),l=de();se(te(Fe,t,X),s,((e,t,s)=>{ee(e,t,s),I(s[c],(e=>ee(n,t,e)),(()=>ue(l,t)))})),ee(Oe,t,[n,l])}),((e,t)=>{ee(Fe,t),ee(Oe,t)})),pt=e=>se(Pe,e,((e,t,s)=>{ee(Pe,t,s),I(s[c],(e=>ee(xe,t,e)),(()=>ue(ze,t)))}),((e,t)=>{ee(Pe,t),ee(xe,t),U(ze,t)})),mt=e=>W(e)?Is():vs(e),wt=e=>se(Ae,e,((e,t,s)=>It(t,s)),((e,t)=>zt(t))),It=(e,t)=>se(te(Ae,e,(()=>(Mt(e,1),ee(je,e,fe()),ee(ke,e,X()),X()))),t,((t,s,n)=>Rt(e,t,s,n)),((t,s)=>jt(e,t,s))),Rt=(e,t,s,n,l)=>se(te(t,s,(()=>(Nt(e,s,1),X()))),n,((t,n,l)=>Jt(e,s,t,n,l)),((n,a)=>kt(e,t,s,n,a,l))),Jt=(e,t,s,n,l)=>{q(s,n)||Bt(e,t,n,1);const a=Z(s,n);l!==a&&(Dt(e,t,n,a,l),ee(s,n,l))},Lt=(e,t,s,n,l)=>I(Z(t,s),(t=>Jt(e,s,t,n,l)),(()=>Rt(e,t,s,St({[n]:l},e,s)))),Et=e=>W(e)?Ls():ys(e),Ft=e=>se(Me,e,((e,t,s)=>Ot(t,s)),((e,t)=>At(t))),Ot=(e,t)=>{q(Me,e)||Ht(e,1);const s=Z(Me,e);t!==s&&(Wt(e,s,t),ee(Me,e,t))},Pt=(e,t)=>{const[s]=Z(je,e),n=s(t);return q(Z(Ae,e),n)?Pt(e,t):n},xt=e=>Z(Ae,e)??It(e,{}),zt=e=>It(e,{}),jt=(e,t,s)=>{const[,n]=Z(je,e);n(s),Rt(e,t,s,{},!0)},kt=(e,t,s,n,l,a)=>{const o=Z(Z(Oe,e)?.[0],l);if(!w(o)&&!a)return Jt(e,s,n,l,o);const r=t=>{Dt(e,s,t,Z(n,t)),Bt(e,s,t,-1),ee(n,t)};w(o)?r(l):_(n,r),G(n)&&(Nt(e,s,-1),G(ee(t,s))&&(Mt(e,-1),ee(Ae,e),ee(je,e),ee(ke,e)))},At=e=>{const t=Z(xe,e);if(!w(t))return Ot(e,t);Wt(e,Z(Me,e)),Ht(e,-1),ee(Me,e)},Mt=(e,t)=>we(z,e,t),Nt=(e,t,s)=>we(te(A,e,X),t,s)&&ee(k,e,te(k,e,(()=>0))+s),Bt=(e,t,s,n)=>{const l=Z(ke,e),a=Z(l,s)??0;(0==a&&1==n||1==a&&-1==n)&&we(te(j,e,X),s,n),ee(l,s,a!=-n?a+n:null),we(te(te(N,e,X),t,X),s,n)},Dt=(e,t,s,n,l)=>te(te(te(he,e,X),t,X),s,(()=>[n,0]))[1]=l,Ht=(e,t)=>we(Re,e,t),Wt=(e,t,s)=>te(Je,e,(()=>[t,0]))[1]=s,$t=(e,t,s,n,l)=>(P(te(te(te(Le,e,X),t,X),s,(()=>[])),n),l),qt=(e,t,s)=>(P(te(Ee,e,(()=>[])),t),s),Gt=(e,t,s)=>I(Z(Z(Z(he,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(is(e,t,s))])),Kt=e=>I(Z(Je,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ge(hs(e))])),Qt=e=>G(Le)||G(et[e])?0:Q(e?ce(Le):Le,((t,s)=>Q(t,((t,n)=>Q(t,((t,l)=>dt(et[e],[s,n,l],t))))))),Ut=e=>G(Ee)||G(tt[e])?0:Q(e?oe(Ee):Ee,((t,s)=>dt(tt[e],[s],t))),Xt=(e,t,s,n)=>{if(!G(e))return dt(t,n,(()=>ne(e))),_(e,((e,t)=>dt(s,[...n??[],e],1==t))),1},Yt=e=>{const t=fs();t!=d&&dt(Ne[e],void 0,t);const s=G(Qe[e]),n=G(Ye[e])&&G(Ze[e])&&G(Ke[e])&&G(Ue[e])&&G($e[e])&&G(qe[e])&&G(Ge[e])&&s&&G(De[e])&&G(He[e]),l=G(_e[e])&&G(Xe[e])&&G(We[e])&&G(Be[e]);if(!n||!l){const t=e?[oe(z),re(j),oe(k),re(A),ce(N),ce(he)]:[z,j,k,A,N,he];if(!n){Xt(t[0],De[e],He[e]),Q(t[1],((t,s)=>Xt(t,$e[e],qe[e],[s]))),Q(t[2],((t,s)=>{0!=t&&dt(Ge[e],[s],as(s))}));const n=de();Q(t[3],((t,l)=>{Xt(t,Ke[e],Ue[e],[l])&&!s&&(dt(Qe[e],[l,null]),ue(n,l))})),s||Q(t[5],((t,s)=>{if(!q(n,s)){const n=de();Q(t,(e=>Q(e,(([t,s],l)=>s!==t?ue(n,l):U(e,l))))),Q(n,(t=>dt(Qe[e],[s,t])))}})),Q(t[4],((t,s)=>Q(t,((t,n)=>Xt(t,Ye[e],Ze[e],[s,n])))))}if(!l){let s;Q(t[5],((t,n)=>{let l;Q(t,((t,a)=>{let o;Q(t,(([t,r],c)=>{r!==t&&(dt(_e[e],[n,a,c],r,t,Gt),s=l=o=1)})),o&&dt(Xe[e],[n,a],Gt)})),l&&dt(We[e],[n],Gt)})),s&&dt(Be[e],void 0,Gt)}}},Zt=e=>{const t=Cs();t!=m&&dt(st[e],void 0,t);const s=G(lt[e])&&G(at[e]),n=G(ot[e])&&G(nt[e]);if(!s||!n){const t=e?[oe(Re),oe(Je)]:[Re,Je];if(s||Xt(t[0],lt[e],at[e]),!n){let s;Q(t[1],(([t,n],l)=>{n!==t&&(dt(ot[e],[l],n,t,Kt),s=1)})),s&&dt(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Os((()=>e(...O(t,p)))),zs),es=()=>[ne(he,((e,t)=>-1===Z(z,t)?null:ne(e,((e,s)=>-1===Z(Z(A,t),s)?null:ne(e,(([,e])=>e??null),((e,t)=>Ve(t)))),W)),W),ne(Je,(([,e])=>e??null),((e,t)=>Ve(t)))],ts=()=>({cellsTouched:l,valuesTouched:o,changedCells:ae(he,be,Ve),invalidCells:ae(Le),changedValues:ne(Je,be,Ve),invalidValues:ne(Ee),changedTableIds:ne(z),changedRowIds:le(A),changedCellIds:ae(N),changedValueIds:ne(Re)}),ss=()=>ae(Ae),ns=()=>Y(Ae),ls=e=>Y(Z(ke,p(e))),as=e=>$(Z(Ae,p(e))),os=e=>Y(Z(Ae,p(e))),rs=(e,t,s,n=0,l)=>{return O(L((o=Z(Ae,p(e)),r=(e,s)=>[w(t)?s:Z(e,p(t)),s],a=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),n,w(l)?l:n+l),(([,e])=>e));var a,o,r},cs=(e,t)=>Y(Z(Z(Ae,p(e)),p(t))),is=(e,t,s)=>Z(Z(Z(Ae,p(e)),p(t)),p(s)),ds=()=>ne(Me),us=()=>Y(Me),hs=e=>Z(Me,p(e)),fs=()=>!G(Ae),gs=e=>q(Ae,p(e)),Ts=(e,t)=>q(Z(ke,p(e)),p(t)),bs=(e,t)=>q(Z(Ae,p(e)),p(t)),Vs=(e,t,s)=>q(Z(Z(Ae,p(e)),p(t)),p(s)),Cs=()=>!G(Me),Ss=e=>q(Me,p(e)),vs=e=>_t((()=>(e=>me(e,gt,$t))(e)?wt(e):0)),ys=e=>_t((()=>Vt(e)?Ft(e):0)),ps=e=>{try{mt(pe(e))}catch{}return zs},ms=t=>_t((()=>{if((e=me(t,(e=>me(e,ft))))&&(yt(t),!G(Ae))){const e=ss();Is(),vs(e)}})),ws=e=>_t((()=>{if(t=(e=>me(e,ft))(e)){const s=ds();Fs(),Ls(),t=!0,pt(e),ys(s)}})),Is=()=>_t((()=>wt({}))),Rs=e=>_t((e=>q(Ae,e)?zt(e):0),e),Js=(e,t)=>_t(((e,t)=>I(Z(Ae,e),(s=>q(s,t)?jt(e,s,t):0))),e,t),Ls=()=>_t((()=>Ft({}))),Es=()=>_t((()=>{yt({}),e=!1})),Fs=()=>_t((()=>{pt({}),t=!1})),Os=(e,t)=>{if(-1!=x){Ps();const s=e();return xs(t),s}},Ps=()=>(-1!=x&&x++,1==x&&dt(rt,void 0,es,ts),zs),xs=e=>(x>0&&(x--,0==x&&(l=!G(he),o=!G(Je),x=1,Qt(1),l&&Yt(1),Ut(1),o&&Zt(1),e?.(es,ts)&&(Q(he,((e,t)=>Q(e,((e,s)=>Q(e,(([e],n)=>Se(zs,t,s,n,e))))))),Q(Je,(([e],t)=>ve(zs,t,e))),l=o=!1),dt(ct[0],void 0,es,ts),x=-1,Qt(0),l&&Yt(0),Ut(0),o&&Zt(0),dt(ct[1],void 0,es,ts),n?.(zs,es,ts),x=0,l=o=!1,d=fs(),m=Cs(),F([z,j,k,A,N,he,Le,Re,Je,Ee],K))),zs),zs={getContent:()=>[ss(),ds()],getTables:ss,getTableIds:ns,getTable:e=>le(Z(Ae,p(e))),getTableCellIds:ls,getRowCount:as,getRowIds:os,getSortedRowIds:rs,getRow:(e,t)=>ne(Z(Z(Ae,p(e)),p(t))),getCellIds:cs,getCell:is,getValues:ds,getValueIds:us,getValue:hs,hasTables:fs,hasTable:gs,hasTableCell:Ts,hasRow:bs,hasCell:Vs,hasValues:Cs,hasValue:Ss,getTablesJson:()=>ye(Ae),getValuesJson:()=>ye(Me),getJson:()=>ye([Ae,Me]),getTablesSchemaJson:()=>ye(Fe),getValuesSchemaJson:()=>ye(Pe),getSchemaJson:()=>ye([Fe,Pe]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>_t((()=>{(W(e)?Is:vs)(e),(W(t)?Ls:ys)(t)})),setTables:vs,setTable:(e,t)=>_t((e=>gt(t,e)?It(e,t):0),e),setRow:(e,t,s)=>_t(((e,t)=>Tt(e,t,s)?Rt(e,xt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let n;return Tt(e,n,t)&&(e=p(e),Rt(e,xt(e),n=Pt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>_t(((e,t)=>{if(Tt(e,t,s,1)){const n=xt(e);H(s,((s,l)=>Lt(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>_t(((e,t,s)=>I(bt(e,t,s,J(n)?n(is(e,t,s)):n),(n=>Lt(e,xt(e),t,s,n)))),e,t,s),setValues:ys,setPartialValues:e=>_t((()=>Vt(e,1)?H(e,((e,t)=>Ot(t,e))):0)),setValue:(e,t)=>_t((e=>I(Ct(e,J(t)?t(hs(e)):t),(t=>Ot(e,t)))),e),setTransactionChanges:e=>_t((()=>{H(e[0],((e,t)=>w(e)?Rs(t):H(e,((e,s)=>w(e)?Js(t,s):H(e,((e,n)=>Se(zs,t,s,n,e))))))),H(e[1],((e,t)=>ve(zs,t,e)))})),setTablesJson:ps,setValuesJson:e=>{try{Et(pe(e))}catch{}return zs},setJson:e=>_t((()=>{try{const[t,s]=pe(e);mt(t),Et(s)}catch{ps(e)}})),setTablesSchema:ms,setValuesSchema:ws,setSchema:(e,t)=>_t((()=>{ms(e),ws(t)})),delTables:Is,delTable:Rs,delRow:Js,delCell:(e,t,s,n)=>_t(((e,t,s)=>I(Z(Ae,e),(l=>I(Z(l,t),(a=>q(a,s)?kt(e,l,t,a,s,n):0))))),e,t,s),delValues:Ls,delValue:e=>_t((e=>q(Me,e)?At(e):0),e),delTablesSchema:Es,delValuesSchema:Fs,delSchema:()=>_t((()=>{Es(),Fs()})),transaction:Os,startTransaction:Ps,finishTransaction:xs,forEachTable:e=>Q(Ae,((t,s)=>e(s,(e=>Q(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachTableCell:(e,t)=>_(Z(ke,p(e)),t),forEachRow:(e,t)=>Q(Z(Ae,p(e)),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_(Z(Z(Ae,p(e)),p(t)),s),forEachValue:e=>_(Me,e),addSortedRowIdsListener:(e,t,s,n,l,a,o)=>{let r=rs(e,t,s,n,l);return it((()=>{const o=rs(e,t,s,n,l);var c,i,d;i=r,E(c=o)===E(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(zs,e,t,s,n,l,r))}),Qe[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>it(e,rt),addWillFinishTransactionListener:e=>it(e,ct[0]),addDidFinishTransactionListener:e=>it(e,ct[1]),callListener:e=>(ht(e),zs),delListener:e=>(ut(e),zs),getListenerStats:()=>({}),createStore:Ie,addListener:it,callListeners:dt,addPostTransactionListener:e=>{n=e}};return H({[i+h]:[0,Ne,[],()=>[fs()]],[h]:[0,Be],[f]:[0,De],[i+u]:[1,He,[ns],e=>[gs(...e)]],[u]:[1,We,[ns]],[u+C]:[1,$e,[ns]],[i+u+V]:[2,qe,[ns,ls],e=>[Ts(...e)]],[T]:[1,Ge,[ns]],[b]:[1,Ke,[ns]],[i+g]:[2,Ue,[ns,os],e=>[bs(...e)]],[g]:[2,Xe,[ns,os]],[C]:[2,Ye,[ns,os]],[i+V]:[3,Ze,[ns,os,cs],e=>[Vs(...e)]],[V]:[3,_e,[ns,os,cs],e=>ge(is(...e))],InvalidCell:[3,et],[i+v]:[0,st,[],()=>[Cs()]],[v]:[0,nt],[y]:[0,lt],[i+S]:[1,at,[us],e=>[Ss(...e)]],[S]:[1,ot,[us],e=>ge(hs(e[0]))],InvalidValue:[1,tt]},(([e,t,s,n],l)=>{zs["add"+l+"Listener"]=(...l)=>it(l[e],t[l[e+1]?1:0],e>0?L(l,0,e):void 0,s,n)})),M(zs)};e.createStore=Ie},"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="Has",g="Ids",f="Table",L=f+"s",w=f+g,v="Row",I=v+"Count",S=v+g,y="Sorted"+v+g,T="Cell",R=T+g,p="Value",C=p+"s",b=p+g,m=e=>s+e,V=Math.max,E=Math.min,k=isFinite,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=(e,t,s)=>e.slice(t,s),Q=e=>e.length,z=()=>{},N=(e,t)=>e.includes(t),O=(e,t)=>e.every(t),P=(e,t)=>Q(e)===Q(t)&&O(e,((e,s)=>t[s]===e)),j=(e,t)=>O(e,((s,n)=>0==n||t(e[n-1],s)<=0)),B=(e,t)=>e.sort(t),W=(e,t)=>e.forEach(t),_=(e,t)=>e.map(t),H=e=>q(e,((e,t)=>e+t),0),$=e=>0==Q(e),q=(e,t,s)=>e.reduce(t,s),G=(e,...t)=>e.push(...t),K=e=>e.pop(),U=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,ee=X.keys,te=X.isFrozen,se=X.freeze,ne=e=>!M(e)&&x(Y(e),(e=>e==X.prototype||M(Y(e))),(()=>!0)),ae=(e,t)=>!M(((e,t)=>x(e,(e=>e[t])))(e,t)),oe=(e,t)=>(delete e[t],e),re=(e,t)=>_(Z(e),(([e,s])=>t(s,e))),ie=e=>ne(e)&&0==(e=>Q(ee(e)))(e),le=e=>e?.size??0,ce=(e,t)=>e?.has(t)??!1,de=e=>M(e)||0==le(e),ue=e=>[...e?.values()??[]],he=e=>e.clear(),ge=(e,t)=>e?.forEach(t),fe=(e,t)=>e?.delete(t),Le=e=>new Map(e),we=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Ie=(e,t)=>ge(e,((e,s)=>t(s,e))),Se=(e,t,s)=>M(s)?(fe(e,t),e):e?.set(t,s),ye=(e,t,s)=>(ce(e,t)||Se(e,t,s()),ve(e,t)),Te=(e,t,s,n=Se)=>(re(t,((t,n)=>s(e,n,t))),Ie(e,(s=>ae(t,s)?0:n(e,s))),e),Re=(e,t,s)=>{const n={};return ge(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},pe=(e,t,s)=>Re(e,(e=>Re(e,t,s)),ie),Ce=(e,t,s)=>Re(e,(e=>pe(e,t,s)),ie),be=(e,t)=>{const s=Le();return ge(e,((e,n)=>s.set(n,t?.(e)??e))),s},me=e=>be(e,be),Ve=e=>be(e,me),Ee=(e,t,s,n,a=0)=>x((s?ye:ve)(e,t[a],a>Q(t)-2?s:Le),(o=>{if(a>Q(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=Ee(o,t,s,n,a+1);return de(o)&&Se(e,t[a]),r})),ke=e=>{const s=t(e);return D(s)||s==o&&k(e)?s:void 0},Me=(e,t,s,n,a)=>M(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),xe=(e,t,s)=>M(s)?e.delValue(t):e.setValue(t,s),De=e=>new Set(A(e)||M(e)?e:[e]),Je=(e,t)=>e?.add(t),Ae=(e,t,s,n,a)=>{const o=e.hasRow,r=Le(),i=Le(),l=Le(),c=Le(),d=Le(),u=Le(),h=(t,s,...n)=>{const a=ye(u,t,De);return W(n,(t=>Je(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>x(ve(u,t),(n=>{W($(s)?ue(n):s,(t=>{e.delListener(t),fe(n,t)})),de(n)&&Se(u,t)})),f=(e,s)=>{Se(r,e,s),ce(i,e)||(Se(i,e,t()),Se(c,e,Le()),Se(d,e,Le()),a(l))},L=e=>{Se(r,e),Se(i,e),Se(c,e),Se(d,e),g(e),a(l)};return[()=>e,()=>we(r),e=>Ie(i,e),e=>ce(i,e),e=>ve(r,e),e=>ve(i,e),(e,t)=>Se(i,e,t),f,(t,n,a,r,i)=>{f(t,n);const l=Le(),u=Le(),L=ve(c,t),w=ve(d,t),v=t=>{const a=s=>e.getCell(n,t,s),c=ve(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||A(c)&&A(d)&&P(c,d)||Se(l,t,[c,d]),!M(i)){const e=ve(w,t),s=o(n,t)?i(a,t):void 0;e!=s&&Se(u,t,s)}},I=e=>{a((()=>{ge(l,(([,e],t)=>Se(L,t,e))),ge(u,((e,t)=>Se(w,t,e)))}),l,u,L,w,e),he(l),he(u)};Ie(L,v),e.hasTable(n)&&W(e.getRowIds(n),(e=>{ce(L,e)||v(e)})),I(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>v(s))),e.addTableListener(n,(()=>I())))},L,e=>n(e,l),()=>Ie(u,L),h,g]},Fe=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Qe=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},ze=/^\d+$/,Ne=()=>{const e=[];let t=0;return[n=>(n?U(e):null)??s+t++,t=>{ze.test(t)&&Q(e)<1e3&&G(e,t)}]},Oe=e=>{let t;const[n,a]=Ne(),o=Le();return[(a,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Se(o,d,[a,r,i,l,c]),Je(Ee(r,i??[s],De),d),d},(e,n,...a)=>W(((e,t=[s])=>{const n=[],a=(e,s)=>s==Q(t)?G(n,e):null===t[s]?ge(e,(e=>a(e,s+1))):W([t[s],null],(t=>a(ve(e,t),s+1)));return a(e,0),n})(e,n),(e=>ge(e,(e=>ve(o,e)[0](t,...n??[],...a))))),e=>x(ve(o,e),(([,t,n])=>(Ee(t,n??[s],void 0,(t=>(fe(t,e),de(t)?1:0))),Se(o,e),a(e),n))),e=>x(ve(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const i=Q(r);i==Q(s)?e(t,...r,...a(r)):M(s[i])?W(n[i]?.(...r)??[],(e=>o(...r,e))):o(...r,s[i])};o()}))]},Pe=Qe((e=>{let t,n,a,o=100,r=Le(),i=Le(),l=1;const c=Le(),d=Le(),[u,h,g]=Oe((()=>F)),f=Le(),L=Le(),w=[],v=[],I=(t,s)=>{l=0,e.transaction((()=>{const[n,a]=ve(f,s);ge(n,((s,n)=>ge(s,((s,a)=>ge(s,((s,o)=>Me(e,n,a,o,s[t]))))))),ge(a,((s,n)=>xe(e,n,s[t])))})),l=1},S=e=>{Se(f,e),Se(L,e),h(d,[e])},y=(e,t)=>W(((e,t)=>e.splice(0,t))(e,t??Q(e)),S),T=()=>y(w,Q(w)-o),R=()=>x(t,(()=>{G(w,t),T(),y(v),t=void 0,a=1})),p=()=>{t=K(w),a=1};let C,b;const m=(e="")=>(M(t)&&(t=s+n++,Se(f,t,[r,i]),J(t,e),r=Le(),i=Le(),a=1),t),V=()=>{$(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,t),t=K(w),a=1)},E=()=>{$(v)||(G(w,t),t=U(v),I(1,t),a=1)},k=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return k(),t},J=(e,t)=>(A(e)&&ve(L,e)!==t&&(Se(L,e,t),h(d,[e])),F),A=e=>ce(f,e),F={setSize:e=>(o=e,T(),F),addCheckpoint:D,setCheckpoint:J,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>Ie(L,e),hasCheckpoint:A,getCheckpoint:e=>ve(L,e),goBackward:()=>(V(),k(),F),goForward:()=>(E(),k(),F),goTo:e=>{const s=N(w,e)?V:N(v,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:()=>(y(w),y(v),M(t)||S(t),t=void 0,n=0,D(),F),clearForward:()=>($(v)||(y(v),h(c)),F),destroy:()=>{e.delListener(C),e.delListener(b)},getListenerStats:()=>({}),_registerListeners:()=>{C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(l){R();const e=ye(r,t,Le),i=ye(e,s,Le),l=ye(i,n,(()=>[o,void 0]));l[1]=a,l[0]===a&&de(Se(i,n))&&de(Se(e,s))&&de(Se(r,t))&&p(),k()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(l){R();const e=ye(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&de(Se(i,t))&&p(),k()}}))}};return se(F.clear())}),(e=>e._registerListeners())),je=(e,t)=>(e??0)<(t??0)?-1:1,Be=Qe((e=>{const t=Le(),n=Le(),[a,o,r]=Oe((()=>S)),[i,l,c,d,u,h,g,,f,L,w,v]=Ae(e,Le,(e=>M(e)?s:A(e)?_(e,m):m(e)),a,o),I=(t,s,n)=>{const a=u(t);ge(n,((t,n)=>s(n,(s=>ge(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={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=De(),v=De(),I=h(e);if(ge(a,(([e,t],s)=>{const n=De(e),a=De(t);ge(n,(e=>fe(a,e)?fe(n,e):0)),ge(n,(e=>{Je(w,e),x(ve(I,e),(t=>{fe(t,s),de(t)&&(Se(I,e),L=1)}))})),ge(a,(e=>{Je(w,e),ce(I,e)||(Se(I,e,De()),L=1),Je(ve(I,e),s),M(r)||Je(v,e)}))})),s(),de(u)||(f?Ie(I,(e=>Je(v,e))):Ie(i,(e=>x(ve(d,e),(e=>Je(v,e))))),ge(v,(e=>{const t=(t,s)=>l(ve(u,t),ve(u,s),e),s=[...ve(I,e)];j(s,t)||(Se(I,e,De(B(s,t))),Je(w,e))}))),(L||f)&&!M(c)){const t=[...I];j(t,c)||(g(e,Le(B(t,c))),L=1)}L&&o(t,[e]),ge(w,(t=>o(n,[e,t])))}),Fe(a),x(r,Fe)),S},delIndexDefinition:e=>(L(e),S),getStore:i,getIndexIds:l,forEachIndex:e=>c(((t,s)=>e(t,(e=>I(t,e,s))))),forEachSlice:(e,t)=>I(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>ce(h(e),t),getTableId:u,getSliceIds:e=>we(h(e)),getSliceRowIds:(e,t)=>ue(ve(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),S),destroy:v,getListenerStats:()=>({})};return se(S)})),We=Le([["avg",[(e,t)=>H(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=>V(...e),(e,t)=>V(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:V(t,e)]],["min",[e=>E(...e),(e,t)=>E(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:E(t,e)]],["sum",[e=>H(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),_e=(e,t,s,n,a,o=!1)=>{if(de(s))return;const[r,i,l,c]=a;return o||=M(e),ge(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(ue(s),le(s)):e},He=Qe((e=>{const t=Le(),[n,a,o]=Oe((()=>v)),[r,i,l,c,d,u,h,,g,f,L,w]=Ae(e,z,(e=>isNaN(e)||M(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),v={setMetricDefinition:(e,s,n,o,r,i,l)=>{const c=J(n)?[n,r,i,l]:ve(We,n)??ve(We,"sum");return g(e,s,((s,n,o,r,i,l)=>{const d=u(e),g=le(r);l||=M(d),s();let f=_e(d,g,r,n,c,l);k(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Fe(o,1)),v},delMetricDefinition:e=>(f(e),v),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),v),destroy:w,getListenerStats:()=>({})};return se(v)})),$e=Le(),qe=Le(),Ge=Qe((e=>{const t=e.createStore,n=t(),a=t(),o=Le(),{addListener:r,callListeners:i,delListener:l}=a,[h,g,L,w,p,,,C,,b,m,V,E,k]=Ae(e,(()=>!0),z,r,i),D=(e,t,...s)=>W(s,(s=>Je(ye(ye(o,t,Le),e,De),s))),A=e=>{x(ve(o,e),(e=>{Ie(e,((e,t)=>ge(t,(t=>e.delListener(t))))),he(e)})),W([a,n],(t=>t.delTable(e)))},N=(e,t,s)=>D(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),P={setQueryDefinition:(t,o,r)=>{C(t,o),A(t);const i=[],l=[[null,[o,null,null,[],Le()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=J(e)?[Q(i)+s,e]:[M(t)?e:t,s=>s(e,t)];return G(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),[],Le()]];return G(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>G(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]:ve(We,t)??[(e,t)=>t]]];return G(d,o),{as:e=>o[0]=e}},having:(e,t)=>G(u,J(e)?e:s=>s(e)===t)});const h=Le(i);if(de(h))return P;const g=Le(l);Ie(g,((e,[,t])=>x(ve(g,t),(({3:t})=>M(e)?0:G(t,e)))));const f=Le(d);let L=n;if(de(f)&&$(u))L=a;else{N(t,L,a);const e=Le();Ie(f,((t,[s,n])=>Je(ye(e,s,De),[t,n])));const s=De();Ie(h,(t=>ce(e,t)?0:Je(s,t)));const n=Le(),o=(s,n,o,r)=>x(s,(([i,l,c,d])=>{Ie(n,((t,[s])=>{const n=ye(i,t,Le),a=ve(n,o),l=r?void 0:s;if(a!==l){const s=De([[a,l]]),r=le(n);Se(n,o,l),ge(ve(e,t),(([e,t])=>{const a=_e(d[e],r,n,s,t);d[e]=M(ke(a))?null:a}))}})),de(l)||!O(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=Le(),h=L.hasRow(t,i);let g=!h;ge(s,(e=>{const[s,n,a]=l(t,i,e);G(c,n),G(d,a),g||=s})),Ie(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Se(u,e,[n])})),g&&o(Ee(n,c,void 0,(([,e])=>(fe(e,i),de(e)))),u,i,1),h&&o(Ee(n,d,(()=>{const e={};return ge(s,(s=>e[s]=L.getCell(t,i,s))),[Le(),De(),void 0,e]}),(([,e])=>{Je(e,i)})),u,i)})))}N(t,e,L);const w=(s,n,a,r)=>{const i=t=>e.getCell(n,a,t);W(r,(n=>{const[a,,o,r,l]=ve(g,n),c=o?.(i,s),[d,u]=ve(l,s)??[];c!=d&&(M(u)||k(t,u),Se(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]:[ve(g,t)?.[0],ve(ve(g,t)?.[4],s)?.[0],n]);L.transaction((()=>O(c,(e=>e(n)))?Ie(h,((e,a)=>Me(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:v}=ve(g,null);return L.transaction((()=>E(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,v):(L.delRow(t,a),ge(g,(({4:e})=>x(ve(e,a),(([,s])=>{k(t,s),Se(e,a)})))))}))))),P},delQueryDefinition:e=>(A(e),b(e),P),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(P))),delListener:e=>(l(e),P),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return re({[f]:[1,1],[f+R]:[0,1],[I]:[0,1],[S]:[0,1],[y]:[0,5],[v]:[1,2],[R]:[0,2],[T]:[1,3]},(([e,t],s)=>{W(e?["get","has","forEach"]:["get"],(e=>P[e+d+s]=(...t)=>a[e+s](...t))),P[u+d+s+c]=(...e)=>a[u+s+c](...F(e,0,t),((s,...n)=>e[t](P,...n)),!0)})),se(P)})),Ke=Qe((e=>{const t=Le(),n=Le(),a=Le(),o=Le(),[r,i,l]=Oe((()=>R)),[c,d,u,h,g,f,,,L,w,v,I]=Ae(e,(()=>[Le(),Le(),Le(),Le()]),(e=>M(e)?void 0:e+s),r,i),S=(e,t,s)=>x(f(e),(([n,,a])=>{if(!ce(a,t)){const o=De();if(g(e)!=T(e))Je(o,t);else{let e=t;for(;!M(e)&&!ce(o,e);)Je(o,e),e=ve(n,e)}if(s)return o;Se(a,t,o)}return ve(a,t)})),y=(e,t)=>x(f(e),(([,,e])=>Se(e,t))),T=e=>ve(t,e),R={setRelationshipDefinition:(e,s,r,l)=>(Se(t,e,r),L(e,s,((t,s)=>{const r=De(),l=De(),c=De(),[d,u]=f(e);ge(s,(([t,s],n)=>{M(t)||(Je(l,t),x(ve(u,t),(e=>{fe(e,n),de(e)&&Se(u,t)}))),M(s)||(Je(l,s),ce(u,s)||Se(u,s,De()),Je(ve(u,s),n)),Je(r,n),Se(d,n,s),Ie(ve(o,e),(t=>{ce(S(e,t),n)&&Je(c,t)}))})),t(),ge(r,(t=>i(n,[e,t]))),ge(l,(t=>i(a,[e,t]))),ge(c,(t=>{y(e,t),i(o,[e,t])}))}),Fe(l)),R),delRelationshipDefinition:e=>(Se(t,e),w(e),R),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)=>ve(f(e)?.[0],t),getLocalRowIds:(e,t)=>ue(ve(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>M(f(e))?[t]:ue(S(e,t,!0)),addRelationshipIdsListener:v,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),r(s,o,[e,t])),delListener:e=>(y(...l(e)??[]),R),destroy:I,getListenerStats:()=>({})};return se(R)})),Ue=e=>[e,e],Xe=()=>[Le(),Le()],Ye=e=>[...e],Ze=([e,t])=>e===t,et=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),tt=JSON.parse,st=(e,t,s)=>M(e)||!ne(e)||ie(e)||te(e)?(s?.(),!1):(re(e,((s,n)=>{t(s,n)||oe(e,n)})),!ie(e)),nt=(e,t,s)=>Se(e,t,ve(e,t)==-s?void 0:s),at=()=>{let e,t,s=!1,n=!1,a=!1,r=!1,d=0;const g=Le(),y=Le(),V=Le(),E=Le(),k=Le(),A=Le(),Q=Le(),z=Le(),O=Le(),j=Le(),H=Le(),$=Le(),q=Le(),K=Le(),U=De(),X=Le(),Y=Le(),Z=Le(),ee=Le(),te=Xe(),ne=Xe(),ue=Xe(),Ee=Xe(),Ae=Xe(),Fe=Xe(),Qe=Xe(),ze=Xe(),Pe=Xe(),Be=Xe(),We=Xe(),_e=Xe(),He=Xe(),$e=Xe(),qe=Xe(),Ge=Xe(),Ke=Xe(),ot=Xe(),rt=Xe(),it=Xe(),lt=Xe(),ct=Xe(),dt=Le(),ut=Xe(),[ht,gt,ft,Lt]=Oe((()=>zs)),wt=e=>{if(!st(e,((e,t)=>N([i,l],t))))return!1;const t=e[i];return!(!D(t)&&t!=o||(ke(e[l])!=t&&oe(e,l),0))},vt=(t,s)=>(!e||ce(H,s)||qt(s))&&st(t,((e,t)=>It(s,t,e)),(()=>qt(s))),It=(e,t,s,n)=>st(n?s:Rt(s,e,t),((n,a)=>x(St(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>qt(e,t))),St=(t,s,n,a)=>e?x(ve(ve(H,t),n),(e=>ke(a)!=e[i]?qt(t,s,n,a,e[l]):a),(()=>qt(t,s,n,a))):M(ke(a))?qt(t,s,n,a):a,yt=(e,t)=>st(t?e:pt(e),((t,s)=>x(Tt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Gt())),Tt=(e,s)=>t?x(ve(q,e),(t=>ke(s)!=t[i]?Gt(e,s,t[l]):s),(()=>Gt(e,s))):M(ke(s))?Gt(e,s):s,Rt=(e,t,s)=>(x(ve($,t),(([n,a])=>{ge(n,((t,s)=>{ae(e,s)||(e[s]=t)})),ge(a,(n=>{ae(e,n)||qt(t,s,n)}))})),e),pt=e=>(t&&(ge(K,((t,s)=>{ae(e,s)||(e[s]=t)})),ge(U,(t=>{ae(e,t)||Gt(t)}))),e),Ct=e=>Te(H,e,((e,t,s)=>{const n=Le(),a=De();Te(ye(H,t,Le),s,((e,t,s)=>{Se(e,t,s),x(s[l],(e=>Se(n,t,e)),(()=>Je(a,t)))})),Se($,t,[n,a])}),((e,t)=>{Se(H,t),Se($,t)})),bt=e=>Te(q,e,((e,t,s)=>{Se(q,t,s),x(s[l],(e=>Se(K,t,e)),(()=>Je(U,t)))}),((e,t)=>{Se(q,t),Se(K,t),fe(U,t)})),mt=e=>ie(e)?Es():ps(e),Vt=e=>Te(Z,e,((e,t,s)=>Et(t,s)),((e,t)=>zt(t))),Et=(e,t)=>Te(ye(Z,e,(()=>(jt(e,1),Se(X,e,Ne()),Se(Y,e,Le()),Le()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>Nt(e,t,s))),kt=(e,t,s,n,a)=>Te(ye(t,s,(()=>(Bt(e,s,1),Le()))),n,((t,n,a)=>Mt(e,s,t,n,a)),((n,o)=>Ot(e,t,s,n,o,a))),Mt=(e,t,s,n,a)=>{ce(s,n)||Wt(e,t,n,1);const o=ve(s,n);a!==o&&(_t(e,t,n,o,a),Se(s,n,a))},xt=(e,t,s,n,a)=>x(ve(t,s),(t=>Mt(e,s,t,n,a)),(()=>kt(e,t,s,Rt({[n]:a},e,s)))),Dt=e=>ie(e)?xs():Cs(e),Jt=e=>Te(ee,e,((e,t,s)=>At(t,s)),((e,t)=>Pt(t))),At=(e,t)=>{ce(ee,e)||Ht(e,1);const s=ve(ee,e);t!==s&&($t(e,s,t),Se(ee,e,t))},Ft=(e,t)=>{const[s]=ve(X,e),n=s(t);return ce(ve(Z,e),n)?Ft(e,t):n},Qt=e=>ve(Z,e)??Et(e,{}),zt=e=>Et(e,{}),Nt=(e,t,s)=>{const[,n]=ve(X,e);n(s),kt(e,t,s,{},!0)},Ot=(e,t,s,n,a,o)=>{const r=ve(ve($,e)?.[0],a);if(!M(r)&&!o)return Mt(e,s,n,a,r);const i=t=>{_t(e,s,t,ve(n,t)),Wt(e,s,t,-1),Se(n,t)};M(r)?i(a):Ie(n,i),de(n)&&(Bt(e,s,-1),de(Se(t,s))&&(jt(e,-1),Se(Z,e),Se(X,e),Se(Y,e)))},Pt=e=>{const t=ve(K,e);if(!M(t))return At(e,t);$t(e,ve(ee,e)),Ht(e,-1),Se(ee,e)},jt=(e,t)=>nt(g,e,t),Bt=(e,t,s)=>nt(ye(E,e,Le),t,s)&&Se(V,e,ye(V,e,(()=>0))+s),Wt=(e,t,s,n)=>{const a=ve(Y,e),o=ve(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&nt(ye(y,e,Le),s,n),Se(a,s,o!=-n?o+n:null),nt(ye(ye(k,e,Le),t,Le),s,n)},_t=(e,t,s,n,a)=>ye(ye(ye(A,e,Le),t,Le),s,(()=>[n,0]))[1]=a,Ht=(e,t)=>nt(Q,e,t),$t=(e,t,s)=>ye(z,e,(()=>[t,0]))[1]=s,qt=(e,t,s,n,a)=>(G(ye(ye(ye(O,e,Le),t,Le),s,(()=>[])),n),a),Gt=(e,t,s)=>(G(ye(j,e,(()=>[])),t),s),Kt=(e,t,s)=>x(ve(ve(ve(A,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(hs(e,t,s))])),Ut=e=>x(ve(z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Ls(e))])),Xt=e=>de(O)||de(Ge[e])?0:ge(e?Ve(O):O,((t,s)=>ge(t,((t,n)=>ge(t,((t,a)=>gt(Ge[e],[s,n,a],t))))))),Yt=e=>de(j)||de(Ke[e])?0:ge(e?be(j):j,((t,s)=>gt(Ke[e],[s],t))),Zt=(e,t,s,n)=>{if(!de(e))return gt(t,n,(()=>Re(e))),Ie(e,((e,t)=>gt(s,[...n??[],e],1==t))),1},es=e=>{const t=ws();t!=a&>(te[e],void 0,t);const s=de(Be[e]),n=de(He[e])&&de($e[e])&&de(Pe[e])&&de(We[e])&&de(Fe[e])&&de(Qe[e])&&de(ze[e])&&s&&de(ue[e])&&de(Ee[e]),o=de(qe[e])&&de(_e[e])&&de(Ae[e])&&de(ne[e]);if(!n||!o){const t=e?[be(g),me(y),be(V),me(E),Ve(k),Ve(A)]:[g,y,V,E,k,A];if(!n){Zt(t[0],ue[e],Ee[e]),ge(t[1],((t,s)=>Zt(t,Fe[e],Qe[e],[s]))),ge(t[2],((t,s)=>{0!=t&>(ze[e],[s],ls(s))}));const n=De();ge(t[3],((t,a)=>{Zt(t,Pe[e],We[e],[a])&&!s&&(gt(Be[e],[a,null]),Je(n,a))})),s||ge(t[5],((t,s)=>{if(!ce(n,s)){const n=De();ge(t,(e=>ge(e,(([t,s],a)=>s!==t?Je(n,a):fe(e,a))))),ge(n,(t=>gt(Be[e],[s,t])))}})),ge(t[4],((t,s)=>ge(t,((t,n)=>Zt(t,He[e],$e[e],[s,n])))))}if(!o){let s;ge(t[5],((t,n)=>{let a;ge(t,((t,o)=>{let r;ge(t,(([t,i],l)=>{i!==t&&(gt(qe[e],[n,o,l],i,t,Kt),s=a=r=1)})),r&>(_e[e],[n,o],Kt)})),a&>(Ae[e],[n],Kt)})),s&>(ne[e],void 0,Kt)}}},ts=e=>{const t=Ts();t!=r&>(ot[e],void 0,t);const s=de(it[e])&&de(lt[e]),n=de(ct[e])&&de(rt[e]);if(!s||!n){const t=e?[be(Q),be(z)]:[Q,z];if(s||Zt(t[0],it[e],lt[e]),!n){let s;ge(t[1],(([t,n],a)=>{n!==t&&(gt(ct[e],[a],n,t,Ut),s=1)})),s&>(rt[e],void 0,Ut)}}},ss=(e,...t)=>(As((()=>e(..._(t,m)))),zs),ns=()=>[Re(A,((e,t)=>-1===ve(g,t)?null:Re(e,((e,s)=>-1===ve(ve(E,t),s)?null:Re(e,(([,e])=>e??null),((e,t)=>Ze(t)))),ie)),ie),Re(z,(([,e])=>e??null),((e,t)=>Ze(t)))],as=()=>({cellsTouched:s,valuesTouched:n,changedCells:Ce(A,Ye,Ze),invalidCells:Ce(O),changedValues:Re(z,Ye,Ze),invalidValues:Re(j),changedTableIds:Re(g),changedRowIds:pe(E),changedCellIds:Ce(k),changedValueIds:Re(Q)}),os=()=>Ce(Z),rs=()=>we(Z),is=e=>we(ve(Y,m(e))),ls=e=>le(ve(Z,m(e))),cs=e=>we(ve(Z,m(e))),ds=(e,t,s,n=0,a)=>{return _(F(B((o=ve(Z,m(e)),r=(e,s)=>[M(t)?s:ve(e,m(t)),s],_([...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},us=(e,t)=>we(ve(ve(Z,m(e)),m(t))),hs=(e,t,s)=>ve(ve(ve(Z,m(e)),m(t)),m(s)),gs=()=>Re(ee),fs=()=>we(ee),Ls=e=>ve(ee,m(e)),ws=()=>!de(Z),vs=e=>ce(Z,m(e)),Is=(e,t)=>ce(ve(Y,m(e)),m(t)),Ss=(e,t)=>ce(ve(Z,m(e)),m(t)),ys=(e,t,s)=>ce(ve(ve(Z,m(e)),m(t)),m(s)),Ts=()=>!de(ee),Rs=e=>ce(ee,m(e)),ps=e=>ss((()=>(e=>st(e,vt,qt))(e)?Vt(e):0)),Cs=e=>ss((()=>yt(e)?Jt(e):0)),bs=e=>{try{mt(tt(e))}catch{}return zs},ms=t=>ss((()=>{if((e=st(t,(e=>st(e,wt))))&&(Ct(t),!de(Z))){const e=os();Es(),ps(e)}})),Vs=e=>ss((()=>{if(t=(e=>st(e,wt))(e)){const s=gs();Js(),xs(),t=!0,bt(e),Cs(s)}})),Es=()=>ss((()=>Vt({}))),ks=e=>ss((e=>ce(Z,e)?zt(e):0),e),Ms=(e,t)=>ss(((e,t)=>x(ve(Z,e),(s=>ce(s,t)?Nt(e,s,t):0))),e,t),xs=()=>ss((()=>Jt({}))),Ds=()=>ss((()=>{Ct({}),e=!1})),Js=()=>ss((()=>{bt({}),t=!1})),As=(e,t)=>{if(-1!=d){Fs();const s=e();return Qs(t),s}},Fs=()=>(-1!=d&&d++,1==d&>(dt,void 0,ns,as),zs),Qs=e=>(d>0&&(d--,0==d&&(s=!de(A),n=!de(z),d=1,Xt(1),s&&es(1),Yt(1),n&&ts(1),e?.(ns,as)&&(ge(A,((e,t)=>ge(e,((e,s)=>ge(e,(([e],n)=>Me(zs,t,s,n,e))))))),ge(z,(([e],t)=>xe(zs,t,e))),s=n=!1),gt(ut[0],void 0,ns,as),d=-1,Xt(0),s&&es(0),Yt(0),n&&ts(0),gt(ut[1],void 0,ns,as),d=0,s=n=!1,a=ws(),r=Ts(),W([g,y,V,E,k,A,O,Q,z,j],he))),zs),zs={getContent:()=>[os(),gs()],getTables:os,getTableIds:rs,getTable:e=>pe(ve(Z,m(e))),getTableCellIds:is,getRowCount:ls,getRowIds:cs,getSortedRowIds:ds,getRow:(e,t)=>Re(ve(ve(Z,m(e)),m(t))),getCellIds:us,getCell:hs,getValues:gs,getValueIds:fs,getValue:Ls,hasTables:ws,hasTable:vs,hasTableCell:Is,hasRow:Ss,hasCell:ys,hasValues:Ts,hasValue:Rs,getTablesJson:()=>et(Z),getValuesJson:()=>et(ee),getJson:()=>et([Z,ee]),getTablesSchemaJson:()=>et(H),getValuesSchemaJson:()=>et(q),getSchemaJson:()=>et([H,q]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ss((()=>{(ie(e)?Es:ps)(e),(ie(t)?xs:Cs)(t)})),setTables:ps,setTable:(e,t)=>ss((e=>vt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>It(e,t,s)?kt(e,Qt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>As((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Qt(e),n=Ft(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(It(e,t,s,1)){const n=Qt(e);re(s,((s,a)=>xt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ss(((e,t,s)=>x(St(e,t,s,J(n)?n(hs(e,t,s)):n),(n=>xt(e,Qt(e),t,s,n)))),e,t,s),setValues:Cs,setPartialValues:e=>ss((()=>yt(e,1)?re(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>ss((e=>x(Tt(e,J(t)?t(Ls(e)):t),(t=>At(e,t)))),e),setTransactionChanges:e=>ss((()=>{re(e[0],((e,t)=>M(e)?ks(t):re(e,((e,s)=>M(e)?Ms(t,s):re(e,((e,n)=>Me(zs,t,s,n,e))))))),re(e[1],((e,t)=>xe(zs,t,e)))})),setTablesJson:bs,setValuesJson:e=>{try{Dt(tt(e))}catch{}return zs},setJson:e=>ss((()=>{try{const[t,s]=tt(e);mt(t),Dt(s)}catch{bs(e)}})),setTablesSchema:ms,setValuesSchema:Vs,setSchema:(e,t)=>ss((()=>{ms(e),Vs(t)})),delTables:Es,delTable:ks,delRow:Ms,delCell:(e,t,s,n)=>ss(((e,t,s)=>x(ve(Z,e),(a=>x(ve(a,t),(o=>ce(o,s)?Ot(e,a,t,o,s,n):0))))),e,t,s),delValues:xs,delValue:e=>ss((e=>ce(ee,e)?Pt(e):0),e),delTablesSchema:Ds,delValuesSchema:Js,delSchema:()=>ss((()=>{Ds(),Js()})),transaction:As,startTransaction:Fs,finishTransaction:Qs,forEachTable:e=>ge(Z,((t,s)=>e(s,(e=>ge(t,((t,s)=>e(s,(e=>Ie(t,e))))))))),forEachTableCell:(e,t)=>Ie(ve(Y,m(e)),t),forEachRow:(e,t)=>ge(ve(Z,m(e)),((e,s)=>t(s,(t=>Ie(e,t))))),forEachCell:(e,t,s)=>Ie(ve(ve(Z,m(e)),m(t)),s),forEachValue:e=>Ie(ee,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let i=ds(e,t,s,n,a);return ht((()=>{const r=ds(e,t,s,n,a);P(r,i)||(i=r,o(zs,e,t,s,n,a,i))}),Be[r?1:0],[e,t],[rs])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Lt(e),zs),delListener:e=>(ft(e),zs),getListenerStats:()=>({}),createStore:at,addListener:ht,callListeners:gt};return re({[h+L]:[0,te,[],()=>[ws()]],[L]:[0,ne],[w]:[0,ue],[h+f]:[1,Ee,[rs],e=>[vs(...e)]],[f]:[1,Ae,[rs]],[f+R]:[1,Fe,[rs]],[h+f+T]:[2,Qe,[rs,is],e=>[Is(...e)]],[I]:[1,ze,[rs]],[S]:[1,Pe,[rs]],[h+v]:[2,We,[rs,cs],e=>[Ss(...e)]],[v]:[2,_e,[rs,cs]],[R]:[2,He,[rs,cs]],[h+T]:[3,$e,[rs,cs,us],e=>[ys(...e)]],[T]:[3,qe,[rs,cs,us],e=>Ue(hs(...e))],InvalidCell:[3,Ge],[h+C]:[0,ot,[],()=>[Ts()]],[C]:[0,rt],[b]:[0,it],[h+p]:[1,lt,[fs],e=>[Rs(...e)]],[p]:[1,ct,[fs],e=>Ue(Ls(e[0]))],InvalidValue:[1,Ke]},(([e,t,s,n],a)=>{zs[u+a+c]=(...a)=>ht(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),se(zs)};e.createCheckpoints=Pe,e.createCustomPersister=(e,t,s,n,a,o,[r,i]=[],l=[])=>{let c,d,u,h=0,g=0;ye($e,l,(()=>0)),ye(qe,l,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();ie(s)&&ie(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(x(c,e.delListener),c=void 0,L),schedule:async(...e)=>(G(ve(qe,l),...e),await(async()=>{if(!ve($e,l)){for(Se($e,l,1);!M(d=U(ve(qe,l)));)try{await d()}catch(e){o?.(e)}Se($e,l,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>i),se(L)},e.createIndexes=Be,e.createMetrics=He,e.createQueries=Ge,e.createRelationships=Ke,e.createStore=at,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),l="type",i="default",c="Listener",d="Result",u="add",h="Has",g="Ids",f="Table",L=f+"s",w=f+g,C="Row",T=C+"Count",I=C+g,v="Sorted"+C+g,R="Cell",S=R+g,p="Value",y=p+"s",b=p+g,m=e=>s+e,V=(e,t)=>e.startsWith(t),M=(e,t)=>e.endsWith(t),E=(e,t=0)=>e.charCodeAt(t),k=Math.max,x=Math.min,D=isFinite,A=e=>null==e,J=(e,t,s)=>A(e)?s?.():t(e),F=e=>e==n||e==a,Q=e=>t(e)==r,H=e=>Array.isArray(e),P=(e,t,s)=>e.slice(t,s),z=e=>e.length,N=()=>{},O=(e,t)=>e.includes(t),W=(e,t)=>e.every(t),j=(e,t)=>z(e)===z(t)&&W(e,((e,s)=>t[s]===e)),B=(e,t)=>W(e,((s,n)=>0==n||t(e[n-1],s)<=0)),_=(e,t)=>e.sort(t),$=(e,t)=>e.forEach(t),q=(e,t)=>e.map(t),G=e=>U(e,((e,t)=>e+t),0),K=e=>0==z(e),U=(e,t,s)=>e.reduce(t,s),X=(e,...t)=>e.push(...t),Y=e=>e.pop(),Z=e=>e.shift(),ee=Object,te=e=>ee.getPrototypeOf(e),se=ee.entries,ne=ee.keys,ae=ee.isFrozen,oe=ee.freeze,re=e=>!A(e)&&J(te(e),(e=>e==ee.prototype||A(te(e))),(()=>!0)),le=(e,t)=>!A(((e,t)=>J(e,(e=>e[t])))(e,t)),ie=(e,t)=>(delete e[t],e),ce=(e,t)=>q(se(e),(([e,s])=>t(s,e))),de=e=>re(e)&&0==(e=>z(ne(e)))(e),ue=e=>e?.size??0,he=(e,t)=>e?.has(t)??!1,ge=e=>A(e)||0==ue(e),fe=e=>[...e?.values()??[]],Le=e=>e.clear(),we=(e,t)=>e?.forEach(t),Ce=(e,t)=>e?.delete(t),Te=e=>new Map(e),Ie=e=>[...e?.keys()??[]],ve=(e,t)=>e?.get(t),Re=(e,t)=>we(e,((e,s)=>t(s,e))),Se=(e,t,s)=>A(s)?(Ce(e,t),e):e?.set(t,s),pe=(e,t,s)=>(he(e,t)||Se(e,t,s()),ve(e,t)),ye=(e,t,s,n=Se)=>(ce(t,((t,n)=>s(e,n,t))),Re(e,(s=>le(t,s)?0:n(e,s))),e),be=(e,t,s)=>{const n={};return we(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},me=(e,t,s)=>be(e,(e=>be(e,t,s)),de),Ve=(e,t,s)=>be(e,(e=>me(e,t,s)),de),Me=(e,t)=>{const s=Te();return we(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ee=e=>Me(e,Me),ke=e=>Me(e,Ee),xe=(e,t,s,n,a=0)=>J((s?pe:ve)(e,t[a],a>z(t)-2?s:Te),(o=>{if(a>z(t)-2)return n?.(o)&&Se(e,t[a]),o;const r=xe(o,t,s,n,a+1);return ge(o)&&Se(e,t[a]),r})),De=e=>{const s=t(e);return F(s)||s==o&&D(e)?s:void 0},Ae=(e,t,s,n,a)=>A(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Je=(e,t,s)=>A(s)?e.delValue(t):e.setValue(t,s),Fe=e=>new Set(H(e)||A(e)?e:[e]),Qe=(e,t)=>e?.add(t),He=(e,t,s,n,a)=>{const o=e.hasRow,r=Te(),l=Te(),i=Te(),c=Te(),d=Te(),u=Te(),h=(t,s,...n)=>{const a=pe(u,t,Fe);return $(n,(t=>Qe(a,t)&&s&&e.callListener(t))),n},g=(t,...s)=>J(ve(u,t),(n=>{$(K(s)?fe(n):s,(t=>{e.delListener(t),Ce(n,t)})),ge(n)&&Se(u,t)})),f=(e,s)=>{Se(r,e,s),he(l,e)||(Se(l,e,t()),Se(c,e,Te()),Se(d,e,Te()),a(i))},L=e=>{Se(r,e),Se(l,e),Se(c,e),Se(d,e),g(e),a(i)};return[()=>e,()=>Ie(r),e=>Re(l,e),e=>he(l,e),e=>ve(r,e),e=>ve(l,e),(e,t)=>Se(l,e,t),f,(t,n,a,r,l)=>{f(t,n);const i=Te(),u=Te(),L=ve(c,t),w=ve(d,t),C=t=>{const a=s=>e.getCell(n,t,s),c=ve(L,t),d=o(n,t)?s(r(a,t)):void 0;if(c===d||H(c)&&H(d)&&j(c,d)||Se(i,t,[c,d]),!A(l)){const e=ve(w,t),s=o(n,t)?l(a,t):void 0;e!=s&&Se(u,t,s)}},T=e=>{a((()=>{we(i,(([,e],t)=>Se(L,t,e))),we(u,((e,t)=>Se(w,t,e)))}),i,u,L,w,e),Le(i),Le(u)};Re(L,C),e.hasTable(n)&&$(e.getRowIds(n),(e=>{he(L,e)||C(e)})),T(!0),g(t),h(t,0,e.addRowListener(n,null,((e,t,s)=>C(s))),e.addTableListener(n,(()=>T())))},L,e=>n(e,i),()=>Re(u,L),h,g]},Pe=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),ze=(e,t)=>{const s=new WeakMap;return n=>{s.has(n)||s.set(n,e(n));const a=s.get(n);return t?.(a),a}},Ne=/^\d+$/,Oe=()=>{const e=[];let t=0;return[n=>(n?Z(e):null)??s+t++,t=>{Ne.test(t)&&z(e)<1e3&&X(e,t)}]},We=e=>{let t;const[n,a]=Oe(),o=Te();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Se(o,d,[a,r,l,i,c]),Qe(xe(r,l??[s],Fe),d),d},(e,n,...a)=>$(((e,t=[s])=>{const n=[],a=(e,s)=>s==z(t)?X(n,e):null===t[s]?we(e,(e=>a(e,s+1))):$([t[s],null],(t=>a(ve(e,t),s+1)));return a(e,0),n})(e,n),(e=>we(e,(e=>ve(o,e)[0](t,...n??[],...a))))),e=>J(ve(o,e),(([,t,n])=>(xe(t,n??[s],void 0,(t=>(Ce(t,e),ge(t)?1:0))),Se(o,e),a(e),n))),e=>J(ve(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=z(r);l==z(s)?e(t,...r,...a(r)):A(s[l])?$(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},je=ze((e=>{let t,n,a,o=100,r=Te(),l=Te(),i=1;const c=Te(),d=Te(),[u,h,g]=We((()=>F)),f=Te(),L=Te(),w=[],C=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=ve(f,s);we(n,((s,n)=>we(s,((s,a)=>we(s,((s,o)=>Ae(e,n,a,o,s[t]))))))),we(a,((s,n)=>Je(e,n,s[t])))})),i=1},I=e=>{Se(f,e),Se(L,e),h(d,[e])},v=(e,t)=>$(((e,t)=>e.splice(0,t))(e,t??z(e)),I),R=()=>v(w,z(w)-o),S=()=>J(t,(()=>{X(w,t),R(),v(C),t=void 0,a=1})),p=()=>{t=Y(w),a=1};let y,b;const m=(e="")=>(A(t)&&(t=s+n++,Se(f,t,[r,l]),x(t,e),r=Te(),l=Te(),a=1),t),V=()=>{K(w)||(((e,...t)=>{e.unshift(...t)})(C,m()),T(0,t),t=Y(w),a=1)},M=()=>{K(C)||(X(w,t),t=Z(C),T(1,t),a=1)},E=()=>{a&&(h(c),a=0)},k=e=>{const t=m(e);return E(),t},x=(e,t)=>(D(e)&&ve(L,e)!==t&&(Se(L,e,t),h(d,[e])),F),D=e=>he(f,e),F={setSize:e=>(o=e,R(),F),addCheckpoint:k,setCheckpoint:x,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...C]],forEachCheckpoint:e=>Re(L,e),hasCheckpoint:D,getCheckpoint:e=>ve(L,e),goBackward:()=>(V(),E(),F),goForward:()=>(M(),E(),F),goTo:e=>{const s=O(w,e)?V:O(C,e)?M:null;for(;!A(s)&&e!=t;)s();return E(),F},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),F),clear:()=>(v(w),v(C),A(t)||I(t),t=void 0,n=0,k(),F),clearForward:()=>(K(C)||(v(C),h(c)),F),destroy:()=>{e.delListener(y),e.delListener(b)},getListenerStats:()=>({}),_registerListeners:()=>{y=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){S();const e=pe(r,t,Te),l=pe(e,s,Te),i=pe(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ge(Se(l,n))&&ge(Se(e,s))&&ge(Se(r,t))&&p(),E()}})),b=e.addValueListener(null,((e,t,s,n)=>{if(i){S();const e=pe(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ge(Se(l,t))&&p(),E()}}))}};return oe(F.clear())}),(e=>e._registerListeners())),Be=(e,t)=>(e??0)<(t??0)?-1:1,_e=ze((e=>{const t=Te(),n=Te(),[a,o,r]=We((()=>I)),[l,i,c,d,u,h,g,,f,L,w,C]=He(e,Te,(e=>A(e)?s:H(e)?q(e,m):m(e)),a,o),T=(t,s,n)=>{const a=u(t);we(n,((t,n)=>s(n,(s=>we(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},I={setIndexDefinition:(e,s,a,r,l,i=Be)=>{const c=A(l)?void 0:([e],[t])=>l(e,t);return f(e,s,((s,a,l,d,u,f)=>{let L=0;const w=Fe(),C=Fe(),T=h(e);if(we(a,(([e,t],s)=>{const n=Fe(e),a=Fe(t);we(n,(e=>Ce(a,e)?Ce(n,e):0)),we(n,(e=>{Qe(w,e),J(ve(T,e),(t=>{Ce(t,s),ge(t)&&(Se(T,e),L=1)}))})),we(a,(e=>{Qe(w,e),he(T,e)||(Se(T,e,Fe()),L=1),Qe(ve(T,e),s),A(r)||Qe(C,e)}))})),s(),ge(u)||(f?Re(T,(e=>Qe(C,e))):Re(l,(e=>J(ve(d,e),(e=>Qe(C,e))))),we(C,(e=>{const t=(t,s)=>i(ve(u,t),ve(u,s),e),s=[...ve(T,e)];B(s,t)||(Se(T,e,Fe(_(s,t))),Qe(w,e))}))),(L||f)&&!A(c)){const t=[...T];B(t,c)||(g(e,Te(_(t,c))),L=1)}L&&o(t,[e]),we(w,(t=>o(n,[e,t])))}),Pe(a),J(r,Pe)),I},delIndexDefinition:e=>(L(e),I),getStore:l,getIndexIds:i,forEachIndex:e=>c(((t,s)=>e(t,(e=>T(t,e,s))))),forEachSlice:(e,t)=>T(e,t,h(e)),hasIndex:d,hasSlice:(e,t)=>he(h(e),t),getTableId:u,getSliceIds:e=>Ie(h(e)),getSliceRowIds:(e,t)=>fe(ve(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),I),destroy:C,getListenerStats:()=>({})};return oe(I)})),$e=Te([["avg",[(e,t)=>G(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=>k(...e),(e,t)=>k(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:k(t,e)]],["min",[e=>x(...e),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:x(t,e)]],["sum",[e=>G(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),qe=(e,t,s,n,a,o=!1)=>{if(ge(s))return;const[r,l,i,c]=a;return o||=A(e),we(n,(([s,n])=>{o||(e=A(s)?l?.(e,n,t++):A(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=A(e))})),o?r(fe(s),ue(s)):e},Ge=ze((e=>{const t=Te(),[n,a,o]=We((()=>C)),[r,l,i,c,d,u,h,,g,f,L,w]=He(e,N,(e=>isNaN(e)||A(e)||!0===e||!1===e||e===s?void 0:1*e),n,a),C={setMetricDefinition:(e,s,n,o,r,l,i)=>{const c=Q(n)?[n,r,l,i]:ve($e,n)??ve($e,"sum");return g(e,s,((s,n,o,r,l,i)=>{const d=u(e),g=ue(r);i||=A(d),s();let f=qe(d,g,r,n,c,i);D(f)||(f=void 0),f!=d&&(h(e,f),a(t,[e],f,d))}),Pe(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:r,getMetricIds:l,forEachMetric:i,hasMetric:c,getTableId:d,getMetric:u,addMetricIdsListener:L,addMetricListener:(e,s)=>n(s,t,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({})};return oe(C)})),Ke=Te(),Ue=Te(),Xe=ze((e=>{const t=e.createStore,n=t(),a=t(),o=Te(),{addListener:r,callListeners:l,delListener:i}=a,[h,g,L,w,p,,,y,,b,m,V,M,E]=He(e,(()=>!0),N,r,l),k=(e,t,...s)=>$(s,(s=>Qe(pe(pe(o,t,Te),e,Fe),s))),x=e=>{J(ve(o,e),(e=>{Re(e,((e,t)=>we(t,(t=>e.delListener(t))))),Le(e)})),$([a,n],(t=>t.delTable(e)))},D=(e,t,s)=>k(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),F={setQueryDefinition:(t,o,r)=>{y(t,o),x(t);const l=[],i=[[null,[o,null,null,[],Te()]]],c=[],d=[],u=[];r({select:(e,t)=>{const n=Q(e)?[z(l)+s,e]:[A(t)?e:t,s=>s(e,t)];return X(l,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=A(s)||Q(t)?null:t,a=A(n)?t:s,o=[e,[e,n,Q(a)?a:e=>e(a),[],Te()]];return X(i,o),{as:e=>o[0]=e}},where:(e,t,s)=>X(c,Q(e)?e:A(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,Q(t)?[t,s,n,a]:ve($e,t)??[(e,t)=>t]]];return X(d,o),{as:e=>o[0]=e}},having:(e,t)=>X(u,Q(e)?e:s=>s(e)===t)});const h=Te(l);if(ge(h))return F;const g=Te(i);Re(g,((e,[,t])=>J(ve(g,t),(({3:t})=>A(e)?0:X(t,e)))));const f=Te(d);let L=n;if(ge(f)&&K(u))L=a;else{D(t,L,a);const e=Te();Re(f,((t,[s,n])=>Qe(pe(e,s,Fe),[t,n])));const s=Fe();Re(h,(t=>he(e,t)?0:Qe(s,t)));const n=Te(),o=(s,n,o,r)=>J(s,(([l,i,c,d])=>{Re(n,((t,[s])=>{const n=pe(l,t,Te),a=ve(n,o),i=r?void 0:s;if(a!==i){const s=Fe([[a,i]]),r=ue(n);Se(n,o,i),we(ve(e,t),(([e,t])=>{const a=qe(d[e],r,n,s,t);d[e]=A(De(a))?null:a}))}})),ge(i)||!W(u,(e=>e((e=>d[e]))))?a.delRow(t,c):A(c)?s[2]=a.addRow(t,d):a.setRow(t,c,d)}));k(L,t,L.addRowListener(t,null,((a,r,l,i)=>{const c=[],d=[],u=Te(),h=L.hasRow(t,l);let g=!h;we(s,(e=>{const[s,n,a]=i(t,l,e);X(c,n),X(d,a),g||=s})),Re(e,(e=>{const[s,,n]=i(t,l,e);(g||s)&&Se(u,e,[n])})),g&&o(xe(n,c,void 0,(([,e])=>(Ce(e,l),ge(e)))),u,l,1),h&&o(xe(n,d,(()=>{const e={};return we(s,(s=>e[s]=L.getCell(t,l,s))),[Te(),Fe(),void 0,e]}),(([,e])=>{Qe(e,l)})),u,l)})))}D(t,e,L);const w=(s,n,a,r)=>{const l=t=>e.getCell(n,a,t);$(r,(n=>{const[a,,o,r,i]=ve(g,n),c=o?.(l,s),[d,u]=ve(i,s)??[];c!=d&&(A(u)||E(t,u),Se(i,s,A(c)?null:[c,...M(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const n=(t,n)=>e.getCell(...A(n)?[o,s,t]:t===o?[o,s,n]:[ve(g,t)?.[0],ve(ve(g,t)?.[4],s)?.[0],n]);L.transaction((()=>W(c,(e=>e(n)))?Re(h,((e,a)=>Ae(L,t,s,e,a(n,s)))):L.delRow(t,s)))})(s)},{3:C}=ve(g,null);return L.transaction((()=>M(t,1,e.addRowListener(o,null,((s,n,a)=>{e.hasRow(o,a)?w(a,o,a,C):(L.delRow(t,a),we(g,(({4:e})=>J(ve(e,a),(([,s])=>{E(t,s),Se(e,a)})))))}))))),F},delQueryDefinition:e=>(x(e),b(e),F),getStore:h,getQueryIds:g,forEachQuery:L,hasQuery:w,getTableId:p,addQueryIdsListener:e=>m((()=>e(F))),delListener:e=>(i(e),F),destroy:V,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=a.getListenerStats();return n}};return ce({[f]:[1,1],[f+S]:[0,1],[T]:[0,1],[I]:[0,1],[v]:[0,5],[C]:[1,2],[S]:[0,2],[R]:[1,3]},(([e,t],s)=>{$(e?["get","has","forEach"]:["get"],(e=>F[e+d+s]=(...t)=>a[e+s](...t))),F[u+d+s+c]=(...e)=>a[u+s+c](...P(e,0,t),((s,...n)=>e[t](F,...n)),!0)})),oe(F)})),Ye=ze((e=>{const t=Te(),n=Te(),a=Te(),o=Te(),[r,l,i]=We((()=>S)),[c,d,u,h,g,f,,,L,w,C,T]=He(e,(()=>[Te(),Te(),Te(),Te()]),(e=>A(e)?void 0:e+s),r,l),I=(e,t,s)=>J(f(e),(([n,,a])=>{if(!he(a,t)){const o=Fe();if(g(e)!=R(e))Qe(o,t);else{let e=t;for(;!A(e)&&!he(o,e);)Qe(o,e),e=ve(n,e)}if(s)return o;Se(a,t,o)}return ve(a,t)})),v=(e,t)=>J(f(e),(([,,e])=>Se(e,t))),R=e=>ve(t,e),S={setRelationshipDefinition:(e,s,r,i)=>(Se(t,e,r),L(e,s,((t,s)=>{const r=Fe(),i=Fe(),c=Fe(),[d,u]=f(e);we(s,(([t,s],n)=>{A(t)||(Qe(i,t),J(ve(u,t),(e=>{Ce(e,n),ge(e)&&Se(u,t)}))),A(s)||(Qe(i,s),he(u,s)||Se(u,s,Fe()),Qe(ve(u,s),n)),Qe(r,n),Se(d,n,s),Re(ve(o,e),(t=>{he(I(e,t),n)&&Qe(c,t)}))})),t(),we(r,(t=>l(n,[e,t]))),we(i,(t=>l(a,[e,t]))),we(c,(t=>{v(e,t),l(o,[e,t])}))}),Pe(i)),S),delRelationshipDefinition:e=>(Se(t,e),w(e),S),getStore:c,getRelationshipIds:d,forEachRelationship:t=>u((s=>t(s,(t=>e.forEachRow(g(s),t))))),hasRelationship:h,getLocalTableId:g,getRemoteTableId:R,getRemoteRowId:(e,t)=>ve(f(e)?.[0],t),getLocalRowIds:(e,t)=>fe(ve(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>A(f(e))?[t]:fe(I(e,t,!0)),addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,s)=>r(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>r(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(I(e,t),r(s,o,[e,t])),delListener:e=>(v(...i(e)??[]),S),destroy:T,getListenerStats:()=>({})};return oe(S)})),Ze=()=>[s,null],et=()=>[s,Te()],tt=(e,t)=>st(e,((e,s)=>[s,A(e)?null:be(e,t)])),st=([e,t],s)=>s(t,e),nt=([e,t],s,n,a=0)=>{const o=e>s[0];return(!a&&null!==s[1]||o)&&(s[1]=n(t,s[1])),o&&(s[0]=e),s},at=(e,t,s,n)=>{var a;return a=(e,a)=>nt(e,pe(t,a,Ze),((e,t)=>!n||A(e)?s[a]=e??null:(t??=Te(),s[a]={},n(e,t,a),t)),n?0:1),$(se(e),(([e,t])=>a(t,e))),t},ot=e=>[e,e],rt=()=>[Te(),Te()],lt=e=>[...e],it=([e,t])=>e===t,ct=e=>JSON.stringify(e,((e,t)=>t instanceof Map?ee.fromEntries([...t]):t)),dt=JSON.parse,ut=(e,t,s)=>A(e)||!re(e)||de(e)||ae(e)?(s?.(),!1):(ce(e,((s,n)=>{t(s,n)||ie(e,n)})),!de(e)),ht=(e,t,s)=>Se(e,t,ve(e,t)==-s?void 0:s),gt=()=>{let e,t,s,n=!1,a=!1,r=!1,d=!1,g=0;const v=Te(),V=Te(),M=Te(),E=Te(),k=Te(),x=Te(),D=Te(),H=Te(),z=Te(),N=Te(),W=Te(),B=Te(),G=Te(),K=Te(),U=Fe(),Y=Te(),Z=Te(),ee=Te(),te=Te(),se=rt(),ne=rt(),ae=rt(),re=rt(),fe=rt(),xe=rt(),He=rt(),Pe=rt(),ze=rt(),Ne=rt(),je=rt(),_e=rt(),$e=rt(),qe=rt(),Ge=rt(),Ke=rt(),Ue=rt(),Xe=rt(),Ye=rt(),Ze=rt(),et=rt(),tt=rt(),st=Te(),nt=rt(),[at,ft,Lt,wt]=We((()=>Ps)),Ct=e=>{if(!ut(e,((e,t)=>O([l,i],t))))return!1;const t=e[l];return!(!F(t)&&t!=o||(De(e[i])!=t&&ie(e,i),0))},Tt=(t,s)=>(!e||he(W,s)||Gt(s))&&ut(t,((e,t)=>It(s,t,e)),(()=>Gt(s))),It=(e,t,s,n)=>ut(n?s:pt(s,e,t),((n,a)=>J(vt(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Gt(e,t))),vt=(t,s,n,a)=>e?J(ve(ve(W,t),n),(e=>De(a)!=e[l]?Gt(t,s,n,a,e[i]):a),(()=>Gt(t,s,n,a))):A(De(a))?Gt(t,s,n,a):a,Rt=(e,t)=>ut(t?e:yt(e),((t,s)=>J(St(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Kt())),St=(e,s)=>t?J(ve(G,e),(t=>De(s)!=t[l]?Kt(e,s,t[i]):s),(()=>Kt(e,s))):A(De(s))?Kt(e,s):s,pt=(e,t,s)=>(J(ve(B,t),(([n,a])=>{we(n,((t,s)=>{le(e,s)||(e[s]=t)})),we(a,(n=>{le(e,n)||Gt(t,s,n)}))})),e),yt=e=>(t&&(we(K,((t,s)=>{le(e,s)||(e[s]=t)})),we(U,(t=>{le(e,t)||Kt(t)}))),e),bt=e=>ye(W,e,((e,t,s)=>{const n=Te(),a=Fe();ye(pe(W,t,Te),s,((e,t,s)=>{Se(e,t,s),J(s[i],(e=>Se(n,t,e)),(()=>Qe(a,t)))})),Se(B,t,[n,a])}),((e,t)=>{Se(W,t),Se(B,t)})),mt=e=>ye(G,e,((e,t,s)=>{Se(G,t,s),J(s[i],(e=>Se(K,t,e)),(()=>Qe(U,t)))}),((e,t)=>{Se(G,t),Se(K,t),Ce(U,t)})),Vt=e=>de(e)?Es():ys(e),Mt=e=>ye(ee,e,((e,t,s)=>Et(t,s)),((e,t)=>Pt(t))),Et=(e,t)=>ye(pe(ee,e,(()=>(Wt(e,1),Se(Y,e,Oe()),Se(Z,e,Te()),Te()))),t,((t,s,n)=>kt(e,t,s,n)),((t,s)=>zt(e,t,s))),kt=(e,t,s,n,a)=>ye(pe(t,s,(()=>(jt(e,s,1),Te()))),n,((t,n,a)=>xt(e,s,t,n,a)),((n,o)=>Nt(e,t,s,n,o,a))),xt=(e,t,s,n,a)=>{he(s,n)||Bt(e,t,n,1);const o=ve(s,n);a!==o&&(_t(e,t,n,o,a),Se(s,n,a))},Dt=(e,t,s,n,a)=>J(ve(t,s),(t=>xt(e,s,t,n,a)),(()=>kt(e,t,s,pt({[n]:a},e,s)))),At=e=>de(e)?Ds():bs(e),Jt=e=>ye(te,e,((e,t,s)=>Ft(t,s)),((e,t)=>Ot(t))),Ft=(e,t)=>{he(te,e)||$t(e,1);const s=ve(te,e);t!==s&&(qt(e,s,t),Se(te,e,t))},Qt=(e,t)=>{const[s]=ve(Y,e),n=s(t);return he(ve(ee,e),n)?Qt(e,t):n},Ht=e=>ve(ee,e)??Et(e,{}),Pt=e=>Et(e,{}),zt=(e,t,s)=>{const[,n]=ve(Y,e);n(s),kt(e,t,s,{},!0)},Nt=(e,t,s,n,a,o)=>{const r=ve(ve(B,e)?.[0],a);if(!A(r)&&!o)return xt(e,s,n,a,r);const l=t=>{_t(e,s,t,ve(n,t)),Bt(e,s,t,-1),Se(n,t)};A(r)?l(a):Re(n,l),ge(n)&&(jt(e,s,-1),ge(Se(t,s))&&(Wt(e,-1),Se(ee,e),Se(Y,e),Se(Z,e)))},Ot=e=>{const t=ve(K,e);if(!A(t))return Ft(e,t);qt(e,ve(te,e)),$t(e,-1),Se(te,e)},Wt=(e,t)=>ht(v,e,t),jt=(e,t,s)=>ht(pe(E,e,Te),t,s)&&Se(M,e,pe(M,e,(()=>0))+s),Bt=(e,t,s,n)=>{const a=ve(Z,e),o=ve(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&ht(pe(V,e,Te),s,n),Se(a,s,o!=-n?o+n:null),ht(pe(pe(k,e,Te),t,Te),s,n)},_t=(e,t,s,n,a)=>pe(pe(pe(x,e,Te),t,Te),s,(()=>[n,0]))[1]=a,$t=(e,t)=>ht(D,e,t),qt=(e,t,s)=>pe(H,e,(()=>[t,0]))[1]=s,Gt=(e,t,s,n,a)=>(X(pe(pe(pe(z,e,Te),t,Te),s,(()=>[])),n),a),Kt=(e,t,s)=>(X(pe(N,e,(()=>[])),t),s),Ut=(e,t,s)=>J(ve(ve(ve(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ot(gs(e,t,s))])),Xt=e=>J(ve(H,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ot(ws(e))])),Yt=e=>ge(z)||ge(Ke[e])?0:we(e?ke(z):z,((t,s)=>we(t,((t,n)=>we(t,((t,a)=>ft(Ke[e],[s,n,a],t))))))),Zt=e=>ge(N)||ge(Ue[e])?0:we(e?Me(N):N,((t,s)=>ft(Ue[e],[s],t))),es=(e,t,s,n)=>{if(!ge(e))return ft(t,n,(()=>be(e))),Re(e,((e,t)=>ft(s,[...n??[],e],1==t))),1},ts=e=>{const t=Cs();t!=r&&ft(se[e],void 0,t);const s=ge(Ne[e]),n=ge($e[e])&&ge(qe[e])&&ge(ze[e])&&ge(je[e])&&ge(xe[e])&&ge(He[e])&&ge(Pe[e])&&s&&ge(ae[e])&&ge(re[e]),a=ge(Ge[e])&&ge(_e[e])&&ge(fe[e])&&ge(ne[e]);if(!n||!a){const t=e?[Me(v),Ee(V),Me(M),Ee(E),ke(k),ke(x)]:[v,V,M,E,k,x];if(!n){es(t[0],ae[e],re[e]),we(t[1],((t,s)=>es(t,xe[e],He[e],[s]))),we(t[2],((t,s)=>{0!=t&&ft(Pe[e],[s],cs(s))}));const n=Fe();we(t[3],((t,a)=>{es(t,ze[e],je[e],[a])&&!s&&(ft(Ne[e],[a,null]),Qe(n,a))})),s||we(t[5],((t,s)=>{if(!he(n,s)){const n=Fe();we(t,(e=>we(e,(([t,s],a)=>s!==t?Qe(n,a):Ce(e,a))))),we(n,(t=>ft(Ne[e],[s,t])))}})),we(t[4],((t,s)=>we(t,((t,n)=>es(t,$e[e],qe[e],[s,n])))))}if(!a){let s;we(t[5],((t,n)=>{let a;we(t,((t,o)=>{let r;we(t,(([t,l],i)=>{l!==t&&(ft(Ge[e],[n,o,i],l,t,Ut),s=a=r=1)})),r&&ft(_e[e],[n,o],Ut)})),a&&ft(fe[e],[n],Ut)})),s&&ft(ne[e],void 0,Ut)}}},ss=e=>{const t=Ss();t!=d&&ft(Xe[e],void 0,t);const s=ge(Ze[e])&&ge(et[e]),n=ge(tt[e])&&ge(Ye[e]);if(!s||!n){const t=e?[Me(D),Me(H)]:[D,H];if(s||es(t[0],Ze[e],et[e]),!n){let s;we(t[1],(([t,n],a)=>{n!==t&&(ft(tt[e],[a],n,t,Xt),s=1)})),s&&ft(Ye[e],void 0,Xt)}}},ns=(e,...t)=>(Fs((()=>e(...q(t,m)))),Ps),as=()=>[be(x,((e,t)=>-1===ve(v,t)?null:be(e,((e,s)=>-1===ve(ve(E,t),s)?null:be(e,(([,e])=>e??null),((e,t)=>it(t)))),de)),de),be(H,(([,e])=>e??null),((e,t)=>it(t)))],os=()=>({cellsTouched:n,valuesTouched:a,changedCells:Ve(x,lt,it),invalidCells:Ve(z),changedValues:be(H,lt,it),invalidValues:be(N),changedTableIds:be(v),changedRowIds:me(E),changedCellIds:Ve(k),changedValueIds:be(D)}),rs=()=>Ve(ee),ls=()=>Ie(ee),is=e=>Ie(ve(Z,m(e))),cs=e=>ue(ve(ee,m(e))),ds=e=>Ie(ve(ee,m(e))),us=(e,t,s,n=0,a)=>{return q(P(_((o=ve(ee,m(e)),r=(e,s)=>[A(t)?s:ve(e,m(t)),s],q([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Be(e,t)*(s?-1:1))),n,A(a)?a:n+a),(([,e])=>e));var o,r},hs=(e,t)=>Ie(ve(ve(ee,m(e)),m(t))),gs=(e,t,s)=>ve(ve(ve(ee,m(e)),m(t)),m(s)),fs=()=>be(te),Ls=()=>Ie(te),ws=e=>ve(te,m(e)),Cs=()=>!ge(ee),Ts=e=>he(ee,m(e)),Is=(e,t)=>he(ve(Z,m(e)),m(t)),vs=(e,t)=>he(ve(ee,m(e)),m(t)),Rs=(e,t,s)=>he(ve(ve(ee,m(e)),m(t)),m(s)),Ss=()=>!ge(te),ps=e=>he(te,m(e)),ys=e=>ns((()=>(e=>ut(e,Tt,Gt))(e)?Mt(e):0)),bs=e=>ns((()=>Rt(e)?Jt(e):0)),ms=e=>{try{Vt(dt(e))}catch{}return Ps},Vs=t=>ns((()=>{if((e=ut(t,(e=>ut(e,Ct))))&&(bt(t),!ge(ee))){const e=rs();Es(),ys(e)}})),Ms=e=>ns((()=>{if(t=(e=>ut(e,Ct))(e)){const s=fs();Js(),Ds(),t=!0,mt(e),bs(s)}})),Es=()=>ns((()=>Mt({}))),ks=e=>ns((e=>he(ee,e)?Pt(e):0),e),xs=(e,t)=>ns(((e,t)=>J(ve(ee,e),(s=>he(s,t)?zt(e,s,t):0))),e,t),Ds=()=>ns((()=>Jt({}))),As=()=>ns((()=>{bt({}),e=!1})),Js=()=>ns((()=>{mt({}),t=!1})),Fs=(e,t)=>{if(-1!=g){Qs();const s=e();return Hs(t),s}},Qs=()=>(-1!=g&&g++,1==g&&ft(st,void 0,as,os),Ps),Hs=e=>(g>0&&(g--,0==g&&(n=!ge(x),a=!ge(H),g=1,Yt(1),n&&ts(1),Zt(1),a&&ss(1),e?.(as,os)&&(we(x,((e,t)=>we(e,((e,s)=>we(e,(([e],n)=>Ae(Ps,t,s,n,e))))))),we(H,(([e],t)=>Je(Ps,t,e))),n=a=!1),ft(nt[0],void 0,as,os),g=-1,Yt(0),n&&ts(0),Zt(0),a&&ss(0),ft(nt[1],void 0,as,os),s?.(Ps,as,os),g=0,n=a=!1,r=Cs(),d=Ss(),$([v,V,M,E,k,x,z,D,H,N],Le))),Ps),Ps={getContent:()=>[rs(),fs()],getTables:rs,getTableIds:ls,getTable:e=>me(ve(ee,m(e))),getTableCellIds:is,getRowCount:cs,getRowIds:ds,getSortedRowIds:us,getRow:(e,t)=>be(ve(ve(ee,m(e)),m(t))),getCellIds:hs,getCell:gs,getValues:fs,getValueIds:Ls,getValue:ws,hasTables:Cs,hasTable:Ts,hasTableCell:Is,hasRow:vs,hasCell:Rs,hasValues:Ss,hasValue:ps,getTablesJson:()=>ct(ee),getValuesJson:()=>ct(te),getJson:()=>ct([ee,te]),getTablesSchemaJson:()=>ct(W),getValuesSchemaJson:()=>ct(G),getSchemaJson:()=>ct([W,G]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>ns((()=>{(de(e)?Es:ys)(e),(de(t)?Ds:bs)(t)})),setTables:ys,setTable:(e,t)=>ns((e=>Tt(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ns(((e,t)=>It(e,t,s)?kt(e,Ht(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Fs((()=>{let n;return It(e,n,t)&&(e=m(e),kt(e,Ht(e),n=Qt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>ns(((e,t)=>{if(It(e,t,s,1)){const n=Ht(e);ce(s,((s,a)=>Dt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>ns(((e,t,s)=>J(vt(e,t,s,Q(n)?n(gs(e,t,s)):n),(n=>Dt(e,Ht(e),t,s,n)))),e,t,s),setValues:bs,setPartialValues:e=>ns((()=>Rt(e,1)?ce(e,((e,t)=>Ft(t,e))):0)),setValue:(e,t)=>ns((e=>J(St(e,Q(t)?t(ws(e)):t),(t=>Ft(e,t)))),e),setTransactionChanges:e=>ns((()=>{ce(e[0],((e,t)=>A(e)?ks(t):ce(e,((e,s)=>A(e)?xs(t,s):ce(e,((e,n)=>Ae(Ps,t,s,n,e))))))),ce(e[1],((e,t)=>Je(Ps,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{At(dt(e))}catch{}return Ps},setJson:e=>ns((()=>{try{const[t,s]=dt(e);Vt(t),At(s)}catch{ms(e)}})),setTablesSchema:Vs,setValuesSchema:Ms,setSchema:(e,t)=>ns((()=>{Vs(e),Ms(t)})),delTables:Es,delTable:ks,delRow:xs,delCell:(e,t,s,n)=>ns(((e,t,s)=>J(ve(ee,e),(a=>J(ve(a,t),(o=>he(o,s)?Nt(e,a,t,o,s,n):0))))),e,t,s),delValues:Ds,delValue:e=>ns((e=>he(te,e)?Ot(e):0),e),delTablesSchema:As,delValuesSchema:Js,delSchema:()=>ns((()=>{As(),Js()})),transaction:Fs,startTransaction:Qs,finishTransaction:Hs,forEachTable:e=>we(ee,((t,s)=>e(s,(e=>we(t,((t,s)=>e(s,(e=>Re(t,e))))))))),forEachTableCell:(e,t)=>Re(ve(Z,m(e)),t),forEachRow:(e,t)=>we(ve(ee,m(e)),((e,s)=>t(s,(t=>Re(e,t))))),forEachCell:(e,t,s)=>Re(ve(ve(ee,m(e)),m(t)),s),forEachValue:e=>Re(te,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=us(e,t,s,n,a);return at((()=>{const r=us(e,t,s,n,a);j(r,l)||(l=r,o(Ps,e,t,s,n,a,l))}),Ne[r?1:0],[e,t],[ls])},addStartTransactionListener:e=>at(e,st),addWillFinishTransactionListener:e=>at(e,nt[0]),addDidFinishTransactionListener:e=>at(e,nt[1]),callListener:e=>(wt(e),Ps),delListener:e=>(Lt(e),Ps),getListenerStats:()=>({}),createStore:gt,addListener:at,callListeners:ft,addPostTransactionListener:e=>{s=e}};return ce({[h+L]:[0,se,[],()=>[Cs()]],[L]:[0,ne],[w]:[0,ae],[h+f]:[1,re,[ls],e=>[Ts(...e)]],[f]:[1,fe,[ls]],[f+S]:[1,xe,[ls]],[h+f+R]:[2,He,[ls,is],e=>[Is(...e)]],[T]:[1,Pe,[ls]],[I]:[1,ze,[ls]],[h+C]:[2,je,[ls,ds],e=>[vs(...e)]],[C]:[2,_e,[ls,ds]],[S]:[2,$e,[ls,ds]],[h+R]:[3,qe,[ls,ds,hs],e=>[Rs(...e)]],[R]:[3,Ge,[ls,ds,hs],e=>ot(gs(...e))],InvalidCell:[3,Ke],[h+y]:[0,Xe,[],()=>[Ss()]],[y]:[0,Ye],[b]:[0,Ze],[h+p]:[1,et,[Ls],e=>[ps(...e)]],[p]:[1,tt,[Ls],e=>ot(ws(e[0]))],InvalidValue:[1,Ue]},(([e,t,s,n],a)=>{Ps[u+a+c]=(...a)=>at(a[e],t[a[e+1]?1:0],e>0?P(a,0,e):void 0,s,n)})),oe(Ps)},ft=2**36,Lt=2**30,wt=2**24,Ct=2**18,Tt=4096,It=64,vt=e=>String.fromCharCode(48+(63&e)),Rt=(e,t)=>E(e,t)-48,St={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1};e.createCheckpoints=je,e.createCustomPersister=(e,t,s,n,a,o,[r,l]=[],i=[])=>{let c,d,u,h=0,g=0;pe(Ke,i,(()=>0)),pe(Ue,i,(()=>[]));const f=async e=>(2!=h&&(h=1,await L.schedule((async()=>{await e(),h=0}))),L),L={load:async(s,n)=>await f((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(L.stopAutoLoad(),await L.load(s,a),g=1,u=n((async(s,n)=>{if(n){const t=n();await f((async()=>e.setTransactionChanges(t)))}else await f((async()=>{try{e.setContent(s?.()??await t())}catch(e){o?.(e)}}))})),L),stopAutoLoad:()=>(g&&(a(u),u=void 0,g=0),L),save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await s(e.getContent,t)}catch(e){o?.(e)}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),c=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();de(s)&&de(n)||L.save((()=>[s,n]))})),L),stopAutoSave:()=>(J(c,e.delListener),c=void 0,L),schedule:async(...e)=>(X(ve(Ue,i),...e),await(async()=>{if(!ve(Ke,i)){for(Se(Ke,i,1);!A(d=Z(ve(Ue,i)));)try{await d()}catch(e){o?.(e)}Se(Ke,i,0)}})(),L),getStore:()=>e,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r&&(L[r]=()=>l),oe(L)},e.createIndexes=_e,e.createMergeableStore=e=>{let t=1;const[n,a]=(e=>{let t=0,s=0;const n=U(((e,t="",s)=>e.split(t,s))(e),((e,t)=>(e<<5)+e^E(t)),5381)>>>0,a=e=>{const n=t,[a,o]=A(e)?[0,0]:[Rt(r=e,0)*ft+Rt(r,1)*Lt+Rt(r,2)*wt+Rt(r,3)*Ct+Rt(r,4)*Tt+Rt(r,5)*It+Rt(r,6),Rt(r,7)*Ct+Rt(r,8)*Tt+Rt(r,9)*It+Rt(r,10),Rt(r,11)*wt+Rt(r,12)*Ct+Rt(r,13)*Tt+Rt(r,14)*It+Rt(r,15)];var r;t=Math.max(n,a,Date.now()),s=t==n?t==a?Math.max(s,o):s:t==a?o:-1};return[()=>{return a(),o=++s,r=n,vt((e=t)/ft)+vt(e/Lt)+vt(e/wt)+vt(e/Ct)+vt(e/Tt)+vt(e/It)+vt(e)+vt(o/Ct)+vt(o/Tt)+vt(o/It)+vt(o)+vt(r/wt)+vt(r/Ct)+vt(r/Tt)+vt(r/It)+vt(r);var e,o,r},a]})(e),o=gt(),r=[s,[et(),et()]],l=e=>{const s=[{},{}];return a(e[0]),nt(e,r,(([e,t],[n,a])=>[nt(e,n,((e,t)=>at(e,t,s[0],((e,t,n)=>at(e,t,s[0][n],((e,t,a)=>at(e,t,s[0][n][a]))))))),nt(t,a,((e,t)=>at(e,t,s[1])))])),t=0,o.setTransactionChanges(s),t=1,i},i={getMergeableContent:()=>st(r,(([e,t],s)=>[s,[tt(e,(e=>tt(e,(e=>tt(e,lt))))),tt(t,lt)]])),applyMergeableContent:l,merge:e=>{const t=i.getMergeableContent(),s=e.getMergeableContent();return e.applyMergeableContent(t),l(s)}};return o.addPostTransactionListener(((e,s)=>{if(t){const e=n(),[t,a]=s(),[o,l]=r[1];r[0]=e,de(t)||(o[0]=e,ce(t,((t,s)=>{const n=pe(o[1],s,Ze);if(n[0]=e,A(t))n[1]=null;else{const s=n[1]??=Te();ce(t,((t,n)=>{const a=pe(s,n,Ze);if(a[0]=e,A(t))a[1]=null;else{const s=a[1]??=Te();ce(t,((t,n)=>Se(s,n,[e,t])))}}))}}))),de(a)||(l[0]=e,ce(a,((t,s)=>{Se(l[1],s,[e,t])})))}})),ce(o,((e,t)=>i[t]=V(t,"set")||V(t,"del")||M(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),i):V(t,"add")&&M(t,"Listener")?(...s)=>{const n=St[P(t,3,-8)]??0,a=s[n];return s[n]=(e,...t)=>a(i,...t),e(...s)}:e)),oe(i)},e.createMetrics=Ge,e.createQueries=Xe,e.createRelationships=Ye,e.createStore=gt,e.defaultSorter=Be},"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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),o=l(!0),r=l(0),i=l(l),d="type",u="default",c="Has",h="Ids",m="Table",b=m+"s",g=m+h,p="Row",I=p+"Count",f=p+h,w="Cell",y=w+h,C="Value",v=C+"s",T=C+h,k="currentTarget",S="value",x=e=>a+e,V=Math.floor,R=isFinite,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==o,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),$=e=>e.length,{PureComponent:O,Fragment:A,createElement:F,useCallback:J,useLayoutEffect:P,useRef:H,useState:B}=t,D=(e,...t)=>q(e)?{}:e(...t),Q=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),U=e=>0==$(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,_=X.keys,ee=X.isFrozen,te=X.freeze,se=e=>!q(e)&&N(Y(e),(e=>e==X.prototype||q(Y(e))),(()=>!0)),le=(e=[])=>X.fromEntries(e),ae=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),oe=(e,t)=>W(Z(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>$(_(e)))(e),ie=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),de=JSON.parse,ue="tinybaseStoreInspector",ce="TinyBase Store Inspector",he=["left","top","bottom","right","full"],me="state",be="sort",ge="open",pe="position",Ie=ge,fe="editable",we=(...e)=>ie(e),ye=(e,t)=>W(Q(e),t),Ce=(e,t)=>[!!s.useCell(me,e,fe,t),J((s=>{t.setCell(me,e,fe,(e=>!e)),s.preventDefault()}),[t,e])],ve="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Te='content:url("',ke=Te+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Se='</svg>")',xe=Te+"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\")",Ve=W([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>ke+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+Se)),Re=ke+"<path d='M20 20l60 60M20 80l60-60' />"+Se,qe=ke+`<path d='${ve}' />`+Se,Ne=ke+`<path d='${ve}M20 20l60 60' />`+Se,Le="*::-webkit-scrollbar",Me=((e,t="")=>e.join(t))(oe({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Le]:"width:0.5rem;height:0.5rem;",[Le+"-track"]:"background:#111",[Le+"-thumb"]:"background:#999;border:1px solid #111",[Le+"-thumb:hover"]:"background:#fff",[Le+"-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;"+xe,...le(W(["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;",...le(W(["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)":xe,"header>img:nth-of-type(6)":Re,...le(W(Ve,((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":qe,"details[open]>summary img.done":Ne,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,#${ue} 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?`#${ue} ${t}{${e}}`:""))),Ee=({s:e})=>{const t=s.useValue(pe,e)??1,l=s.useSetValueCallback(Ie,(()=>!0),[],e);return s.useValue(Ie,e)?null:F("img",{onClick:l,title:ce,"data-position":t})},ze=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!s.useCell(me,e,ge,o),i=s.useSetCellCallback(me,e,ge,(e=>e[k].open),[],o);return F("details",{open:r,onToggle:i},F("summary",null,t,a?F("img",{onClick:a,className:l?"done":"edit"}):null),n)},$e=e=>{const t=l(e);return L(t)||t==r&&R(e)?t:void 0},Oe=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Ae=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),Fe=(e,t,s,l)=>e==n?t:e==r?s:l,{useCallback:Je,useMemo:Pe,useState:He}=t,Be="editable",De=(e,t)=>W(s.useTableCellIds(e,t),(t=>e+"."+t)),Qe=(e,t,s)=>{const l=Je(e,t);return s?l:void 0},je=(...e)=>Pe((()=>e),e),We=(e,t)=>Pe((()=>({store:e,tableId:t})),[e,t]),Ue=(e,t)=>Pe((()=>({queries:e,queryId:t})),[e,t]),Ge=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=He([e,t,l]),h=Je((e=>{c(e),r?.(e)}),[r]),m=Qe((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Je((e=>h([i,d,e])),[h,i,d]),g=!0===o?rt:o;return[[i,d,u],m,Pe((()=>!1===o?null:F(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},Ke=(e,t,s)=>Pe((()=>{const a=t??e;return le(oe(E(a)?le(W(a,(e=>[e,e]))):a,((e,t)=>{return[t,{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)}];var a})))}),[t,s,e]),Xe=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>F("table",{className:e},i?F("caption",null,i):null,!1===t?null:F("thead",null,F("tr",null,!1===s?null:F(Ye,{sort:o??[],label:"Id",onClick:r}),oe(l,(({label:e},t)=>F(Ye,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),F("tbody",null,W(n,(e=>F("tr",{key:e},!1===s?null:F("th",null,e),oe(l,(({component:t,getComponentProps:s},l)=>F("td",{key:l},F(t,{...D(s,e,l),...a,rowId:e,cellId:l}))))))))),Ye=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>F("th",{onClick:Qe((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ze=({localRowId:e,params:[l,a,n,o,r,i,d]})=>{const u=s.useRemoteRowId(r,e,i);return F("tr",null,!1===l?null:F(t.Fragment,null,F("th",null,e),F("th",null,u)),oe(a,(({component:t,getComponentProps:s},l)=>{const[a,r]=l.split(".",2),i=a===n?e:a===o?u:null;return q(i)?null:F("td",{key:l},F(t,{...D(s,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},_e=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:a=!0})=>{const[i,d]=He(),[u,c]=He(),[h,m]=He(),[b,g]=He(),[p,I]=He();u!==e&&(d($e(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const f=Je(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Je((()=>{if(!l?.()){const e=Fe(i,r,o,n),s=Fe(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return F("div",{className:s},a?F("button",{className:i,onClick:w},i):null,Fe(i,F("input",{key:i,value:h,onChange:Je((e=>f(e[k][S]+"",m)),[f])}),F("input",{key:i,type:"number",value:b,onChange:Je((e=>f(Number(e[k][S]||0),g)),[f])}),F("input",{key:i,type:"checkbox",checked:p,onChange:Je((e=>f(!!e[k].checked,I)),[f])})))},et=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=Ge(t,l,i,a,n,s.useRowCount(e,o),d,u);return F(Xe,{...h,params:je(Ke(s.useTableCellIds(e,o),c,r?nt:s.CellView),We(o,e),s.useSortedRowIds(e,...m,n,o),m,b,g)})},tt=({store:e,editable:t=!1,valueComponent:l=(t?ot:s.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>F("table",{className:n},!1===o?null:F("thead",null,F("tr",null,!1===r?null:F("th",null,"Id"),F("th",null,C))),F("tbody",null,W(s.useValueIds(e),(t=>F("tr",{key:t},!1===r?null:F("th",null,t),F("td",null,F(l,{...D(a,t),valueId:t,store:e}))))))),st=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return F(Xe,{...o,params:je(Ke(s.useTableCellIds(d,i),n,a?nt:s.CellView),We(i,d),s.useSliceRowIds(e,t,r))})},lt=({relationshipId:e,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=Ke([...De(c,u),...De(h,u)],n,a?nt:s.CellView),b=je(i,m,c,h,e,d,u);return F("table",{className:o},!1===r?null:F("thead",null,F("tr",null,!1===i?null:F(t.Fragment,null,F("th",null,c,".Id"),F("th",null,h,".Id")),oe(m,(({label:e},t)=>F("th",{key:t},e))))),F("tbody",null,W(s.useRowIds(c,u),(e=>F(Ze,{key:e,localRowId:e,params:b})))))},at=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=Ge(t,l,r,a,n,s.useResultRowCount(e,o),i,u);return F(Xe,{...c,params:je(Ke(s.useResultTableCellIds(e,o),d,s.ResultCellView),Ue(o,e),s.useResultSortedRowIds(e,...h,n,o),h,m,b)})},nt=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>F(_e,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Be+w,showType:o,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),ot=({valueId:e,store:t,className:l,showType:a})=>F(_e,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Be+C,showType:a,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),rt=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const r=Qe((()=>e(l-a)),[e,l,a],l>0),i=Qe((()=>e(l+a)),[e,l,a],l+a<s);return F(t.Fragment,null,s>a&&F(t.Fragment,null,F("button",{className:"previous",disabled:0==l,onClick:r},"←"),F("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},it=({indexes:e,indexesId:t,indexId:l,s:a})=>F(ze,{uniqueId:we("i",t,l),summary:"Index: "+l,s:a},W(s.useSliceIds(l,e),(s=>F(dt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),dt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=we("i",t,s,l),[o,r]=Ce(n,a);return F(ze,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},F(st,{sliceId:l,indexId:s,indexes:e,editable:o}))},ut=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:F(ze,{uniqueId:we("i",e),summary:"Indexes: "+(e??u),s:t},U(a)?"No indexes defined":ye(a,(s=>F(it,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},ct=({metrics:e,metricId:t})=>F("tr",null,F("th",null,t),F("td",null,e?.getTableId(t)),F("td",null,s.useMetric(t,e))),ht=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:F(ze,{uniqueId:we("m",e),summary:"Metrics: "+(e??u),s:t},U(a)?"No metrics defined":F("table",null,F("thead",null,F("th",null,"Metric Id"),F("th",null,"Table Id"),F("th",null,"Metric")),F("tbody",null,W(a,(e=>F(ct,{metrics:l,metricId:e,key:e}))))))},mt=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=we("q",t,l),[o,r,i]=de(s.useCell(me,n,be,a)??"[]"),d=s.useSetCellCallback(me,n,be,ie,[],a);return F(ze,{uniqueId:n,summary:"Query: "+l,s:a},F(at,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},bt=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:F(ze,{uniqueId:we("q",e),summary:"Queries: "+(e??u),s:t},U(a)?"No queries defined":ye(a,(s=>F(mt,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},gt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=we("r",t,s),[n,o]=Ce(a,l);return F(ze,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},F(lt,{relationshipId:s,relationships:e,editable:n}))},pt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:F(ze,{uniqueId:we("r",e),summary:"Relationships: "+(e??u),s:t},U(a)?"No relationships defined":ye(a,(s=>F(gt,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},It=({tableId:e,store:t,storeId:l,s:a})=>{const n=we("t",l,e),[o,r,i]=de(s.useCell(me,n,be,a)??"[]"),d=s.useSetCellCallback(me,n,be,ie,[],a),[u,c]=Ce(n,a);return F(ze,{uniqueId:n,summary:m+": "+e,editable:u,handleEditable:c,s:a},F(et,{tableId:e,store:t,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},ft=({store:e,storeId:t,s:l})=>{const a=we("v",t),[n,o]=Ce(a,l);return U(s.useValueIds(e))?null:F(ze,{uniqueId:a,summary:v,editable:n,handleEditable:o,s:l},F(tt,{store:e,editable:n}))},wt=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:F(ze,{uniqueId:we("s",e),summary:"Store: "+(e??u),s:t},F(ft,{storeId:e,store:l,s:t}),ye(a,(s=>F(It,{store:l,storeId:e,tableId:s,s:t,key:s}))))},yt=({s:e})=>{const t=H(null),l=H(0),[a,n]=B(!1),{scrollLeft:o,scrollTop:r}=s.useValues(e);P((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=V(o)+e.clientWidth&&e.scrollHeight>=V(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=J((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),p=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return q(d)&&U(u)&&q(c)&&U(h)&&q(m)&&U(b)&&q(g)&&U(p)&&q(I)&&U(f)?F("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):F("article",{ref:t,onScroll:i},F(wt,{s:e}),W(u,(t=>F(wt,{storeId:t,s:e,key:t}))),F(ht,{s:e}),W(h,(t=>F(ht,{metricsId:t,s:e,key:t}))),F(ut,{s:e}),W(b,(t=>F(ut,{indexesId:t,s:e,key:t}))),F(pt,{s:e}),W(p,(t=>F(pt,{relationshipsId:t,s:e,key:t}))),F(bt,{s:e}),W(f,(t=>F(bt,{queriesId:t,s:e,key:t}))))};class Ct extends O{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?F("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const vt=({s:e})=>{const t=s.useValue(pe,e)??1,l=s.useSetValueCallback(Ie,(()=>!1),[],e),a=s.useSetValueCallback(pe,(e=>Number(e[k].dataset.id)),[],e);return F("header",null,F("img",{title:ce}),F("span",null,ce),W(he,((e,s)=>s==t?null:F("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),F("img",{onClick:l,title:"Close"}))},Tt=({s:e})=>{const t=s.useValue(pe,e)??1;return s.useValue(Ie,e)?F("main",{"data-position":t},F(vt,{s:e}),F(Ct,null,F(yt,{s:e}))):null},kt=e=>t=>{return s=(t,s)=>t+e(s),Lt(t).reduce(s,0);var s},St=e=>e?.size??0,xt=kt(St),Vt=kt(xt),Rt=kt(Vt),qt=(e,t)=>e?.has(t)??!1,Nt=e=>q(e)||0==St(e),Lt=e=>[...e?.values()??[]],Mt=e=>e.clear(),Et=(e,t)=>e?.forEach(t),zt=(e,t)=>e?.delete(t),$t=e=>new Map(e),Ot=e=>[...e?.keys()??[]],At=(e,t)=>e?.get(t),Ft=(e,t)=>Et(e,((e,s)=>t(s,e))),Jt=(e,t,s)=>q(s)?(zt(e,t),e):e?.set(t,s),Pt=(e,t,s)=>(qt(e,t)||Jt(e,t,s()),At(e,t)),Ht=(e,t,s,l=Jt)=>(oe(t,((t,l)=>s(e,l,t))),Ft(e,(s=>ae(t,s)?0:l(e,s))),e),Bt=(e,t,s)=>{const l={};return Et(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Dt=(e,t,s)=>Bt(e,(e=>Bt(e,t,s)),re),Qt=(e,t,s)=>Bt(e,(e=>Dt(e,t,s)),re),jt=(e,t)=>{const s=$t();return Et(e,((e,l)=>s.set(l,t?.(e)??e))),s},Wt=e=>jt(e,jt),Ut=e=>jt(e,Wt),Gt=(e,t,s,l,a=0)=>N((s?Pt:At)(e,t[a],a>$(t)-2?s:$t),(n=>{if(a>$(t)-2)return l?.(n)&&Jt(e,t[a]),n;const o=Gt(n,t,s,l,a+1);return Nt(n)&&Jt(e,t[a]),o})),Kt=$t(),Xt=$t(),Yt="storage",Zt=globalThis.window,_t=e=>new Set(E(e)||q(e)?e:[e]),es=(e,t)=>e?.add(t),ts=/^\d+$/,ss=()=>{const e=[];let t=0;return[s=>(s?K(e):null)??a+t++,t=>{ts.test(t)&&$(e)<1e3&&G(e,t)}]},ls=e=>[e,e],as=(e,t=xt)=>t(e[0])+t(e[1]),ns=()=>[$t(),$t()],os=e=>[...e],rs=([e,t])=>e===t,is=(e,t,s)=>q(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,l)=>{t(s,l)||ne(e,l)})),!re(e)),ds=(e,t,s)=>Jt(e,t,At(e,t)==-s?void 0:s),us=()=>{let e,t,s=!1,l=!1,n=!1,o=!1,i=0;const h=$t(),k=$t(),S=$t(),V=$t(),R=$t(),E=$t(),O=$t(),A=$t(),F=$t(),J=$t(),P=$t(),H=$t(),B=$t(),D=$t(),U=_t(),K=$t(),X=$t(),Y=$t(),Z=$t(),_=ns(),ee=ns(),se=ns(),le=ns(),ue=ns(),ce=ns(),he=ns(),me=ns(),be=ns(),ge=ns(),pe=ns(),Ie=ns(),fe=ns(),we=ns(),ye=ns(),Ce=ns(),ve=ns(),Te=ns(),ke=ns(),Se=ns(),xe=ns(),Ve=ns(),Re=$t(),qe=ns(),[Ne,Le,Me,Ee]=(e=>{let t;const[s,l]=ss(),n=$t();return[(e,l,o,r=[],i=(()=>[]))=>{t??=Fs;const d=s(1);return Jt(n,d,[e,l,o,r,i]),es(Gt(l,o??[a],_t),d),d},(e,s,...l)=>j(((e,t=[a])=>{const s=[],l=(e,a)=>a==$(t)?G(s,e):null===t[a]?Et(e,(e=>l(e,a+1))):j([t[a],null],(t=>l(At(e,t),a+1)));return l(e,0),s})(e,s),(e=>Et(e,(e=>At(n,e)[0](t,...s??[],...l))))),e=>N(At(n,e),(([,t,s])=>(Gt(t,s??[a],void 0,(t=>(zt(t,e),Nt(t)?1:0))),Jt(n,e),l(e),s))),e=>N(At(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=$(o);r==$(s)?e(t,...o,...a(o)):q(s[r])?j(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),ze=e=>{if(!is(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=r||($e(e[u])!=t&&ne(e,u),0))},Fe=(t,s)=>(!e||qt(P,s)||bt(s))&&is(t,((e,t)=>Je(s,t,e)),(()=>bt(s))),Je=(e,t,s,l)=>is(l?s:De(s,e,t),((l,a)=>N(Pe(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>bt(e,t))),Pe=(t,s,l,a)=>e?N(At(At(P,t),l),(e=>$e(a)!=e[d]?bt(t,s,l,a,e[u]):a),(()=>bt(t,s,l,a))):q($e(a))?bt(t,s,l,a):a,He=(e,t)=>is(t?e:Qe(e),((t,s)=>N(Be(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>gt())),Be=(e,s)=>t?N(At(B,e),(t=>$e(s)!=t[d]?gt(e,s,t[u]):s),(()=>gt(e,s))):q($e(s))?gt(e,s):s,De=(e,t,s)=>(N(At(H,t),(([l,a])=>{Et(l,((t,s)=>{ae(e,s)||(e[s]=t)})),Et(a,(l=>{ae(e,l)||bt(t,s,l)}))})),e),Qe=e=>(t&&(Et(D,((t,s)=>{ae(e,s)||(e[s]=t)})),Et(U,(t=>{ae(e,t)||gt(t)}))),e),je=e=>Ht(P,e,((e,t,s)=>{const l=$t(),a=_t();Ht(Pt(P,t,$t),s,((e,t,s)=>{Jt(e,t,s),N(s[u],(e=>Jt(l,t,e)),(()=>es(a,t)))})),Jt(H,t,[l,a])}),((e,t)=>{Jt(P,t),Jt(H,t)})),We=e=>Ht(B,e,((e,t,s)=>{Jt(B,t,s),N(s[u],(e=>Jt(D,t,e)),(()=>es(U,t)))}),((e,t)=>{Jt(B,t),Jt(D,t),zt(U,t)})),Ue=e=>re(e)?qs():ks(e),Ge=e=>Ht(Y,e,((e,t,s)=>Ke(t,s)),((e,t)=>at(t))),Ke=(e,t)=>Ht(Pt(Y,e,(()=>(it(e,1),Jt(K,e,ss()),Jt(X,e,$t()),$t()))),t,((t,s,l)=>Xe(e,t,s,l)),((t,s)=>nt(e,t,s))),Xe=(e,t,s,l,a)=>Ht(Pt(t,s,(()=>(dt(e,s,1),$t()))),l,((t,l,a)=>Ye(e,s,t,l,a)),((l,n)=>ot(e,t,s,l,n,a))),Ye=(e,t,s,l,a)=>{qt(s,l)||ut(e,t,l,1);const n=At(s,l);a!==n&&(ct(e,t,l,n,a),Jt(s,l,a))},Ze=(e,t,s,l,a)=>N(At(t,s),(t=>Ye(e,s,t,l,a)),(()=>Xe(e,t,s,De({[l]:a},e,s)))),_e=e=>re(e)?Ms():Ss(e),et=e=>Ht(Z,e,((e,t,s)=>tt(t,s)),((e,t)=>rt(t))),tt=(e,t)=>{qt(Z,e)||ht(e,1);const s=At(Z,e);t!==s&&(mt(e,s,t),Jt(Z,e,t))},st=(e,t)=>{const[s]=At(K,e),l=s(t);return qt(At(Y,e),l)?st(e,t):l},lt=e=>At(Y,e)??Ke(e,{}),at=e=>Ke(e,{}),nt=(e,t,s)=>{const[,l]=At(K,e);l(s),Xe(e,t,s,{},!0)},ot=(e,t,s,l,a,n)=>{const o=At(At(H,e)?.[0],a);if(!q(o)&&!n)return Ye(e,s,l,a,o);const r=t=>{ct(e,s,t,At(l,t)),ut(e,s,t,-1),Jt(l,t)};q(o)?r(a):Ft(l,r),Nt(l)&&(dt(e,s,-1),Nt(Jt(t,s))&&(it(e,-1),Jt(Y,e),Jt(K,e),Jt(X,e)))},rt=e=>{const t=At(D,e);if(!q(t))return tt(e,t);mt(e,At(Z,e)),ht(e,-1),Jt(Z,e)},it=(e,t)=>ds(h,e,t),dt=(e,t,s)=>ds(Pt(V,e,$t),t,s)&&Jt(S,e,Pt(S,e,(()=>0))+s),ut=(e,t,s,l)=>{const a=At(X,e),n=At(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&ds(Pt(k,e,$t),s,l),Jt(a,s,n!=-l?n+l:null),ds(Pt(Pt(R,e,$t),t,$t),s,l)},ct=(e,t,s,l,a)=>Pt(Pt(Pt(E,e,$t),t,$t),s,(()=>[l,0]))[1]=a,ht=(e,t)=>ds(O,e,t),mt=(e,t,s)=>Pt(A,e,(()=>[t,0]))[1]=s,bt=(e,t,s,l,a)=>(G(Pt(Pt(Pt(F,e,$t),t,$t),s,(()=>[])),l),a),gt=(e,t,s)=>(G(Pt(J,e,(()=>[])),t),s),pt=(e,t,s)=>N(At(At(At(E,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(ms(e,t,s))])),It=e=>N(At(A,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(ps(e))])),ft=e=>Nt(F)||Nt(Ce[e])?0:Et(e?Ut(F):F,((t,s)=>Et(t,((t,l)=>Et(t,((t,a)=>Le(Ce[e],[s,l,a],t))))))),wt=e=>Nt(J)||Nt(ve[e])?0:Et(e?jt(J):J,((t,s)=>Le(ve[e],[s],t))),yt=(e,t,s,l)=>{if(!Nt(e))return Le(t,l,(()=>Bt(e))),Ft(e,((e,t)=>Le(s,[...l??[],e],1==t))),1},Ct=e=>{const t=Is();t!=n&&Le(_[e],void 0,t);const s=Nt(ge[e]),l=Nt(fe[e])&&Nt(we[e])&&Nt(be[e])&&Nt(pe[e])&&Nt(ce[e])&&Nt(he[e])&&Nt(me[e])&&s&&Nt(se[e])&&Nt(le[e]),a=Nt(ye[e])&&Nt(Ie[e])&&Nt(ue[e])&&Nt(ee[e]);if(!l||!a){const t=e?[jt(h),Wt(k),jt(S),Wt(V),Ut(R),Ut(E)]:[h,k,S,V,R,E];if(!l){yt(t[0],se[e],le[e]),Et(t[1],((t,s)=>yt(t,ce[e],he[e],[s]))),Et(t[2],((t,s)=>{0!=t&&Le(me[e],[s],Zt(s))}));const l=_t();Et(t[3],((t,a)=>{yt(t,be[e],pe[e],[a])&&!s&&(Le(ge[e],[a,null]),es(l,a))})),s||Et(t[5],((t,s)=>{if(!qt(l,s)){const l=_t();Et(t,(e=>Et(e,(([t,s],a)=>s!==t?es(l,a):zt(e,a))))),Et(l,(t=>Le(ge[e],[s,t])))}})),Et(t[4],((t,s)=>Et(t,((t,l)=>yt(t,fe[e],we[e],[s,l])))))}if(!a){let s;Et(t[5],((t,l)=>{let a;Et(t,((t,n)=>{let o;Et(t,(([t,r],i)=>{r!==t&&(Le(ye[e],[l,n,i],r,t,pt),s=a=o=1)})),o&&Le(Ie[e],[l,n],pt)})),a&&Le(ue[e],[l],pt)})),s&&Le(ee[e],void 0,pt)}}},vt=e=>{const t=vs();t!=o&&Le(Te[e],void 0,t);const s=Nt(Se[e])&&Nt(xe[e]),l=Nt(Ve[e])&&Nt(ke[e]);if(!s||!l){const t=e?[jt(O),jt(A)]:[O,A];if(s||yt(t[0],Se[e],xe[e]),!l){let s;Et(t[1],(([t,l],a)=>{l!==t&&(Le(Ve[e],[a],l,t,It),s=1)})),s&&Le(ke[e],void 0,It)}}},Tt=(e,...t)=>($s((()=>e(...W(t,x)))),Fs),kt=()=>[Bt(E,((e,t)=>-1===At(h,t)?null:Bt(e,((e,s)=>-1===At(At(V,t),s)?null:Bt(e,(([,e])=>e??null),((e,t)=>rs(t)))),re)),re),Bt(A,(([,e])=>e??null),((e,t)=>rs(t)))],Lt=()=>({cellsTouched:s,valuesTouched:l,changedCells:Qt(E,os,rs),invalidCells:Qt(F),changedValues:Bt(A,os,rs),invalidValues:Bt(J),changedTableIds:Bt(h),changedRowIds:Dt(V),changedCellIds:Qt(R),changedValueIds:Bt(O)}),Kt=()=>Qt(Y),Xt=()=>Ot(Y),Yt=e=>Ot(At(X,x(e))),Zt=e=>St(At(Y,x(e))),ts=e=>Ot(At(Y,x(e))),cs=(e,t,s,l=0,a)=>{return W(z(Q((n=At(Y,x(e)),o=(e,s)=>[q(t)?s:At(e,x(t)),s],W([...n?.entries()??[]],(([e,t])=>o(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,q(a)?a:l+a),(([,e])=>e));var n,o},hs=(e,t)=>Ot(At(At(Y,x(e)),x(t))),ms=(e,t,s)=>At(At(At(Y,x(e)),x(t)),x(s)),bs=()=>Bt(Z),gs=()=>Ot(Z),ps=e=>At(Z,x(e)),Is=()=>!Nt(Y),fs=e=>qt(Y,x(e)),ws=(e,t)=>qt(At(X,x(e)),x(t)),ys=(e,t)=>qt(At(Y,x(e)),x(t)),Cs=(e,t,s)=>qt(At(At(Y,x(e)),x(t)),x(s)),vs=()=>!Nt(Z),Ts=e=>qt(Z,x(e)),ks=e=>Tt((()=>(e=>is(e,Fe,bt))(e)?Ge(e):0)),Ss=e=>Tt((()=>He(e)?et(e):0)),xs=e=>{try{Ue(de(e))}catch{}return Fs},Vs=t=>Tt((()=>{if((e=is(t,(e=>is(e,ze))))&&(je(t),!Nt(Y))){const e=Kt();qs(),ks(e)}})),Rs=e=>Tt((()=>{if(t=(e=>is(e,ze))(e)){const s=bs();zs(),Ms(),t=!0,We(e),Ss(s)}})),qs=()=>Tt((()=>Ge({}))),Ns=e=>Tt((e=>qt(Y,e)?at(e):0),e),Ls=(e,t)=>Tt(((e,t)=>N(At(Y,e),(s=>qt(s,t)?nt(e,s,t):0))),e,t),Ms=()=>Tt((()=>et({}))),Es=()=>Tt((()=>{je({}),e=!1})),zs=()=>Tt((()=>{We({}),t=!1})),$s=(e,t)=>{if(-1!=i){Os();const s=e();return As(t),s}},Os=()=>(-1!=i&&i++,1==i&&Le(Re,void 0,kt,Lt),Fs),As=e=>(i>0&&(i--,0==i&&(s=!Nt(E),l=!Nt(A),i=1,ft(1),s&&Ct(1),wt(1),l&&vt(1),e?.(kt,Lt)&&(Et(E,((e,t)=>Et(e,((e,s)=>Et(e,(([e],l)=>Oe(Fs,t,s,l,e))))))),Et(A,(([e],t)=>Ae(Fs,t,e))),s=l=!1),Le(qe[0],void 0,kt,Lt),i=-1,ft(0),s&&Ct(0),wt(0),l&&vt(0),Le(qe[1],void 0,kt,Lt),i=0,s=l=!1,n=Is(),o=vs(),j([h,k,S,V,R,E,F,O,A,J],Mt))),Fs),Fs={getContent:()=>[Kt(),bs()],getTables:Kt,getTableIds:Xt,getTable:e=>Dt(At(Y,x(e))),getTableCellIds:Yt,getRowCount:Zt,getRowIds:ts,getSortedRowIds:cs,getRow:(e,t)=>Bt(At(At(Y,x(e)),x(t))),getCellIds:hs,getCell:ms,getValues:bs,getValueIds:gs,getValue:ps,hasTables:Is,hasTable:fs,hasTableCell:ws,hasRow:ys,hasCell:Cs,hasValues:vs,hasValue:Ts,getTablesJson:()=>ie(Y),getValuesJson:()=>ie(Z),getJson:()=>ie([Y,Z]),getTablesSchemaJson:()=>ie(P),getValuesSchemaJson:()=>ie(B),getSchemaJson:()=>ie([P,B]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>Tt((()=>{(re(e)?qs:ks)(e),(re(t)?Ms:Ss)(t)})),setTables:ks,setTable:(e,t)=>Tt((e=>Fe(t,e)?Ke(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Je(e,t,s)?Xe(e,lt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>$s((()=>{let l;return Je(e,l,t)&&(e=x(e),Xe(e,lt(e),l=st(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Je(e,t,s,1)){const l=lt(e);oe(s,((s,a)=>Ze(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>N(Pe(e,t,s,M(l)?l(ms(e,t,s)):l),(l=>Ze(e,lt(e),t,s,l)))),e,t,s),setValues:Ss,setPartialValues:e=>Tt((()=>He(e,1)?oe(e,((e,t)=>tt(t,e))):0)),setValue:(e,t)=>Tt((e=>N(Be(e,M(t)?t(ps(e)):t),(t=>tt(e,t)))),e),setTransactionChanges:e=>Tt((()=>{oe(e[0],((e,t)=>q(e)?Ns(t):oe(e,((e,s)=>q(e)?Ls(t,s):oe(e,((e,l)=>Oe(Fs,t,s,l,e))))))),oe(e[1],((e,t)=>Ae(Fs,t,e)))})),setTablesJson:xs,setValuesJson:e=>{try{_e(de(e))}catch{}return Fs},setJson:e=>Tt((()=>{try{const[t,s]=de(e);Ue(t),_e(s)}catch{xs(e)}})),setTablesSchema:Vs,setValuesSchema:Rs,setSchema:(e,t)=>Tt((()=>{Vs(e),Rs(t)})),delTables:qs,delTable:Ns,delRow:Ls,delCell:(e,t,s,l)=>Tt(((e,t,s)=>N(At(Y,e),(a=>N(At(a,t),(n=>qt(n,s)?ot(e,a,t,n,s,l):0))))),e,t,s),delValues:Ms,delValue:e=>Tt((e=>qt(Z,e)?rt(e):0),e),delTablesSchema:Es,delValuesSchema:zs,delSchema:()=>Tt((()=>{Es(),zs()})),transaction:$s,startTransaction:Os,finishTransaction:As,forEachTable:e=>Et(Y,((t,s)=>e(s,(e=>Et(t,((t,s)=>e(s,(e=>Ft(t,e))))))))),forEachTableCell:(e,t)=>Ft(At(X,x(e)),t),forEachRow:(e,t)=>Et(At(Y,x(e)),((e,s)=>t(s,(t=>Ft(e,t))))),forEachCell:(e,t,s)=>Ft(At(At(Y,x(e)),x(t)),s),forEachValue:e=>Ft(Z,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=cs(e,t,s,l,a);return Ne((()=>{const o=cs(e,t,s,l,a);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Fs,e,t,s,l,a,r))}),ge[o?1:0],[e,t],[Xt])},addStartTransactionListener:e=>Ne(e,Re),addWillFinishTransactionListener:e=>Ne(e,qe[0]),addDidFinishTransactionListener:e=>Ne(e,qe[1]),callListener:e=>(Ee(e),Fs),delListener:e=>(Me(e),Fs),getListenerStats:()=>({hasTables:as(_),tables:as(ee),tableIds:as(se),hasTable:as(le),table:as(ue),tableCellIds:as(ce),hasTableCell:as(he,Vt),rowCount:as(me),rowIds:as(be),sortedRowIds:as(ge),hasRow:as(pe,Vt),row:as(Ie,Vt),cellIds:as(fe,Vt),hasCell:as(we,Rt),cell:as(ye,Rt),invalidCell:as(Ce,Rt),hasValues:as(Te),values:as(ke),valueIds:as(Se),hasValue:as(xe),value:as(Ve),invalidValue:as(ve),transaction:xt(Re)+as(qe)}),createStore:us,addListener:Ne,callListeners:Le};return oe({[c+b]:[0,_,[],()=>[Is()]],[b]:[0,ee],[g]:[0,se],[c+m]:[1,le,[Xt],e=>[fs(...e)]],[m]:[1,ue,[Xt]],[m+y]:[1,ce,[Xt]],[c+m+w]:[2,he,[Xt,Yt],e=>[ws(...e)]],[I]:[1,me,[Xt]],[f]:[1,be,[Xt]],[c+p]:[2,pe,[Xt,ts],e=>[ys(...e)]],[p]:[2,Ie,[Xt,ts]],[y]:[2,fe,[Xt,ts]],[c+w]:[3,we,[Xt,ts,hs],e=>[Cs(...e)]],[w]:[3,ye,[Xt,ts,hs],e=>ls(ms(...e))],InvalidCell:[3,Ce],[c+v]:[0,Te,[],()=>[vs()]],[v]:[0,ke],[T]:[0,Se],[c+C]:[1,xe,[gs],e=>[Ts(...e)]],[C]:[1,Ve,[gs],e=>ls(ps(e[0]))],InvalidValue:[1,ve]},(([e,t,s,l],a)=>{Fs["add"+a+"Listener"]=(...a)=>Ne(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),te(Fs)},cs=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(us),a=he.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,[o,r]=[],i=[])=>{let d,u,c,h=0,m=0,b=0,g=0;Pt(Kt,i,(()=>0)),Pt(Xt,i,(()=>[]));const p=async e=>(2!=h&&(h=1,m++,await I.schedule((async()=>{await e(),h=0}))),I),I={load:async(s,l)=>await p((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(I.stopAutoLoad(),await I.load(s,a),g=1,c=l((async(s,l)=>{if(l){const t=l();await p((async()=>e.setTransactionChanges(t)))}else await p((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),I),stopAutoLoad:()=>(g&&(a(c),c=void 0,g=0),I),save:async t=>(1!=h&&(h=2,b++,await I.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}h=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();re(s)&&re(l)||I.save((()=>[s,l]))})),I),stopAutoSave:()=>(N(d,e.delListener),d=void 0,I),schedule:async(...e)=>(G(At(Xt,i),...e),await(async()=>{if(!At(Kt,i)){for(Jt(Kt,i,1);!q(u=K(At(Xt,i)));)try{await u()}catch(e){n?.(e)}Jt(Kt,i,0)}})(),I),getStore:()=>e,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(I[o]=()=>r),te(I)})(e,(async()=>de(s.getItem(t))),(async e=>s.setItem(t,ie(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>de(l.newValue)))};return Zt.addEventListener(Yt,l),l}),(e=>Zt.removeEventListener(Yt,e)),l,["getStorageName",t]))(e,ue,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),F(A,null,F("aside",{id:ue},F(Ee,{s:l}),F(Tt,{s:l})),F("style",null,Me))};e.EditableCellView=nt,e.EditableValueView=ot,e.RelationshipInHtmlTable=lt,e.ResultSortedTableInHtmlTable=at,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>F(Xe,{...a,params:je(Ke(s.useResultTableCellIds(e,t),l,s.ResultCellView),Ue(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=st,e.SortedTableInHtmlTable=et,e.SortedTablePaginator=rt,e.StoreInspector=e=>F(cs,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>F(Xe,{...n,params:je(Ke(s.useTableCellIds(e,t),a,l?nt:s.CellView),We(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=tt},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
|
|
1
|
+
var e,t;e=this,t=function(e,t,s){"use strict";const l=e=>typeof e,a="",n=l(a),o=l(!0),r=l(0),i=l(l),d="type",u="default",c="Has",h="Ids",m="Table",b=m+"s",g=m+h,p="Row",I=p+"Count",f=p+h,w="Cell",y=w+h,C="Value",v=C+"s",T=C+h,k="currentTarget",S="value",x=e=>a+e,V=Math.floor,R=isFinite,q=e=>null==e,N=(e,t,s)=>q(e)?s?.():t(e),L=e=>e==n||e==o,M=e=>l(e)==i,E=e=>Array.isArray(e),z=(e,t,s)=>e.slice(t,s),$=e=>e.length,{PureComponent:O,Fragment:A,createElement:P,useCallback:F,useLayoutEffect:J,useRef:H,useState:B}=t,D=(e,...t)=>q(e)?{}:e(...t),Q=(e,t)=>e.sort(t),j=(e,t)=>e.forEach(t),W=(e,t)=>e.map(t),U=e=>0==$(e),G=(e,...t)=>e.push(...t),K=e=>e.shift(),X=Object,Y=e=>X.getPrototypeOf(e),Z=X.entries,_=X.keys,ee=X.isFrozen,te=X.freeze,se=e=>!q(e)&&N(Y(e),(e=>e==X.prototype||q(Y(e))),(()=>!0)),le=(e=[])=>X.fromEntries(e),ae=(e,t)=>!q(((e,t)=>N(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),oe=(e,t)=>W(Z(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>$(_(e)))(e),ie=e=>JSON.stringify(e,((e,t)=>t instanceof Map?X.fromEntries([...t]):t)),de=JSON.parse,ue="tinybaseStoreInspector",ce="TinyBase Store Inspector",he=["left","top","bottom","right","full"],me="state",be="sort",ge="open",pe="position",Ie=ge,fe="editable",we=(...e)=>ie(e),ye=(e,t)=>W(Q(e),t),Ce=(e,t)=>[!!s.useCell(me,e,fe,t),F((s=>{t.setCell(me,e,fe,(e=>!e)),s.preventDefault()}),[t,e])],ve="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",Te='content:url("',ke=Te+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Se='</svg>")',xe=Te+"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\")",Ve=W([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,s,l])=>ke+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${s}' height='${l}' fill='white'/>`+Se)),Re=ke+"<path d='M20 20l60 60M20 80l60-60' />"+Se,qe=ke+`<path d='${ve}' />`+Se,Ne=ke+`<path d='${ve}M20 20l60 60' />`+Se,Le="*::-webkit-scrollbar",Me=((e,t="")=>e.join(t))(oe({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[Le]:"width:0.5rem;height:0.5rem;",[Le+"-track"]:"background:#111",[Le+"-thumb"]:"background:#999;border:1px solid #111",[Le+"-thumb:hover"]:"background:#fff",[Le+"-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;"+xe,...le(W(["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;",...le(W(["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)":xe,"header>img:nth-of-type(6)":Re,...le(W(Ve,((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":qe,"details[open]>summary img.done":Ne,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,#${ue} 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?`#${ue} ${t}{${e}}`:""))),Ee=({s:e})=>{const t=s.useValue(pe,e)??1,l=s.useSetValueCallback(Ie,(()=>!0),[],e);return s.useValue(Ie,e)?null:P("img",{onClick:l,title:ce,"data-position":t})},ze=({uniqueId:e,summary:t,editable:l,handleEditable:a,children:n,s:o})=>{const r=!!s.useCell(me,e,ge,o),i=s.useSetCellCallback(me,e,ge,(e=>e[k].open),[],o);return P("details",{open:r,onToggle:i},P("summary",null,t,a?P("img",{onClick:a,className:l?"done":"edit"}):null),n)},$e=e=>{const t=l(e);return L(t)||t==r&&R(e)?t:void 0},Oe=(e,t,s,l,a)=>q(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a),Ae=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),Pe=(e,t,s,l)=>e==n?t:e==r?s:l,{useCallback:Fe,useMemo:Je,useState:He}=t,Be="editable",De=(e,t)=>W(s.useTableCellIds(e,t),(t=>e+"."+t)),Qe=(e,t,s)=>{const l=Fe(e,t);return s?l:void 0},je=(...e)=>Je((()=>e),e),We=(e,t)=>Je((()=>({store:e,tableId:t})),[e,t]),Ue=(e,t)=>Je((()=>({queries:e,queryId:t})),[e,t]),Ge=(e,t=!1,s,l=0,a,n,o,r)=>{const[[i,d,u],c]=He([e,t,l]),h=Fe((e=>{c(e),r?.(e)}),[r]),m=Qe((e=>h([e,e==i&&!d,u])),[h,i,d,u],s),b=Fe((e=>h([i,d,e])),[h,i,d]),g=!0===o?rt:o;return[[i,d,u],m,Je((()=>!1===o?null:P(g,{offset:u,limit:a,total:n,onChange:b})),[o,g,u,a,n,b])]},Ke=(e,t,s)=>Je((()=>{const a=t??e;return o=E(a)?le(W(a,(e=>[e,e]))):a,r=(e,t)=>{return{label:t,component:s,...(a=e,l(a)==n?{label:e}:e)};var a},le(oe(o,((e,t)=>[t,r(e,t)])));var o,r}),[t,s,e]),Xe=({className:e,headerRow:t,idColumn:s,params:[l,a,n,o,r,i]})=>P("table",{className:e},i?P("caption",null,i):null,!1===t?null:P("thead",null,P("tr",null,!1===s?null:P(Ye,{sort:o??[],label:"Id",onClick:r}),oe(l,(({label:e},t)=>P(Ye,{key:t,cellId:t,label:e,sort:o??[],onClick:r}))))),P("tbody",null,W(n,(e=>P("tr",{key:e},!1===s?null:P("th",null,e),oe(l,(({component:t,getComponentProps:s},l)=>P("td",{key:l},P(t,{...D(s,e,l),...a,rowId:e,cellId:l}))))))))),Ye=({cellId:e,sort:[t,s],label:l=e??a,onClick:n})=>P("th",{onClick:Qe((()=>n?.(e)),[n,e],n),className:q(s)||t!=e?void 0:`sorted ${s?"de":"a"}scending`},q(s)||t!=e?null:(s?"↓":"↑")+" ",l),Ze=({localRowId:e,params:[l,a,n,o,r,i,d]})=>{const u=s.useRemoteRowId(r,e,i);return P("tr",null,!1===l?null:P(t.Fragment,null,P("th",null,e),P("th",null,u)),oe(a,(({component:t,getComponentProps:s},l)=>{const[a,r]=l.split(".",2),i=a===n?e:a===o?u:null;return q(i)?null:P("td",{key:l},P(t,{...D(s,i,r),store:d,tableId:a,rowId:i,cellId:r}))})))},_e=({thing:e,onThingChange:t,className:s,hasSchema:l,showType:a=!0})=>{const[i,d]=He(),[u,c]=He(),[h,m]=He(),[b,g]=He(),[p,I]=He();u!==e&&(d($e(e)),c(e),m(e+""),g(Number(e)||0),I(!!e));const f=Fe(((e,s)=>{s(e),c(e),t(e)}),[t]),w=Fe((()=>{if(!l?.()){const e=Pe(i,r,o,n),s=Pe(e,h,b,p);d(e),c(s),t(s)}}),[l,t,h,b,p,i]);return P("div",{className:s},a?P("button",{className:i,onClick:w},i):null,Pe(i,P("input",{key:i,value:h,onChange:Fe((e=>f(e[k][S]+"",m)),[f])}),P("input",{key:i,type:"number",value:b,onChange:Fe((e=>f(Number(e[k][S]||0),g)),[f])}),P("input",{key:i,type:"checkbox",checked:p,onChange:Fe((e=>f(!!e[k].checked,I)),[f])})))},et=({tableId:e,cellId:t,descending:l,offset:a,limit:n,store:o,editable:r,sortOnClick:i,paginator:d=!1,onChange:u,customCells:c,...h})=>{const[m,b,g]=Ge(t,l,i,a,n,s.useRowCount(e,o),d,u);return P(Xe,{...h,params:je(Ke(s.useTableCellIds(e,o),c,r?nt:s.CellView),We(o,e),s.useSortedRowIds(e,...m,n,o),m,b,g)})},tt=({store:e,editable:t=!1,valueComponent:l=(t?ot:s.ValueView),getValueComponentProps:a,className:n,headerRow:o,idColumn:r})=>P("table",{className:n},!1===o?null:P("thead",null,P("tr",null,!1===r?null:P("th",null,"Id"),P("th",null,C))),P("tbody",null,W(s.useValueIds(e),(t=>P("tr",{key:t},!1===r?null:P("th",null,t),P("td",null,P(l,{...D(a,t),valueId:t,store:e}))))))),st=({indexId:e,sliceId:t,indexes:l,editable:a,customCells:n,...o})=>{const[r,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(s.useIndexesOrIndexesById(l),e);return P(Xe,{...o,params:je(Ke(s.useTableCellIds(d,i),n,a?nt:s.CellView),We(i,d),s.useSliceRowIds(e,t,r))})},lt=({relationshipId:e,relationships:l,editable:a,customCells:n,className:o,headerRow:r,idColumn:i=!0})=>{const[d,u,c,h]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(s.useRelationshipsOrRelationshipsById(l),e),m=Ke([...De(c,u),...De(h,u)],n,a?nt:s.CellView),b=je(i,m,c,h,e,d,u);return P("table",{className:o},!1===r?null:P("thead",null,P("tr",null,!1===i?null:P(t.Fragment,null,P("th",null,c,".Id"),P("th",null,h,".Id")),oe(m,(({label:e},t)=>P("th",{key:t},e))))),P("tbody",null,W(s.useRowIds(c,u),(e=>P(Ze,{key:e,localRowId:e,params:b})))))},at=({queryId:e,cellId:t,descending:l,offset:a,limit:n,queries:o,sortOnClick:r,paginator:i=!1,customCells:d,onChange:u,...c})=>{const[h,m,b]=Ge(t,l,r,a,n,s.useResultRowCount(e,o),i,u);return P(Xe,{...c,params:je(Ke(s.useResultTableCellIds(e,o),d,s.ResultCellView),Ue(o,e),s.useResultSortedRowIds(e,...h,n,o),h,m,b)})},nt=({tableId:e,rowId:t,cellId:l,store:a,className:n,showType:o})=>P(_e,{thing:s.useCell(e,t,l,a),onThingChange:s.useSetCellCallback(e,t,l,(e=>e),[],a),className:n??Be+w,showType:o,hasSchema:s.useStoreOrStoreById(a)?.hasTablesSchema}),ot=({valueId:e,store:t,className:l,showType:a})=>P(_e,{thing:s.useValue(e,t),onThingChange:s.useSetValueCallback(e,(e=>e),[],t),className:l??Be+C,showType:a,hasSchema:s.useStoreOrStoreById(t)?.hasValuesSchema}),rt=({onChange:e,total:s,offset:l=0,limit:a=s,singular:n="row",plural:o=n+"s"})=>{(l>s||l<0)&&(l=0,e(0));const r=Qe((()=>e(l-a)),[e,l,a],l>0),i=Qe((()=>e(l+a)),[e,l,a],l+a<s);return P(t.Fragment,null,s>a&&P(t.Fragment,null,P("button",{className:"previous",disabled:0==l,onClick:r},"←"),P("button",{className:"next",disabled:l+a>=s,onClick:i},"→"),l+1," to ",Math.min(s,l+a)," of "),s," ",1!=s?o:n)},it=({indexes:e,indexesId:t,indexId:l,s:a})=>P(ze,{uniqueId:we("i",t,l),summary:"Index: "+l,s:a},W(s.useSliceIds(l,e),(s=>P(dt,{indexes:e,indexesId:t,indexId:l,sliceId:s,s:a,key:s})))),dt=({indexes:e,indexesId:t,indexId:s,sliceId:l,s:a})=>{const n=we("i",t,s,l),[o,r]=Ce(n,a);return P(ze,{uniqueId:n,summary:"Slice: "+l,editable:o,handleEditable:r,s:a},P(st,{sliceId:l,indexId:s,indexes:e,editable:o}))},ut=({indexesId:e,s:t})=>{const l=s.useIndexes(e),a=s.useIndexIds(l);return q(l)?null:P(ze,{uniqueId:we("i",e),summary:"Indexes: "+(e??u),s:t},U(a)?"No indexes defined":ye(a,(s=>P(it,{indexes:l,indexesId:e,indexId:s,s:t,key:s}))))},ct=({metrics:e,metricId:t})=>P("tr",null,P("th",null,t),P("td",null,e?.getTableId(t)),P("td",null,s.useMetric(t,e))),ht=({metricsId:e,s:t})=>{const l=s.useMetrics(e),a=s.useMetricIds(l);return q(l)?null:P(ze,{uniqueId:we("m",e),summary:"Metrics: "+(e??u),s:t},U(a)?"No metrics defined":P("table",null,P("thead",null,P("th",null,"Metric Id"),P("th",null,"Table Id"),P("th",null,"Metric")),P("tbody",null,W(a,(e=>P(ct,{metrics:l,metricId:e,key:e}))))))},mt=({queries:e,queriesId:t,queryId:l,s:a})=>{const n=we("q",t,l),[o,r,i]=de(s.useCell(me,n,be,a)??"[]"),d=s.useSetCellCallback(me,n,be,ie,[],a);return P(ze,{uniqueId:n,summary:"Query: "+l,s:a},P(at,{queryId:l,queries:e,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},bt=({queriesId:e,s:t})=>{const l=s.useQueries(e),a=s.useQueryIds(l);return q(l)?null:P(ze,{uniqueId:we("q",e),summary:"Queries: "+(e??u),s:t},U(a)?"No queries defined":ye(a,(s=>P(mt,{queries:l,queriesId:e,queryId:s,s:t,key:s}))))},gt=({relationships:e,relationshipsId:t,relationshipId:s,s:l})=>{const a=we("r",t,s),[n,o]=Ce(a,l);return P(ze,{uniqueId:a,summary:"Relationship: "+s,editable:n,handleEditable:o,s:l},P(lt,{relationshipId:s,relationships:e,editable:n}))},pt=({relationshipsId:e,s:t})=>{const l=s.useRelationships(e),a=s.useRelationshipIds(l);return q(l)?null:P(ze,{uniqueId:we("r",e),summary:"Relationships: "+(e??u),s:t},U(a)?"No relationships defined":ye(a,(s=>P(gt,{relationships:l,relationshipsId:e,relationshipId:s,s:t,key:s}))))},It=({tableId:e,store:t,storeId:l,s:a})=>{const n=we("t",l,e),[o,r,i]=de(s.useCell(me,n,be,a)??"[]"),d=s.useSetCellCallback(me,n,be,ie,[],a),[u,c]=Ce(n,a);return P(ze,{uniqueId:n,summary:m+": "+e,editable:u,handleEditable:c,s:a},P(et,{tableId:e,store:t,cellId:o,descending:r,offset:i,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:u}))},ft=({store:e,storeId:t,s:l})=>{const a=we("v",t),[n,o]=Ce(a,l);return U(s.useValueIds(e))?null:P(ze,{uniqueId:a,summary:v,editable:n,handleEditable:o,s:l},P(tt,{store:e,editable:n}))},wt=({storeId:e,s:t})=>{const l=s.useStore(e),a=s.useTableIds(l);return q(l)?null:P(ze,{uniqueId:we("s",e),summary:"Store: "+(e??u),s:t},P(ft,{storeId:e,store:l,s:t}),ye(a,(s=>P(It,{store:l,storeId:e,tableId:s,s:t,key:s}))))},yt=({s:e})=>{const t=H(null),l=H(0),[a,n]=B(!1),{scrollLeft:o,scrollTop:r}=s.useValues(e);J((()=>{const e=t.current;if(e&&!a){const t=new MutationObserver((()=>{e.scrollWidth>=V(o)+e.clientWidth&&e.scrollHeight>=V(r)+e.clientHeight&&e.scrollTo(o,r)}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}}),[a,o,r]);const i=F((t=>{const{scrollLeft:s,scrollTop:a}=t[k];cancelIdleCallback(l.current),l.current=requestIdleCallback((()=>{n(!0),e.setPartialValues({scrollLeft:s,scrollTop:a})}))}),[e]),d=s.useStore(),u=s.useStoreIds(),c=s.useMetrics(),h=s.useMetricsIds(),m=s.useIndexes(),b=s.useIndexesIds(),g=s.useRelationships(),p=s.useRelationshipsIds(),I=s.useQueries(),f=s.useQueriesIds();return q(d)&&U(u)&&q(c)&&U(h)&&q(m)&&U(b)&&q(g)&&U(p)&&q(I)&&U(f)?P("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):P("article",{ref:t,onScroll:i},P(wt,{s:e}),W(u,(t=>P(wt,{storeId:t,s:e,key:t}))),P(ht,{s:e}),W(h,(t=>P(ht,{metricsId:t,s:e,key:t}))),P(ut,{s:e}),W(b,(t=>P(ut,{indexesId:t,s:e,key:t}))),P(pt,{s:e}),W(p,(t=>P(pt,{relationshipsId:t,s:e,key:t}))),P(bt,{s:e}),W(f,(t=>P(bt,{queriesId:t,s:e,key:t}))))};class Ct extends O{constructor(e){super(e),this.componentDidCatch=(e,t)=>console.error(e,t.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?P("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const vt=({s:e})=>{const t=s.useValue(pe,e)??1,l=s.useSetValueCallback(Ie,(()=>!1),[],e),a=s.useSetValueCallback(pe,(e=>Number(e[k].dataset.id)),[],e);return P("header",null,P("img",{title:ce}),P("span",null,ce),W(he,((e,s)=>s==t?null:P("img",{onClick:a,"data-id":s,title:"Dock to "+e,key:s}))),P("img",{onClick:l,title:"Close"}))},Tt=({s:e})=>{const t=s.useValue(pe,e)??1;return s.useValue(Ie,e)?P("main",{"data-position":t},P(vt,{s:e}),P(Ct,null,P(yt,{s:e}))):null},kt=e=>t=>{return s=(t,s)=>t+e(s),Lt(t).reduce(s,0);var s},St=e=>e?.size??0,xt=kt(St),Vt=kt(xt),Rt=kt(Vt),qt=(e,t)=>e?.has(t)??!1,Nt=e=>q(e)||0==St(e),Lt=e=>[...e?.values()??[]],Mt=e=>e.clear(),Et=(e,t)=>e?.forEach(t),zt=(e,t)=>e?.delete(t),$t=e=>new Map(e),Ot=e=>[...e?.keys()??[]],At=(e,t)=>e?.get(t),Pt=(e,t)=>Et(e,((e,s)=>t(s,e))),Ft=(e,t,s)=>q(s)?(zt(e,t),e):e?.set(t,s),Jt=(e,t,s)=>(qt(e,t)||Ft(e,t,s()),At(e,t)),Ht=(e,t,s,l=Ft)=>(oe(t,((t,l)=>s(e,l,t))),Pt(e,(s=>ae(t,s)?0:l(e,s))),e),Bt=(e,t,s)=>{const l={};return Et(e,((e,a)=>{const n=t?t(e,a):e;!s?.(n,e)&&(l[a]=n)})),l},Dt=(e,t,s)=>Bt(e,(e=>Bt(e,t,s)),re),Qt=(e,t,s)=>Bt(e,(e=>Dt(e,t,s)),re),jt=(e,t)=>{const s=$t();return Et(e,((e,l)=>s.set(l,t?.(e)??e))),s},Wt=e=>jt(e,jt),Ut=e=>jt(e,Wt),Gt=(e,t,s,l,a=0)=>N((s?Jt:At)(e,t[a],a>$(t)-2?s:$t),(n=>{if(a>$(t)-2)return l?.(n)&&Ft(e,t[a]),n;const o=Gt(n,t,s,l,a+1);return Nt(n)&&Ft(e,t[a]),o})),Kt=$t(),Xt=$t(),Yt="storage",Zt=globalThis.window,_t=e=>new Set(E(e)||q(e)?e:[e]),es=(e,t)=>e?.add(t),ts=/^\d+$/,ss=()=>{const e=[];let t=0;return[s=>(s?K(e):null)??a+t++,t=>{ts.test(t)&&$(e)<1e3&&G(e,t)}]},ls=e=>[e,e],as=(e,t=xt)=>t(e[0])+t(e[1]),ns=()=>[$t(),$t()],os=e=>[...e],rs=([e,t])=>e===t,is=(e,t,s)=>q(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,l)=>{t(s,l)||ne(e,l)})),!re(e)),ds=(e,t,s)=>Ft(e,t,At(e,t)==-s?void 0:s),us=()=>{let e,t,s,l=!1,n=!1,o=!1,i=!1,h=0;const k=$t(),S=$t(),V=$t(),R=$t(),E=$t(),O=$t(),A=$t(),P=$t(),F=$t(),J=$t(),H=$t(),B=$t(),D=$t(),U=$t(),K=_t(),X=$t(),Y=$t(),Z=$t(),_=$t(),ee=ns(),se=ns(),le=ns(),ue=ns(),ce=ns(),he=ns(),me=ns(),be=ns(),ge=ns(),pe=ns(),Ie=ns(),fe=ns(),we=ns(),ye=ns(),Ce=ns(),ve=ns(),Te=ns(),ke=ns(),Se=ns(),xe=ns(),Ve=ns(),Re=ns(),qe=$t(),Ne=ns(),[Le,Me,Ee,ze]=(e=>{let t;const[s,l]=ss(),n=$t();return[(e,l,o,r=[],i=(()=>[]))=>{t??=Fs;const d=s(1);return Ft(n,d,[e,l,o,r,i]),es(Gt(l,o??[a],_t),d),d},(e,s,...l)=>j(((e,t=[a])=>{const s=[],l=(e,a)=>a==$(t)?G(s,e):null===t[a]?Et(e,(e=>l(e,a+1))):j([t[a],null],(t=>l(At(e,t),a+1)));return l(e,0),s})(e,s),(e=>Et(e,(e=>At(n,e)[0](t,...s??[],...l))))),e=>N(At(n,e),(([,t,s])=>(Gt(t,s??[a],void 0,(t=>(zt(t,e),Nt(t)?1:0))),Ft(n,e),l(e),s))),e=>N(At(n,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const r=$(o);r==$(s)?e(t,...o,...a(o)):q(s[r])?j(l[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),Pe=e=>{if(!is(e,((e,t)=>[d,u].includes(t))))return!1;const t=e[d];return!(!L(t)&&t!=r||($e(e[u])!=t&&ne(e,u),0))},Fe=(t,s)=>(!e||qt(H,s)||gt(s))&&is(t,((e,t)=>Je(s,t,e)),(()=>gt(s))),Je=(e,t,s,l)=>is(l?s:Qe(s,e,t),((l,a)=>N(He(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>gt(e,t))),He=(t,s,l,a)=>e?N(At(At(H,t),l),(e=>$e(a)!=e[d]?gt(t,s,l,a,e[u]):a),(()=>gt(t,s,l,a))):q($e(a))?gt(t,s,l,a):a,Be=(e,t)=>is(t?e:je(e),((t,s)=>N(De(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>pt())),De=(e,s)=>t?N(At(D,e),(t=>$e(s)!=t[d]?pt(e,s,t[u]):s),(()=>pt(e,s))):q($e(s))?pt(e,s):s,Qe=(e,t,s)=>(N(At(B,t),(([l,a])=>{Et(l,((t,s)=>{ae(e,s)||(e[s]=t)})),Et(a,(l=>{ae(e,l)||gt(t,s,l)}))})),e),je=e=>(t&&(Et(U,((t,s)=>{ae(e,s)||(e[s]=t)})),Et(K,(t=>{ae(e,t)||pt(t)}))),e),We=e=>Ht(H,e,((e,t,s)=>{const l=$t(),a=_t();Ht(Jt(H,t,$t),s,((e,t,s)=>{Ft(e,t,s),N(s[u],(e=>Ft(l,t,e)),(()=>es(a,t)))})),Ft(B,t,[l,a])}),((e,t)=>{Ft(H,t),Ft(B,t)})),Ue=e=>Ht(D,e,((e,t,s)=>{Ft(D,t,s),N(s[u],(e=>Ft(U,t,e)),(()=>es(K,t)))}),((e,t)=>{Ft(D,t),Ft(U,t),zt(K,t)})),Ge=e=>re(e)?Ns():Ss(e),Ke=e=>Ht(Z,e,((e,t,s)=>Xe(t,s)),((e,t)=>nt(t))),Xe=(e,t)=>Ht(Jt(Z,e,(()=>(dt(e,1),Ft(X,e,ss()),Ft(Y,e,$t()),$t()))),t,((t,s,l)=>Ye(e,t,s,l)),((t,s)=>ot(e,t,s))),Ye=(e,t,s,l,a)=>Ht(Jt(t,s,(()=>(ut(e,s,1),$t()))),l,((t,l,a)=>Ze(e,s,t,l,a)),((l,n)=>rt(e,t,s,l,n,a))),Ze=(e,t,s,l,a)=>{qt(s,l)||ct(e,t,l,1);const n=At(s,l);a!==n&&(ht(e,t,l,n,a),Ft(s,l,a))},_e=(e,t,s,l,a)=>N(At(t,s),(t=>Ze(e,s,t,l,a)),(()=>Ye(e,t,s,Qe({[l]:a},e,s)))),et=e=>re(e)?Es():xs(e),tt=e=>Ht(_,e,((e,t,s)=>st(t,s)),((e,t)=>it(t))),st=(e,t)=>{qt(_,e)||mt(e,1);const s=At(_,e);t!==s&&(bt(e,s,t),Ft(_,e,t))},lt=(e,t)=>{const[s]=At(X,e),l=s(t);return qt(At(Z,e),l)?lt(e,t):l},at=e=>At(Z,e)??Xe(e,{}),nt=e=>Xe(e,{}),ot=(e,t,s)=>{const[,l]=At(X,e);l(s),Ye(e,t,s,{},!0)},rt=(e,t,s,l,a,n)=>{const o=At(At(B,e)?.[0],a);if(!q(o)&&!n)return Ze(e,s,l,a,o);const r=t=>{ht(e,s,t,At(l,t)),ct(e,s,t,-1),Ft(l,t)};q(o)?r(a):Pt(l,r),Nt(l)&&(ut(e,s,-1),Nt(Ft(t,s))&&(dt(e,-1),Ft(Z,e),Ft(X,e),Ft(Y,e)))},it=e=>{const t=At(U,e);if(!q(t))return st(e,t);bt(e,At(_,e)),mt(e,-1),Ft(_,e)},dt=(e,t)=>ds(k,e,t),ut=(e,t,s)=>ds(Jt(R,e,$t),t,s)&&Ft(V,e,Jt(V,e,(()=>0))+s),ct=(e,t,s,l)=>{const a=At(Y,e),n=At(a,s)??0;(0==n&&1==l||1==n&&-1==l)&&ds(Jt(S,e,$t),s,l),Ft(a,s,n!=-l?n+l:null),ds(Jt(Jt(E,e,$t),t,$t),s,l)},ht=(e,t,s,l,a)=>Jt(Jt(Jt(O,e,$t),t,$t),s,(()=>[l,0]))[1]=a,mt=(e,t)=>ds(A,e,t),bt=(e,t,s)=>Jt(P,e,(()=>[t,0]))[1]=s,gt=(e,t,s,l,a)=>(G(Jt(Jt(Jt(F,e,$t),t,$t),s,(()=>[])),l),a),pt=(e,t,s)=>(G(Jt(J,e,(()=>[])),t),s),It=(e,t,s)=>N(At(At(At(O,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(bs(e,t,s))])),ft=e=>N(At(P,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ls(Is(e))])),wt=e=>Nt(F)||Nt(ve[e])?0:Et(e?Ut(F):F,((t,s)=>Et(t,((t,l)=>Et(t,((t,a)=>Me(ve[e],[s,l,a],t))))))),yt=e=>Nt(J)||Nt(Te[e])?0:Et(e?jt(J):J,((t,s)=>Me(Te[e],[s],t))),Ct=(e,t,s,l)=>{if(!Nt(e))return Me(t,l,(()=>Bt(e))),Pt(e,((e,t)=>Me(s,[...l??[],e],1==t))),1},vt=e=>{const t=fs();t!=o&&Me(ee[e],void 0,t);const s=Nt(pe[e]),l=Nt(we[e])&&Nt(ye[e])&&Nt(ge[e])&&Nt(Ie[e])&&Nt(he[e])&&Nt(me[e])&&Nt(be[e])&&s&&Nt(le[e])&&Nt(ue[e]),a=Nt(Ce[e])&&Nt(fe[e])&&Nt(ce[e])&&Nt(se[e]);if(!l||!a){const t=e?[jt(k),Wt(S),jt(V),Wt(R),Ut(E),Ut(O)]:[k,S,V,R,E,O];if(!l){Ct(t[0],le[e],ue[e]),Et(t[1],((t,s)=>Ct(t,he[e],me[e],[s]))),Et(t[2],((t,s)=>{0!=t&&Me(be[e],[s],ts(s))}));const l=_t();Et(t[3],((t,a)=>{Ct(t,ge[e],Ie[e],[a])&&!s&&(Me(pe[e],[a,null]),es(l,a))})),s||Et(t[5],((t,s)=>{if(!qt(l,s)){const l=_t();Et(t,(e=>Et(e,(([t,s],a)=>s!==t?es(l,a):zt(e,a))))),Et(l,(t=>Me(pe[e],[s,t])))}})),Et(t[4],((t,s)=>Et(t,((t,l)=>Ct(t,we[e],ye[e],[s,l])))))}if(!a){let s;Et(t[5],((t,l)=>{let a;Et(t,((t,n)=>{let o;Et(t,(([t,r],i)=>{r!==t&&(Me(Ce[e],[l,n,i],r,t,It),s=a=o=1)})),o&&Me(fe[e],[l,n],It)})),a&&Me(ce[e],[l],It)})),s&&Me(se[e],void 0,It)}}},Tt=e=>{const t=Ts();t!=i&&Me(ke[e],void 0,t);const s=Nt(xe[e])&&Nt(Ve[e]),l=Nt(Re[e])&&Nt(Se[e]);if(!s||!l){const t=e?[jt(A),jt(P)]:[A,P];if(s||Ct(t[0],xe[e],Ve[e]),!l){let s;Et(t[1],(([t,l],a)=>{l!==t&&(Me(Re[e],[a],l,t,ft),s=1)})),s&&Me(Se[e],void 0,ft)}}},kt=(e,...t)=>(Os((()=>e(...W(t,x)))),Fs),Lt=()=>[Bt(O,((e,t)=>-1===At(k,t)?null:Bt(e,((e,s)=>-1===At(At(R,t),s)?null:Bt(e,(([,e])=>e??null),((e,t)=>rs(t)))),re)),re),Bt(P,(([,e])=>e??null),((e,t)=>rs(t)))],Kt=()=>({cellsTouched:l,valuesTouched:n,changedCells:Qt(O,os,rs),invalidCells:Qt(F),changedValues:Bt(P,os,rs),invalidValues:Bt(J),changedTableIds:Bt(k),changedRowIds:Dt(R),changedCellIds:Qt(E),changedValueIds:Bt(A)}),Xt=()=>Qt(Z),Yt=()=>Ot(Z),Zt=e=>Ot(At(Y,x(e))),ts=e=>St(At(Z,x(e))),cs=e=>Ot(At(Z,x(e))),hs=(e,t,s,l=0,a)=>{return W(z(Q((n=At(Z,x(e)),o=(e,s)=>[q(t)?s:At(e,x(t)),s],W([...n?.entries()??[]],(([e,t])=>o(t,e)))),(([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1))),l,q(a)?a:l+a),(([,e])=>e));var n,o},ms=(e,t)=>Ot(At(At(Z,x(e)),x(t))),bs=(e,t,s)=>At(At(At(Z,x(e)),x(t)),x(s)),gs=()=>Bt(_),ps=()=>Ot(_),Is=e=>At(_,x(e)),fs=()=>!Nt(Z),ws=e=>qt(Z,x(e)),ys=(e,t)=>qt(At(Y,x(e)),x(t)),Cs=(e,t)=>qt(At(Z,x(e)),x(t)),vs=(e,t,s)=>qt(At(At(Z,x(e)),x(t)),x(s)),Ts=()=>!Nt(_),ks=e=>qt(_,x(e)),Ss=e=>kt((()=>(e=>is(e,Fe,gt))(e)?Ke(e):0)),xs=e=>kt((()=>Be(e)?tt(e):0)),Vs=e=>{try{Ge(de(e))}catch{}return Fs},Rs=t=>kt((()=>{if((e=is(t,(e=>is(e,Pe))))&&(We(t),!Nt(Z))){const e=Xt();Ns(),Ss(e)}})),qs=e=>kt((()=>{if(t=(e=>is(e,Pe))(e)){const s=gs();$s(),Es(),t=!0,Ue(e),xs(s)}})),Ns=()=>kt((()=>Ke({}))),Ls=e=>kt((e=>qt(Z,e)?nt(e):0),e),Ms=(e,t)=>kt(((e,t)=>N(At(Z,e),(s=>qt(s,t)?ot(e,s,t):0))),e,t),Es=()=>kt((()=>tt({}))),zs=()=>kt((()=>{We({}),e=!1})),$s=()=>kt((()=>{Ue({}),t=!1})),Os=(e,t)=>{if(-1!=h){As();const s=e();return Ps(t),s}},As=()=>(-1!=h&&h++,1==h&&Me(qe,void 0,Lt,Kt),Fs),Ps=e=>(h>0&&(h--,0==h&&(l=!Nt(O),n=!Nt(P),h=1,wt(1),l&&vt(1),yt(1),n&&Tt(1),e?.(Lt,Kt)&&(Et(O,((e,t)=>Et(e,((e,s)=>Et(e,(([e],l)=>Oe(Fs,t,s,l,e))))))),Et(P,(([e],t)=>Ae(Fs,t,e))),l=n=!1),Me(Ne[0],void 0,Lt,Kt),h=-1,wt(0),l&&vt(0),yt(0),n&&Tt(0),Me(Ne[1],void 0,Lt,Kt),s?.(Fs,Lt,Kt),h=0,l=n=!1,o=fs(),i=Ts(),j([k,S,V,R,E,O,F,A,P,J],Mt))),Fs),Fs={getContent:()=>[Xt(),gs()],getTables:Xt,getTableIds:Yt,getTable:e=>Dt(At(Z,x(e))),getTableCellIds:Zt,getRowCount:ts,getRowIds:cs,getSortedRowIds:hs,getRow:(e,t)=>Bt(At(At(Z,x(e)),x(t))),getCellIds:ms,getCell:bs,getValues:gs,getValueIds:ps,getValue:Is,hasTables:fs,hasTable:ws,hasTableCell:ys,hasRow:Cs,hasCell:vs,hasValues:Ts,hasValue:ks,getTablesJson:()=>ie(Z),getValuesJson:()=>ie(_),getJson:()=>ie([Z,_]),getTablesSchemaJson:()=>ie(H),getValuesSchemaJson:()=>ie(D),getSchemaJson:()=>ie([H,D]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:([e,t])=>kt((()=>{(re(e)?Ns:Ss)(e),(re(t)?Es:xs)(t)})),setTables:Ss,setTable:(e,t)=>kt((e=>Fe(t,e)?Xe(e,t):0),e),setRow:(e,t,s)=>kt(((e,t)=>Je(e,t,s)?Ye(e,at(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Os((()=>{let l;return Je(e,l,t)&&(e=x(e),Ye(e,at(e),l=lt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>kt(((e,t)=>{if(Je(e,t,s,1)){const l=at(e);oe(s,((s,a)=>_e(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>kt(((e,t,s)=>N(He(e,t,s,M(l)?l(bs(e,t,s)):l),(l=>_e(e,at(e),t,s,l)))),e,t,s),setValues:xs,setPartialValues:e=>kt((()=>Be(e,1)?oe(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>kt((e=>N(De(e,M(t)?t(Is(e)):t),(t=>st(e,t)))),e),setTransactionChanges:e=>kt((()=>{oe(e[0],((e,t)=>q(e)?Ls(t):oe(e,((e,s)=>q(e)?Ms(t,s):oe(e,((e,l)=>Oe(Fs,t,s,l,e))))))),oe(e[1],((e,t)=>Ae(Fs,t,e)))})),setTablesJson:Vs,setValuesJson:e=>{try{et(de(e))}catch{}return Fs},setJson:e=>kt((()=>{try{const[t,s]=de(e);Ge(t),et(s)}catch{Vs(e)}})),setTablesSchema:Rs,setValuesSchema:qs,setSchema:(e,t)=>kt((()=>{Rs(e),qs(t)})),delTables:Ns,delTable:Ls,delRow:Ms,delCell:(e,t,s,l)=>kt(((e,t,s)=>N(At(Z,e),(a=>N(At(a,t),(n=>qt(n,s)?rt(e,a,t,n,s,l):0))))),e,t,s),delValues:Es,delValue:e=>kt((e=>qt(_,e)?it(e):0),e),delTablesSchema:zs,delValuesSchema:$s,delSchema:()=>kt((()=>{zs(),$s()})),transaction:Os,startTransaction:As,finishTransaction:Ps,forEachTable:e=>Et(Z,((t,s)=>e(s,(e=>Et(t,((t,s)=>e(s,(e=>Pt(t,e))))))))),forEachTableCell:(e,t)=>Pt(At(Y,x(e)),t),forEachRow:(e,t)=>Et(At(Z,x(e)),((e,s)=>t(s,(t=>Pt(e,t))))),forEachCell:(e,t,s)=>Pt(At(At(Z,x(e)),x(t)),s),forEachValue:e=>Pt(_,e),addSortedRowIdsListener:(e,t,s,l,a,n,o)=>{let r=hs(e,t,s,l,a);return Le((()=>{const o=hs(e,t,s,l,a);var i,d,u;d=r,$(i=o)===$(d)&&(u=(e,t)=>d[t]===e,i.every(u))||(r=o,n(Fs,e,t,s,l,a,r))}),pe[o?1:0],[e,t],[Yt])},addStartTransactionListener:e=>Le(e,qe),addWillFinishTransactionListener:e=>Le(e,Ne[0]),addDidFinishTransactionListener:e=>Le(e,Ne[1]),callListener:e=>(ze(e),Fs),delListener:e=>(Ee(e),Fs),getListenerStats:()=>({hasTables:as(ee),tables:as(se),tableIds:as(le),hasTable:as(ue),table:as(ce),tableCellIds:as(he),hasTableCell:as(me,Vt),rowCount:as(be),rowIds:as(ge),sortedRowIds:as(pe),hasRow:as(Ie,Vt),row:as(fe,Vt),cellIds:as(we,Vt),hasCell:as(ye,Rt),cell:as(Ce,Rt),invalidCell:as(ve,Rt),hasValues:as(ke),values:as(Se),valueIds:as(xe),hasValue:as(Ve),value:as(Re),invalidValue:as(Te),transaction:xt(qe)+as(Ne)}),createStore:us,addListener:Le,callListeners:Me,addPostTransactionListener:e=>{s=e}};return oe({[c+b]:[0,ee,[],()=>[fs()]],[b]:[0,se],[g]:[0,le],[c+m]:[1,ue,[Yt],e=>[ws(...e)]],[m]:[1,ce,[Yt]],[m+y]:[1,he,[Yt]],[c+m+w]:[2,me,[Yt,Zt],e=>[ys(...e)]],[I]:[1,be,[Yt]],[f]:[1,ge,[Yt]],[c+p]:[2,Ie,[Yt,cs],e=>[Cs(...e)]],[p]:[2,fe,[Yt,cs]],[y]:[2,we,[Yt,cs]],[c+w]:[3,ye,[Yt,cs,ms],e=>[vs(...e)]],[w]:[3,Ce,[Yt,cs,ms],e=>ls(bs(...e))],InvalidCell:[3,ve],[c+v]:[0,ke,[],()=>[Ts()]],[v]:[0,Se],[T]:[0,xe],[c+C]:[1,Ve,[ps],e=>[ks(...e)]],[C]:[1,Re,[ps],e=>ls(Is(e[0]))],InvalidValue:[1,Te]},(([e,t,s,l],a)=>{Fs["add"+a+"Listener"]=(...a)=>Le(a[e],t[a[e+1]?1:0],e>0?z(a,0,e):void 0,s,l)})),te(Fs)},cs=({position:e="right",open:t=!1})=>{const l=s.useCreateStore(us),a=he.indexOf(e);return s.useCreatePersister(l,(e=>{return((e,t,s,l)=>((e,t,s,l,a,n,[o,r]=[],i=[])=>{let d,u,c,h=0,m=0,b=0,g=0;Jt(Kt,i,(()=>0)),Jt(Xt,i,(()=>[]));const p=async e=>(2!=h&&(h=1,m++,await I.schedule((async()=>{await e(),h=0}))),I),I={load:async(s,l)=>await p((async()=>{try{e.setContent(await t())}catch{e.setContent([s,l])}})),startAutoLoad:async(s={},a={})=>(I.stopAutoLoad(),await I.load(s,a),g=1,c=l((async(s,l)=>{if(l){const t=l();await p((async()=>e.setTransactionChanges(t)))}else await p((async()=>{try{e.setContent(s?.()??await t())}catch(e){n?.(e)}}))})),I),stopAutoLoad:()=>(g&&(a(c),c=void 0,g=0),I),save:async t=>(1!=h&&(h=2,b++,await I.schedule((async()=>{try{await s(e.getContent,t)}catch(e){n?.(e)}h=0}))),I),startAutoSave:async()=>(await I.stopAutoSave().save(),d=e.addDidFinishTransactionListener(((e,t)=>{const[s,l]=t();re(s)&&re(l)||I.save((()=>[s,l]))})),I),stopAutoSave:()=>(N(d,e.delListener),d=void 0,I),schedule:async(...e)=>(G(At(Xt,i),...e),await(async()=>{if(!At(Kt,i)){for(Ft(Kt,i,1);!q(u=K(At(Xt,i)));)try{await u()}catch(e){n?.(e)}Ft(Kt,i,0)}})(),I),getStore:()=>e,destroy:()=>I.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(I[o]=()=>r),te(I)})(e,(async()=>de(s.getItem(t))),(async e=>s.setItem(t,ie(e()))),(e=>{const l=l=>{l.storageArea===s&&l.key===t&&e((()=>de(l.newValue)))};return Zt.addEventListener(Yt,l),l}),(e=>Zt.removeEventListener(Yt,e)),l,["getStorageName",t]))(e,ue,sessionStorage,t);var t}),void 0,(async e=>{await e.load(void 0,{position:-1==a?1:a,open:!!t}),await e.startAutoSave()})),P(A,null,P("aside",{id:ue},P(Ee,{s:l}),P(Tt,{s:l})),P("style",null,Me))};e.EditableCellView=nt,e.EditableValueView=ot,e.RelationshipInHtmlTable=lt,e.ResultSortedTableInHtmlTable=at,e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:l,...a})=>P(Xe,{...a,params:je(Ke(s.useResultTableCellIds(e,t),l,s.ResultCellView),Ue(t,e),s.useResultRowIds(e,t))}),e.SliceInHtmlTable=st,e.SortedTableInHtmlTable=et,e.SortedTablePaginator=rt,e.StoreInspector=e=>P(cs,{...e}),e.TableInHtmlTable=({tableId:e,store:t,editable:l,customCells:a,...n})=>P(Xe,{...n,params:je(Ke(s.useTableCellIds(e,t),a,l?nt:s.CellView),We(t,e),s.useRowIds(e,t))}),e.ValuesInHtmlTable=tt},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDomDebug={},e.React,e.TinyBaseUiReact);
|
|
Binary file
|
package/lib/umd/ui-react-dom.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,l){"use strict";const a=e=>typeof e,n=a(""),o=a(!0),r=a(0),s="Value",i="currentTarget",d="value",u=isFinite,m=e=>null==e,{PureComponent:c,Fragment:h,createElement:b,useCallback:g,useLayoutEffect:p,useRef:w,useState:f}=t,I=(e,...t)=>m(e)?{}:e(...t),y=(e,t)=>e.map(t),C=Object,k=C.entries,v=(e=[])=>C.fromEntries(e),x=(e,t)=>y(k(e),(([e,l])=>t(l,e))),T="tinybaseStoreInspector",R="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",S='content:url("',N=S+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",V='</svg>")',z=S+"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\")",$=y([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>N+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+V)),M=N+"<path d='M20 20l60 60M20 80l60-60' />"+V,q=N+`<path d='${R}' />`+V,B=N+`<path d='${R}M20 20l60 60' />`+V,H="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(x({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[H]:"width:0.5rem;height:0.5rem;",[H+"-track"]:"background:#111",[H+"-thumb"]:"background:#999;border:1px solid #111",[H+"-thumb:hover"]:"background:#fff",[H+"-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;"+z,...v(y(["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;",...v(y(["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)":z,"header>img:nth-of-type(6)":M,...v(y($,((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":q,"details[open]>summary img.done":B,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,#${T} 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} ${t}{${e}}`:"")));const O=(e,t,l,a)=>e==n?t:e==r?l:a,{useCallback:F,useMemo:E,useState:P}=t,j="editable",A=(e,t)=>y(l.useTableCellIds(e,t),(t=>e+"."+t)),L=(e,t,l)=>{const a=F(e,t);return l?a:void 0},U=(...e)=>E((()=>e),e),D=(e,t)=>E((()=>({store:e,tableId:t})),[e,t]),G=(e,t)=>E((()=>({queries:e,queryId:t})),[e,t]),J=(e,t=!1,l,a=0,n,o,r,s)=>{const[[i,d,u],m]=P([e,t,a]),c=F((e=>{m(e),s?.(e)}),[s]),h=L((e=>c([e,e==i&&!d,u])),[c,i,d,u],l),g=F((e=>c([i,d,e])),[c,i,d]),p=!0===r?ee:r;return[[i,d,u],h,E((()=>!1===r?null:b(p,{offset:u,limit:n,total:o,onChange:g})),[r,p,u,n,o,g])]},K=(e,t,l)=>E((()=>{const o=t??e;return v(x(Array.isArray(o)?v(y(o,(e=>[e,e]))):o,((e,t)=>{return[t,{label:t,component:l,...(o=e,a(o)==n?{label:e}:e)}];var o})))}),[t,l,e]),Q=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,s,i]})=>b("table",{className:e},i?b("caption",null,i):null,!1===t?null:b("thead",null,b("tr",null,!1===l?null:b(W,{sort:r??[],label:"Id",onClick:s}),x(a,(({label:e},t)=>b(W,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),b("tbody",null,y(o,(e=>b("tr",{key:e},!1===l?null:b("th",null,e),x(a,(({component:t,getComponentProps:l},a)=>b("td",{key:a},b(t,{...I(l,e,a),...n,rowId:e,cellId:a}))))))))),W=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>b("th",{onClick:L((()=>n?.(e)),[n,e],n),className:m(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},m(l)||t!=e?null:(l?"↓":"↑")+" ",a),X=({localRowId:e,params:[a,n,o,r,s,i,d]})=>{const u=l.useRemoteRowId(s,e,i);return b("tr",null,!1===a?null:b(t.Fragment,null,b("th",null,e),b("th",null,u)),x(n,(({component:t,getComponentProps:l},a)=>{const[n,s]=a.split(".",2),i=n===o?e:n===r?u:null;return m(i)?null:b("td",{key:a},b(t,{...I(l,i,s),store:d,tableId:n,rowId:i,cellId:s}))})))},Y=({thing:e,onThingChange:t,className:l,hasSchema:s,showType:m=!0})=>{const[c,h]=P(),[g,p]=P(),[w,f]=P(),[I,y]=P(),[C,k]=P();g!==e&&(h((e=>{const t=a(e);return(e=>e==n||e==o)(t)||t==r&&u(e)?t:void 0})(e)),p(e),f(e+""),y(Number(e)||0),k(!!e));const v=F(((e,l)=>{l(e),p(e),t(e)}),[t]),x=F((()=>{if(!s?.()){const e=O(c,r,o,n),l=O(e,w,I,C);h(e),p(l),t(l)}}),[s,t,w,I,C,c]);return b("div",{className:l},m?b("button",{className:c,onClick:x},c):null,O(c,b("input",{key:c,value:w,onChange:F((e=>v(e[i][d]+"",f)),[v])}),b("input",{key:c,type:"number",value:I,onChange:F((e=>v(Number(e[i][d]||0),y)),[v])}),b("input",{key:c,type:"checkbox",checked:C,onChange:F((e=>v(!!e[i].checked,k)),[v])})))},Z=({tableId:e,rowId:t,cellId:a,store:n,className:o,showType:r})=>b(Y,{thing:l.useCell(e,t,a,n),onThingChange:l.useSetCellCallback(e,t,a,(e=>e),[],n),className:o??j+"Cell",showType:r,hasSchema:l.useStoreOrStoreById(n)?.hasTablesSchema}),_=({valueId:e,store:t,className:a,showType:n})=>b(Y,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:a??j+s,showType:n,hasSchema:l.useStoreOrStoreById(t)?.hasValuesSchema}),ee=({onChange:e,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,e(0));const s=L((()=>e(a-n)),[e,a,n],a>0),i=L((()=>e(a+n)),[e,a,n],a+n<l);return b(t.Fragment,null,l>n&&b(t.Fragment,null,b("button",{className:"previous",disabled:0==a,onClick:s},"←"),b("button",{className:"next",disabled:a+n>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},te=e=>new Map(e);te(),te(),e.EditableCellView=Z,e.EditableValueView=_,e.RelationshipInHtmlTable=({relationshipId:e,relationships:a,editable:n,customCells:o,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(l.useRelationshipsOrRelationshipsById(a),e),h=K([...A(m,u),...A(c,u)],o,n?Z:l.CellView),g=U(i,h,m,c,e,d,u);return b("table",{className:r},!1===s?null:b("thead",null,b("tr",null,!1===i?null:b(t.Fragment,null,b("th",null,m,".Id"),b("th",null,c,".Id")),x(h,(({label:e},t)=>b("th",{key:t},e))))),b("tbody",null,y(l.useRowIds(m,u),(e=>b(X,{key:e,localRowId:e,params:g})))))},e.ResultSortedTableInHtmlTable=({queryId:e,cellId:t,descending:a,offset:n,limit:o,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[c,h,g]=J(t,a,s,n,o,l.useResultRowCount(e,r),i,u);return b(Q,{...m,params:U(K(l.useResultTableCellIds(e,r),d,l.ResultCellView),G(r,e),l.useResultSortedRowIds(e,...c,o,r),c,h,g)})},e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:a,...n})=>b(Q,{...n,params:U(K(l.useResultTableCellIds(e,t),a,l.ResultCellView),G(t,e),l.useResultRowIds(e,t))}),e.SliceInHtmlTable=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(l.useIndexesOrIndexesById(a),e);return b(Q,{...r,params:U(K(l.useTableCellIds(d,i),o,n?Z:l.CellView),D(i,d),l.useSliceRowIds(e,t,s))})},e.SortedTableInHtmlTable=({tableId:e,cellId:t,descending:a,offset:n,limit:o,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...c})=>{const[h,g,p]=J(t,a,i,n,o,l.useRowCount(e,r),d,u);return b(Q,{...c,params:U(K(l.useTableCellIds(e,r),m,s?Z:l.CellView),D(r,e),l.useSortedRowIds(e,...h,o,r),h,g,p)})},e.SortedTablePaginator=ee,e.StoreInspector=e=>null,e.TableInHtmlTable=({tableId:e,store:t,editable:a,customCells:n,...o})=>b(Q,{...o,params:U(K(l.useTableCellIds(e,t),n,a?Z:l.CellView),D(t,e),l.useRowIds(e,t))}),e.ValuesInHtmlTable=({store:e,editable:t=!1,valueComponent:a=(t?_:l.ValueView),getValueComponentProps:n,className:o,headerRow:r,idColumn:i})=>b("table",{className:o},!1===r?null:b("thead",null,b("tr",null,!1===i?null:b("th",null,"Id"),b("th",null,s))),b("tbody",null,y(l.useValueIds(e),(t=>b("tr",{key:t},!1===i?null:b("th",null,t),b("td",null,b(a,{...I(n,t),valueId:t,store:e})))))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDom={},e.React,e.TinyBaseUiReact);
|
|
1
|
+
var e,t;e=this,t=function(e,t,l){"use strict";const a=e=>typeof e,n=a(""),o=a(!0),r=a(0),s="Value",i="currentTarget",d="value",u=isFinite,m=e=>null==e,{PureComponent:c,Fragment:h,createElement:b,useCallback:g,useLayoutEffect:p,useRef:w,useState:f}=t,I=(e,...t)=>m(e)?{}:e(...t),y=(e,t)=>e.map(t),C=Object,k=C.entries,v=(e=[])=>C.fromEntries(e),x=(e,t)=>y(k(e),(([e,l])=>t(l,e))),T="tinybaseStoreInspector",R="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",S='content:url("',N=S+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",V='</svg>")',z=S+"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\")",$=y([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,t,l,a])=>N+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${t}' width='${l}' height='${a}' fill='white'/>`+V)),M=N+"<path d='M20 20l60 60M20 80l60-60' />"+V,q=N+`<path d='${R}' />`+V,B=N+`<path d='${R}M20 20l60 60' />`+V,H="*::-webkit-scrollbar";((e,t="")=>{e.join(t)})(x({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[H]:"width:0.5rem;height:0.5rem;",[H+"-track"]:"background:#111",[H+"-thumb"]:"background:#999;border:1px solid #111",[H+"-thumb:hover"]:"background:#fff",[H+"-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;"+z,...v(y(["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;",...v(y(["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)":z,"header>img:nth-of-type(6)":M,...v(y($,((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":q,"details[open]>summary img.done":B,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,#${T} 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} ${t}{${e}}`:"")));const O=(e,t,l,a)=>e==n?t:e==r?l:a,{useCallback:F,useMemo:E,useState:P}=t,j="editable",A=(e,t)=>y(l.useTableCellIds(e,t),(t=>e+"."+t)),L=(e,t,l)=>{const a=F(e,t);return l?a:void 0},U=(...e)=>E((()=>e),e),D=(e,t)=>E((()=>({store:e,tableId:t})),[e,t]),G=(e,t)=>E((()=>({queries:e,queryId:t})),[e,t]),J=(e,t=!1,l,a=0,n,o,r,s)=>{const[[i,d,u],m]=P([e,t,a]),c=F((e=>{m(e),s?.(e)}),[s]),h=L((e=>c([e,e==i&&!d,u])),[c,i,d,u],l),g=F((e=>c([i,d,e])),[c,i,d]),p=!0===r?ee:r;return[[i,d,u],h,E((()=>!1===r?null:b(p,{offset:u,limit:n,total:o,onChange:g})),[r,p,u,n,o,g])]},K=(e,t,l)=>E((()=>{const o=t??e;return r=Array.isArray(o)?v(y(o,(e=>[e,e]))):o,s=(e,t)=>{return{label:t,component:l,...(o=e,a(o)==n?{label:e}:e)};var o},v(x(r,((e,t)=>[t,s(e,t)])));var r,s}),[t,l,e]),Q=({className:e,headerRow:t,idColumn:l,params:[a,n,o,r,s,i]})=>b("table",{className:e},i?b("caption",null,i):null,!1===t?null:b("thead",null,b("tr",null,!1===l?null:b(W,{sort:r??[],label:"Id",onClick:s}),x(a,(({label:e},t)=>b(W,{key:t,cellId:t,label:e,sort:r??[],onClick:s}))))),b("tbody",null,y(o,(e=>b("tr",{key:e},!1===l?null:b("th",null,e),x(a,(({component:t,getComponentProps:l},a)=>b("td",{key:a},b(t,{...I(l,e,a),...n,rowId:e,cellId:a}))))))))),W=({cellId:e,sort:[t,l],label:a=e??"",onClick:n})=>b("th",{onClick:L((()=>n?.(e)),[n,e],n),className:m(l)||t!=e?void 0:`sorted ${l?"de":"a"}scending`},m(l)||t!=e?null:(l?"↓":"↑")+" ",a),X=({localRowId:e,params:[a,n,o,r,s,i,d]})=>{const u=l.useRemoteRowId(s,e,i);return b("tr",null,!1===a?null:b(t.Fragment,null,b("th",null,e),b("th",null,u)),x(n,(({component:t,getComponentProps:l},a)=>{const[n,s]=a.split(".",2),i=n===o?e:n===r?u:null;return m(i)?null:b("td",{key:a},b(t,{...I(l,i,s),store:d,tableId:n,rowId:i,cellId:s}))})))},Y=({thing:e,onThingChange:t,className:l,hasSchema:s,showType:m=!0})=>{const[c,h]=P(),[g,p]=P(),[w,f]=P(),[I,y]=P(),[C,k]=P();g!==e&&(h((e=>{const t=a(e);return(e=>e==n||e==o)(t)||t==r&&u(e)?t:void 0})(e)),p(e),f(e+""),y(Number(e)||0),k(!!e));const v=F(((e,l)=>{l(e),p(e),t(e)}),[t]),x=F((()=>{if(!s?.()){const e=O(c,r,o,n),l=O(e,w,I,C);h(e),p(l),t(l)}}),[s,t,w,I,C,c]);return b("div",{className:l},m?b("button",{className:c,onClick:x},c):null,O(c,b("input",{key:c,value:w,onChange:F((e=>v(e[i][d]+"",f)),[v])}),b("input",{key:c,type:"number",value:I,onChange:F((e=>v(Number(e[i][d]||0),y)),[v])}),b("input",{key:c,type:"checkbox",checked:C,onChange:F((e=>v(!!e[i].checked,k)),[v])})))},Z=({tableId:e,rowId:t,cellId:a,store:n,className:o,showType:r})=>b(Y,{thing:l.useCell(e,t,a,n),onThingChange:l.useSetCellCallback(e,t,a,(e=>e),[],n),className:o??j+"Cell",showType:r,hasSchema:l.useStoreOrStoreById(n)?.hasTablesSchema}),_=({valueId:e,store:t,className:a,showType:n})=>b(Y,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:a??j+s,showType:n,hasSchema:l.useStoreOrStoreById(t)?.hasValuesSchema}),ee=({onChange:e,total:l,offset:a=0,limit:n=l,singular:o="row",plural:r=o+"s"})=>{(a>l||a<0)&&(a=0,e(0));const s=L((()=>e(a-n)),[e,a,n],a>0),i=L((()=>e(a+n)),[e,a,n],a+n<l);return b(t.Fragment,null,l>n&&b(t.Fragment,null,b("button",{className:"previous",disabled:0==a,onClick:s},"←"),b("button",{className:"next",disabled:a+n>=l,onClick:i},"→"),a+1," to ",Math.min(l,a+n)," of "),l," ",1!=l?r:o)},te=e=>new Map(e);te(),te(),e.EditableCellView=Z,e.EditableValueView=_,e.RelationshipInHtmlTable=({relationshipId:e,relationships:a,editable:n,customCells:o,className:r,headerRow:s,idColumn:i=!0})=>{const[d,u,m,c]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(l.useRelationshipsOrRelationshipsById(a),e),h=K([...A(m,u),...A(c,u)],o,n?Z:l.CellView),g=U(i,h,m,c,e,d,u);return b("table",{className:r},!1===s?null:b("thead",null,b("tr",null,!1===i?null:b(t.Fragment,null,b("th",null,m,".Id"),b("th",null,c,".Id")),x(h,(({label:e},t)=>b("th",{key:t},e))))),b("tbody",null,y(l.useRowIds(m,u),(e=>b(X,{key:e,localRowId:e,params:g})))))},e.ResultSortedTableInHtmlTable=({queryId:e,cellId:t,descending:a,offset:n,limit:o,queries:r,sortOnClick:s,paginator:i=!1,customCells:d,onChange:u,...m})=>{const[c,h,g]=J(t,a,s,n,o,l.useResultRowCount(e,r),i,u);return b(Q,{...m,params:U(K(l.useResultTableCellIds(e,r),d,l.ResultCellView),G(r,e),l.useResultSortedRowIds(e,...c,o,r),c,h,g)})},e.ResultTableInHtmlTable=({queryId:e,queries:t,customCells:a,...n})=>b(Q,{...n,params:U(K(l.useResultTableCellIds(e,t),a,l.ResultCellView),G(t,e),l.useResultRowIds(e,t))}),e.SliceInHtmlTable=({indexId:e,sliceId:t,indexes:a,editable:n,customCells:o,...r})=>{const[s,i,d]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(l.useIndexesOrIndexesById(a),e);return b(Q,{...r,params:U(K(l.useTableCellIds(d,i),o,n?Z:l.CellView),D(i,d),l.useSliceRowIds(e,t,s))})},e.SortedTableInHtmlTable=({tableId:e,cellId:t,descending:a,offset:n,limit:o,store:r,editable:s,sortOnClick:i,paginator:d=!1,onChange:u,customCells:m,...c})=>{const[h,g,p]=J(t,a,i,n,o,l.useRowCount(e,r),d,u);return b(Q,{...c,params:U(K(l.useTableCellIds(e,r),m,s?Z:l.CellView),D(r,e),l.useSortedRowIds(e,...h,o,r),h,g,p)})},e.SortedTablePaginator=ee,e.StoreInspector=e=>null,e.TableInHtmlTable=({tableId:e,store:t,editable:a,customCells:n,...o})=>b(Q,{...o,params:U(K(l.useTableCellIds(e,t),n,a?Z:l.CellView),D(t,e),l.useRowIds(e,t))}),e.ValuesInHtmlTable=({store:e,editable:t=!1,valueComponent:a=(t?_:l.ValueView),getValueComponentProps:n,className:o,headerRow:r,idColumn:i})=>b("table",{className:o},!1===r?null:b("thead",null,b("tr",null,!1===i?null:b("th",null,"Id"),b("th",null,s))),b("tbody",null,y(l.useValueIds(e),(t=>b("tr",{key:t},!1===i?null:b("th",null,t),b("td",null,b(a,{...I(n,t),valueId:t,store:e})))))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./ui-react")):"function"==typeof define&&define.amd?define(["exports","react","./ui-react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseUiReactDom={},e.React,e.TinyBaseUiReact);
|
|
Binary file
|