tinybase 4.6.0-beta.2 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  2. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  4. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  6. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  8. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  10. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  12. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  16. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  17. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  18. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  19. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  20. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  21. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  22. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  23. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  24. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  25. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  26. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  27. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  28. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  29. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  30. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  31. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  32. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  33. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  34. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  35. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  36. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  37. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +40 -26
  38. package/lib/debug/persisters/persister-electric-sql.js +40 -26
  39. package/lib/debug/persisters/persister-expo-sqlite-next.js +40 -26
  40. package/lib/debug/persisters/persister-expo-sqlite.js +40 -26
  41. package/lib/debug/persisters/persister-indexed-db.js +5 -2
  42. package/lib/debug/persisters/persister-remote.js +5 -2
  43. package/lib/debug/persisters/persister-sqlite-wasm.js +40 -26
  44. package/lib/debug/persisters/persister-sqlite3.js +40 -26
  45. package/lib/debug/ui-react-dom.js +1 -1
  46. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  47. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  48. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  49. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  50. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  51. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  52. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  53. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  54. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  55. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  56. package/lib/es6/persisters/persister-remote.js +1 -1
  57. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  58. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  59. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  60. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  61. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  62. package/lib/es6/ui-react-dom-debug.js +1 -1
  63. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  64. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  65. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  66. package/lib/persisters/persister-electric-sql.js +1 -1
  67. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  68. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  69. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  70. package/lib/persisters/persister-expo-sqlite.js +1 -1
  71. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  72. package/lib/persisters/persister-indexed-db.js +1 -1
  73. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  74. package/lib/persisters/persister-remote.js +1 -1
  75. package/lib/persisters/persister-remote.js.gz +0 -0
  76. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  77. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  78. package/lib/persisters/persister-sqlite3.js +1 -1
  79. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  80. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  81. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  82. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  83. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  84. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  85. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  86. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  87. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  88. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  89. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  90. package/lib/umd/persisters/persister-remote.js +1 -1
  91. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  92. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  93. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  94. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  95. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  96. package/lib/umd/ui-react-dom-debug.js +1 -1
  97. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  98. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  99. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  100. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  101. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  102. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  103. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  104. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  105. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  106. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  107. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  108. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  109. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  110. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  111. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  112. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  113. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  114. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  115. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  116. package/package.json +20 -19
  117. package/readme.md +13 -13
@@ -1 +1 @@
1
- "use strict";var e=require("react"),l=require("./ui-react");const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),a=t(t),i="type",u="default",d="Has",c="Ids",h="Table",m=h+"s",b=h+c,p="Row",v=p+"Count",g=p+c,I="Cell",f=I+c,y="Value",w=y+"s",C=y+c,x="currentTarget",k="value",T=e=>n+e,S=Math.floor,V=isFinite,R=e=>null==e,O=(e,l,t)=>R(e)?null==t?void 0:t():l(e),q=e=>e==s||e==r,P=e=>t(e)==a,N=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,{PureComponent:M,Fragment:j,createElement:z,useCallback:$,useLayoutEffect:A,useRef:F,useState:J}=e,H=(e,...l)=>R(e)?{}:e(...l),D=(e,l)=>e.forEach(l),B=(e,l)=>e.map(l),Q=e=>0==L(e),W=(e,...l)=>e.push(...l),G=e=>e.shift(),K=Object,U=e=>K.getPrototypeOf(e),X=K.keys,Y=K.isFrozen,Z=K.freeze,_=e=>!R(e)&&O(U(e),(e=>e==K.prototype||R(U(e))),(()=>!0)),ee=(e=[])=>K.fromEntries(e),le=(e,l)=>!R(((e,l)=>O(e,(e=>e[l])))(e,l)),te=(e,l)=>(delete e[l],e),ne=(e,l)=>B(K.entries(e),(([e,t])=>l(t,e))),se=e=>_(e)&&0==(e=>L(X(e)))(e),re=e=>JSON.stringify(e,((e,l)=>l instanceof Map?K.fromEntries([...l]):l)),oe=JSON.parse,ae="tinybaseStoreInspector",ie="TinyBase Store Inspector",ue=["left","top","bottom","right","full"],de="state",ce="sort",he="open",me="position",be=he,pe="editable",ve=(...e)=>re(e),ge=(e,l)=>B(e.sort(),l),Ie=(e,t)=>[!!l.useCell(de,e,pe,t),$((l=>{t.setCell(de,e,pe,(e=>!e)),l.preventDefault()}),[t,e])],fe="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",ye='content:url("',we=ye+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",Ce='</svg>")',xe=ye+"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\")",ke=B([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,l,t,n])=>we+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${l}' width='${t}' height='${n}' fill='white'/>`+Ce)),Te=we+"<path d='M20 20l60 60M20 80l60-60' />"+Ce,Se=we+`<path d='${fe}' />`+Ce,Ve=we+`<path d='${fe}M20 20l60 60' />`+Ce;var Re=Object.defineProperty,Oe=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,Pe=Object.getOwnPropertySymbols,Ne=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,Le=(e,l,t)=>l in e?Re(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Me=(e,l)=>{for(var t in l||(l={}))Ne.call(l,t)&&Le(e,t,l[t]);if(Pe)for(var t of Pe(l))Ee.call(l,t)&&Le(e,t,l[t]);return e},je=(e,l)=>Oe(e,qe(l));const ze="*::-webkit-scrollbar",$e=((e,l="")=>e.join(l))(ne(je(Me(je(Me(je(Me({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[ze]:"width:0.5rem;height:0.5rem;",[ze+"-track"]:"background:#111",[ze+"-thumb"]:"background:#999;border:1px solid #111",[ze+"-thumb:hover"]:"background:#fff",[ze+"-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},ee(B(["bottom:0;left:0","top:0;right:0"],((e,l)=>[`>img[data-position='${l}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),ee(B(["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,l)=>[`main[data-position='${l}']`,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)":Te}),ee(B(ke,((e,l)=>[`header>img[data-id='${l}']`,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":Se,"details[open]>summary img.done":Ve,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,#${ae} 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,l)=>e?`#${ae} ${l}{${e}}`:""))),Ae=({s:e})=>{var t;const n=null!=(t=l.useValue(me,e))?t:1,s=l.useSetValueCallback(be,(()=>!0),[],e);return l.useValue(be,e)?null:z("img",{onClick:s,title:ie,"data-position":n})},Fe=({uniqueId:e,summary:t,editable:n,handleEditable:s,children:r,s:o})=>{const a=!!l.useCell(de,e,he,o),i=l.useSetCellCallback(de,e,he,(e=>e[x].open),[],o);return z("details",{open:a,onToggle:i},z("summary",null,t,s?z("img",{onClick:s,className:n?"done":"edit"}):null),r)},Je=e=>{const l=t(e);return q(l)||l==o&&V(e)?l:void 0},He=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),De=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),Be=(e,l,t,n)=>e==s?l:e==o?t:n;var Qe=Object.defineProperty,We=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,Ye=(e,l,t)=>l in e?Qe(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,Ze=(e,l)=>{for(var t in l||(l={}))Ue.call(l,t)&&Ye(e,t,l[t]);if(Ke)for(var t of Ke(l))Xe.call(l,t)&&Ye(e,t,l[t]);return e},_e=(e,l)=>We(e,Ge(l)),el=(e,l)=>{var t={};for(var n in e)Ue.call(e,n)&&l.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&Ke)for(var n of Ke(e))l.indexOf(n)<0&&Xe.call(e,n)&&(t[n]=e[n]);return t};const{useCallback:ll,useMemo:tl,useState:nl}=e,sl="editable",rl=(e,t)=>B(l.useTableCellIds(e,t),(l=>e+"."+l)),ol=(e,l,t)=>{const n=ll(e,l);return t?n:void 0},al=(...e)=>tl((()=>e),e),il=(e,l)=>tl((()=>({store:e,tableId:l})),[e,l]),ul=(e,l)=>tl((()=>({queries:e,queryId:l})),[e,l]),dl=(e,l=!1,t,n=0,s,r,o,a)=>{const[[i,u,d],c]=nl([e,l,n]),h=ll((e=>{c(e),null==a||a(e)}),[a]),m=ol((e=>h([e,e==i&&!u,d])),[h,i,u,d],t),b=ll((e=>h([i,u,e])),[h,i,u]),p=!0===o?xl:o;return[[i,u,d],m,tl((()=>!1===o?null:z(p,{offset:d,limit:s,total:r,onChange:b})),[o,p,d,s,r,b])]},cl=(e,l,n)=>tl((()=>{const r=null!=l?l:e;return ee(ne(N(r)?ee(B(r,(e=>[e,e]))):r,((e,l)=>{return[l,Ze(Ze({},{label:l,component:n}),(r=e,t(r)==s?{label:e}:e))];var r})))}),[l,n,e]),hl=({className:e,headerRow:l,idColumn:t,params:[n,s,r,o,a,i]})=>z("table",{className:e},i?z("caption",null,i):null,!1===l?null:z("thead",null,z("tr",null,!1===t?null:z(ml,{sort:null!=o?o:[],label:"Id",onClick:a}),ne(n,(({label:e},l)=>z(ml,{key:l,cellId:l,label:e,sort:null!=o?o:[],onClick:a}))))),z("tbody",null,B(r,(e=>z("tr",{key:e},!1===t?null:z("th",null,e),ne(n,(({component:l,getComponentProps:t},n)=>z("td",{key:n},z(l,_e(Ze(Ze({},H(t,e,n)),s),{rowId:e,cellId:n})))))))))),ml=({cellId:e,sort:[l,t],label:s=(null!=e?e:n),onClick:r})=>z("th",{onClick:ol((()=>null==r?void 0:r(e)),[r,e],r),className:R(t)||l!=e?void 0:`sorted ${t?"de":"a"}scending`},R(t)||l!=e?null:(t?"↓":"↑")+" ",s),bl=({localRowId:t,params:[n,s,r,o,a,i,u]})=>{const d=l.useRemoteRowId(a,t,i);return z("tr",null,!1===n?null:z(e.Fragment,null,z("th",null,t),z("th",null,d)),ne(s,(({component:e,getComponentProps:l},n)=>{const[s,a]=n.split(".",2),i=s===r?t:s===o?d:null;return R(i)?null:z("td",{key:n},z(e,_e(Ze({},H(l,i,a)),{store:u,tableId:s,rowId:i,cellId:a})))})))},pl=({thing:e,onThingChange:l,className:t,hasSchema:n,showType:a=!0})=>{const[i,u]=nl(),[d,c]=nl(),[h,m]=nl(),[b,p]=nl(),[v,g]=nl();d!==e&&(u(Je(e)),c(e),m(e+""),p(Number(e)||0),g(!!e));const I=ll(((e,t)=>{t(e),c(e),l(e)}),[l]),f=ll((()=>{if(!(null==n?void 0:n())){const e=Be(i,o,r,s),t=Be(e,h,b,v);u(e),c(t),l(t)}}),[n,l,h,b,v,i]);return z("div",{className:t},a?z("button",{className:i,onClick:f},i):null,Be(i,z("input",{key:i,value:h,onChange:ll((e=>I(e[x][k]+"",m)),[I])}),z("input",{key:i,type:"number",value:b,onChange:ll((e=>I(Number(e[x][k]||0),p)),[I])}),z("input",{key:i,type:"checkbox",checked:v,onChange:ll((e=>I(!!e[x].checked,g)),[I])})))},vl=e=>{var t=e,{tableId:n,cellId:s,descending:r,offset:o,limit:a,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=t,b=el(t,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,v,g]=dl(s,r,d,o,a,l.useRowCount(n,i),c,h);return z(hl,_e(Ze({},b),{params:al(cl(l.useTableCellIds(n,i),m,u?wl:l.CellView),il(i,n),l.useSortedRowIds(n,...p,a,i),p,v,g)}))},gl=({store:e,editable:t=!1,valueComponent:n=(t?Cl:l.ValueView),getValueComponentProps:s,className:r,headerRow:o,idColumn:a})=>z("table",{className:r},!1===o?null:z("thead",null,z("tr",null,!1===a?null:z("th",null,"Id"),z("th",null,y))),z("tbody",null,B(l.useValueIds(e),(l=>z("tr",{key:l},!1===a?null:z("th",null,l),z("td",null,z(n,_e(Ze({},H(s,l)),{valueId:l,store:e})))))))),Il=e=>{var t=e,{indexId:n,sliceId:s,indexes:r,editable:o,customCells:a}=t,i=el(t,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(l)])(l.useIndexesOrIndexesById(r),n);return z(hl,_e(Ze({},i),{params:al(cl(l.useTableCellIds(c,d),a,o?wl:l.CellView),il(d,c),l.useSliceRowIds(n,s,u))}))},fl=({relationshipId:t,relationships:n,editable:s,customCells:r,className:o,headerRow:a,idColumn:i=!0})=>{const[u,d,c,h]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(l),null==e?void 0:e.getRemoteTableId(l)])(l.useRelationshipsOrRelationshipsById(n),t),m=cl([...rl(c,d),...rl(h,d)],r,s?wl:l.CellView),b=al(i,m,c,h,t,u,d);return z("table",{className:o},!1===a?null:z("thead",null,z("tr",null,!1===i?null:z(e.Fragment,null,z("th",null,c,".Id"),z("th",null,h,".Id")),ne(m,(({label:e},l)=>z("th",{key:l},e))))),z("tbody",null,B(l.useRowIds(c,d),(e=>z(bl,{key:e,localRowId:e,params:b})))))},yl=e=>{var t=e,{queryId:n,cellId:s,descending:r,offset:o,limit:a,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=t,m=el(t,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,v]=dl(s,r,u,o,a,l.useResultRowCount(n,i),d,h);return z(hl,_e(Ze({},m),{params:al(cl(l.useResultTableCellIds(n,i),c,l.ResultCellView),ul(i,n),l.useResultSortedRowIds(n,...b,a,i),b,p,v)}))},wl=({tableId:e,rowId:t,cellId:n,store:s,className:r,showType:o})=>{var a;return z(pl,{thing:l.useCell(e,t,n,s),onThingChange:l.useSetCellCallback(e,t,n,(e=>e),[],s),className:null!=r?r:sl+I,showType:o,hasSchema:null==(a=l.useStoreOrStoreById(s))?void 0:a.hasTablesSchema})},Cl=({valueId:e,store:t,className:n,showType:s})=>{var r;return z(pl,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:null!=n?n:sl+y,showType:s,hasSchema:null==(r=l.useStoreOrStoreById(t))?void 0:r.hasValuesSchema})},xl=({onChange:l,total:t,offset:n=0,limit:s=t,singular:r="row",plural:o=r+"s"})=>{(n>t||n<0)&&(n=0,l(0));const a=ol((()=>l(n-s)),[l,n,s],n>0),i=ol((()=>l(n+s)),[l,n,s],n+s<t);return z(e.Fragment,null,t>s&&z(e.Fragment,null,z("button",{className:"previous",disabled:0==n,onClick:a},"←"),z("button",{className:"next",disabled:n+s>=t,onClick:i},"→"),n+1," to ",Math.min(t,n+s)," of "),t," ",1!=t?o:r)},kl=({indexes:e,indexesId:t,indexId:n,s:s})=>z(Fe,{uniqueId:ve("i",t,n),summary:"Index: "+n,s:s},B(l.useSliceIds(n,e),(l=>z(Tl,{indexes:e,indexesId:t,indexId:n,sliceId:l,s:s,key:l})))),Tl=({indexes:e,indexesId:l,indexId:t,sliceId:n,s:s})=>{const r=ve("i",l,t,n),[o,a]=Ie(r,s);return z(Fe,{uniqueId:r,summary:"Slice: "+n,editable:o,handleEditable:a,s:s},z(Il,{sliceId:n,indexId:t,indexes:e,editable:o}))},Sl=({indexesId:e,s:t})=>{const n=l.useIndexes(e),s=l.useIndexIds(n);return R(n)?null:z(Fe,{uniqueId:ve("i",e),summary:"Indexes: "+(null!=e?e:u),s:t},Q(s)?"No indexes defined":ge(s,(l=>z(kl,{indexes:n,indexesId:e,indexId:l,s:t,key:l}))))},Vl=({metrics:e,metricId:t})=>z("tr",null,z("th",null,t),z("td",null,null==e?void 0:e.getTableId(t)),z("td",null,l.useMetric(t,e))),Rl=({metricsId:e,s:t})=>{const n=l.useMetrics(e),s=l.useMetricIds(n);return R(n)?null:z(Fe,{uniqueId:ve("m",e),summary:"Metrics: "+(null!=e?e:u),s:t},Q(s)?"No metrics defined":z("table",null,z("thead",null,z("th",null,"Metric Id"),z("th",null,"Table Id"),z("th",null,"Metric")),z("tbody",null,B(s,(e=>z(Vl,{metrics:n,metricId:e,key:e}))))))},Ol=({queries:e,queriesId:t,queryId:n,s:s})=>{var r;const o=ve("q",t,n),[a,i,u]=oe(null!=(r=l.useCell(de,o,ce,s))?r:"[]"),d=l.useSetCellCallback(de,o,ce,re,[],s);return z(Fe,{uniqueId:o,summary:"Query: "+n,s:s},z(yl,{queryId:n,queries:e,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},ql=({queriesId:e,s:t})=>{const n=l.useQueries(e),s=l.useQueryIds(n);return R(n)?null:z(Fe,{uniqueId:ve("q",e),summary:"Queries: "+(null!=e?e:u),s:t},Q(s)?"No queries defined":ge(s,(l=>z(Ol,{queries:n,queriesId:e,queryId:l,s:t,key:l}))))},Pl=({relationships:e,relationshipsId:l,relationshipId:t,s:n})=>{const s=ve("r",l,t),[r,o]=Ie(s,n);return z(Fe,{uniqueId:s,summary:"Relationship: "+t,editable:r,handleEditable:o,s:n},z(fl,{relationshipId:t,relationships:e,editable:r}))},Nl=({relationshipsId:e,s:t})=>{const n=l.useRelationships(e),s=l.useRelationshipIds(n);return R(n)?null:z(Fe,{uniqueId:ve("r",e),summary:"Relationships: "+(null!=e?e:u),s:t},Q(s)?"No relationships defined":ge(s,(l=>z(Pl,{relationships:n,relationshipsId:e,relationshipId:l,s:t,key:l}))))},El=({tableId:e,store:t,storeId:n,s:s})=>{var r;const o=ve("t",n,e),[a,i,u]=oe(null!=(r=l.useCell(de,o,ce,s))?r:"[]"),d=l.useSetCellCallback(de,o,ce,re,[],s),[c,m]=Ie(o,s);return z(Fe,{uniqueId:o,summary:h+": "+e,editable:c,handleEditable:m,s:s},z(vl,{tableId:e,store:t,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:c}))},Ll=({store:e,storeId:t,s:n})=>{const s=ve("v",t),[r,o]=Ie(s,n);return Q(l.useValueIds(e))?null:z(Fe,{uniqueId:s,summary:w,editable:r,handleEditable:o,s:n},z(gl,{store:e,editable:r}))},Ml=({storeId:e,s:t})=>{const n=l.useStore(e),s=l.useTableIds(n);return R(n)?null:z(Fe,{uniqueId:ve("s",e),summary:"Store: "+(null!=e?e:u),s:t},z(Ll,{storeId:e,store:n,s:t}),ge(s,(l=>z(El,{store:n,storeId:e,tableId:l,s:t,key:l}))))},jl=({s:e})=>{const t=F(null),n=F(0),[s,r]=J(!1),{scrollLeft:o,scrollTop:a}=l.useValues(e);A((()=>{const e=t.current;if(e&&!s){const l=new MutationObserver((()=>{e.scrollWidth>=S(o)+e.clientWidth&&e.scrollHeight>=S(a)+e.clientHeight&&e.scrollTo(o,a)}));return l.observe(e,{childList:!0,subtree:!0}),()=>l.disconnect()}}),[s,o,a]);const i=$((l=>{const{scrollLeft:t,scrollTop:s}=l[x];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:t,scrollTop:s})}))}),[e]),u=l.useStore(),d=l.useStoreIds(),c=l.useMetrics(),h=l.useMetricsIds(),m=l.useIndexes(),b=l.useIndexesIds(),p=l.useRelationships(),v=l.useRelationshipsIds(),g=l.useQueries(),I=l.useQueriesIds();return R(u)&&Q(d)&&R(c)&&Q(h)&&R(m)&&Q(b)&&R(p)&&Q(v)&&R(g)&&Q(I)?z("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):z("article",{ref:t,onScroll:i},z(Ml,{s:e}),B(d,(l=>z(Ml,{storeId:l,s:e,key:l}))),z(Rl,{s:e}),B(h,(l=>z(Rl,{metricsId:l,s:e,key:l}))),z(Sl,{s:e}),B(b,(l=>z(Sl,{indexesId:l,s:e,key:l}))),z(Nl,{s:e}),B(v,(l=>z(Nl,{relationshipsId:l,s:e,key:l}))),z(ql,{s:e}),B(I,(l=>z(ql,{queriesId:l,s:e,key:l}))))};class zl extends M{constructor(e){super(e),this.componentDidCatch=(e,l)=>console.error(e,l.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?z("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const $l=({s:e})=>{var t;const n=null!=(t=l.useValue(me,e))?t:1,s=l.useSetValueCallback(be,(()=>!1),[],e),r=l.useSetValueCallback(me,(e=>Number(e[x].dataset.id)),[],e);return z("header",null,z("img",{title:ie}),z("span",null,ie),B(ue,((e,l)=>l==n?null:z("img",{onClick:r,"data-id":l,title:"Dock to "+e,key:l}))),z("img",{onClick:s,title:"Close"}))},Al=({s:e})=>{var t;const n=null!=(t=l.useValue(me,e))?t:1;return l.useValue(be,e)?z("main",{"data-position":n},z($l,{s:e}),z(zl,null,z(jl,{s:e}))):null},Fl=e=>l=>{return t=(l,t)=>l+e(t),Gl(l).reduce(t,0);var t},Jl=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},Hl=Fl(Jl),Dl=Fl(Hl),Bl=Fl(Dl),Ql=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Wl=e=>R(e)||0==Jl(e),Gl=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},Kl=e=>e.clear(),Ul=(e,l)=>null==e?void 0:e.forEach(l),Xl=(e,l)=>null==e?void 0:e.delete(l),Yl=e=>new Map(e),Zl=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},_l=(e,l)=>null==e?void 0:e.get(l),et=(e,l)=>Ul(e,((e,t)=>l(t,e))),lt=(e,l,t)=>R(t)?(Xl(e,l),e):null==e?void 0:e.set(l,t),tt=(e,l,t)=>(Ql(e,l)||lt(e,l,t()),_l(e,l)),nt=(e,l,t,n=lt)=>(ne(l,((l,n)=>t(e,n,l))),et(e,(t=>le(l,t)?0:n(e,t))),e),st=(e,l,t)=>{const n={};return Ul(e,((e,s)=>{const r=l?l(e,s):e;!(null==t?void 0:t(r,e))&&(n[s]=r)})),n},rt=(e,l,t)=>st(e,(e=>st(e,l,t)),se),ot=(e,l,t)=>st(e,(e=>rt(e,l,t)),se),at=(e,l)=>{const t=Yl();return Ul(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},it=e=>at(e,at),ut=e=>at(e,it),dt=(e,l,t,n,s=0)=>O((t?tt:_l)(e,l[s],s>L(l)-2?t:Yl),(r=>{if(s>L(l)-2)return(null==n?void 0:n(r))&&lt(e,l[s]),r;const o=dt(r,l,t,n,s+1);return Wl(r)&&lt(e,l[s]),o}));var ct=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const ht=Yl(),mt=Yl();var bt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const pt="storage",vt=globalThis.window,gt=e=>new Set(N(e)||R(e)?e:[e]),It=(e,l)=>null==e?void 0:e.add(l),ft=/^\d+$/,yt=()=>{const e=[];let l=0;return[t=>{var s;return null!=(s=t?G(e):null)?s:n+l++},l=>{ft.test(l)&&L(e)<1e3&&W(e,l)}]},wt=e=>[e,e],Ct=(e,l=Hl)=>l(e[0])+l(e[1]),xt=()=>[Yl(),Yl()],kt=e=>[...e],Tt=([e,l])=>e===l,St=(e,l,t)=>R(e)||!_(e)||se(e)||Y(e)?(null==t||t(),!1):(ne(e,((t,n)=>{l(t,n)||te(e,n)})),!se(e)),Vt=(e,l,t)=>lt(e,l,_l(e,l)==-t?void 0:t),Rt=()=>{let e,l,t=!1,s=!1,r=!1,a=!1,c=0;const x=Yl(),k=Yl(),S=Yl(),V=Yl(),N=Yl(),M=Yl(),j=Yl(),z=Yl(),$=Yl(),A=Yl(),F=Yl(),J=Yl(),H=Yl(),Q=Yl(),G=gt(),K=Yl(),U=Yl(),X=Yl(),Y=Yl(),_=xt(),ee=xt(),ae=xt(),ie=xt(),ue=xt(),de=xt(),ce=xt(),he=xt(),me=xt(),be=xt(),pe=xt(),ve=xt(),ge=xt(),Ie=xt(),fe=xt(),ye=xt(),we=xt(),Ce=xt(),xe=xt(),ke=xt(),Te=xt(),Se=xt(),Ve=Yl(),Re=xt(),[Oe,qe,Pe,Ne]=(e=>{let l;const[t,s]=yt(),r=Yl();return[(e,s,o,a=[],i=(()=>[]))=>{null!=l||(l=zt);const u=t(1);return lt(r,u,[e,s,o,a,i]),It(dt(s,null!=o?o:[n],gt),u),u},(e,t,...s)=>D(((e,l=[n])=>{const t=[],s=(e,n)=>n==L(l)?W(t,e):null===l[n]?Ul(e,(e=>s(e,n+1))):D([l[n],null],(l=>s(_l(e,l),n+1)));return s(e,0),t})(e,t),(e=>Ul(e,(e=>_l(r,e)[0](l,...null!=t?t:[],...s))))),e=>O(_l(r,e),(([,l,t])=>(dt(l,null!=t?t:[n],void 0,(l=>(Xl(l,e),Wl(l)?1:0))),lt(r,e),s(e),t))),e=>O(_l(r,e),(([e,,t=[],n,s])=>{const r=(...o)=>{var a,i;const u=L(o);u==L(t)?e(l,...o,...s(o)):R(t[u])?D(null!=(i=null==(a=n[u])?void 0:a.call(n,...o))?i:[],(e=>r(...o,e))):r(...o,t[u])};r()}))]})(),Ee=e=>{if(!St(e,((e,l)=>[i,u].includes(l))))return!1;const l=e[i];return!(!q(l)&&l!=o||(Je(e[u])!=l&&te(e,u),0))},Le=(l,t)=>(!e||Ql(F,t)||ml(t))&&St(l,((e,l)=>Me(t,l,e)),(()=>ml(t))),Me=(e,l,t,n)=>St(n?t:Ae(t,e,l),((n,s)=>O(je(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>ml(e,l))),je=(l,t,n,s)=>e?O(_l(_l(F,l),n),(e=>Je(s)!=e[i]?ml(l,t,n,s,e[u]):s),(()=>ml(l,t,n,s))):R(Je(s))?ml(l,t,n,s):s,ze=(e,l)=>St(l?e:Fe(e),((l,t)=>O($e(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>bl())),$e=(e,t)=>l?O(_l(H,e),(l=>Je(t)!=l[i]?bl(e,t,l[u]):t),(()=>bl(e,t))):R(Je(t))?bl(e,t):t,Ae=(e,l,t)=>(O(_l(J,l),(([n,s])=>{Ul(n,((l,t)=>{le(e,t)||(e[t]=l)})),Ul(s,(n=>{le(e,n)||ml(l,t,n)}))})),e),Fe=e=>(l&&(Ul(Q,((l,t)=>{le(e,t)||(e[t]=l)})),Ul(G,(l=>{le(e,l)||bl(l)}))),e),Be=e=>nt(F,e,((e,l,t)=>{const n=Yl(),s=gt();nt(tt(F,l,Yl),t,((e,l,t)=>{lt(e,l,t),O(t[u],(e=>lt(n,l,e)),(()=>It(s,l)))})),lt(J,l,[n,s])}),((e,l)=>{lt(F,l),lt(J,l)})),Qe=e=>nt(H,e,((e,l,t)=>{lt(H,l,t),O(t[u],(e=>lt(Q,l,e)),(()=>It(G,l)))}),((e,l)=>{lt(H,l),lt(Q,l),Xl(G,l)})),We=e=>se(e)?ft():ht(e),Ge=e=>nt(X,e,((e,l,t)=>Ke(l,t)),((e,l)=>nl(l))),Ke=(e,l)=>nt(tt(X,e,(()=>(al(e,1),lt(K,e,yt()),lt(U,e,Yl()),Yl()))),l,((l,t,n)=>Ue(e,l,t,n)),((l,t)=>sl(e,l,t))),Ue=(e,l,t,n,s)=>nt(tt(l,t,(()=>(il(e,t,1),Yl()))),n,((l,n,s)=>Xe(e,t,l,n,s)),((n,r)=>rl(e,l,t,n,r,s))),Xe=(e,l,t,n,s)=>{Ql(t,n)||ul(e,l,n,1);const r=_l(t,n);s!==r&&(dl(e,l,n,r,s),lt(t,n,s))},Ye=(e,l,t,n,s)=>O(_l(l,t),(l=>Xe(e,t,l,n,s)),(()=>Ue(e,l,t,Ae({[n]:s},e,t)))),Ze=e=>se(e)?Pt():mt(e),_e=e=>nt(Y,e,((e,l,t)=>el(l,t)),((e,l)=>ol(l))),el=(e,l)=>{Ql(Y,e)||cl(e,1);const t=_l(Y,e);l!==t&&(hl(e,t,l),lt(Y,e,l))},ll=(e,l)=>{const[t]=_l(K,e),n=t(l);return Ql(_l(X,e),n)?ll(e,l):n},tl=e=>{var l;return null!=(l=_l(X,e))?l:Ke(e,{})},nl=e=>Ke(e,{}),sl=(e,l,t)=>{const[,n]=_l(K,e);n(t),Ue(e,l,t,{},!0)},rl=(e,l,t,n,s,r)=>{var o;const a=_l(null==(o=_l(J,e))?void 0:o[0],s);if(!R(a)&&!r)return Xe(e,t,n,s,a);const i=l=>{dl(e,t,l,_l(n,l)),ul(e,t,l,-1),lt(n,l)};R(a)?i(s):et(n,i),Wl(n)&&(il(e,t,-1),Wl(lt(l,t))&&(al(e,-1),lt(X,e),lt(K,e),lt(U,e)))},ol=e=>{const l=_l(Q,e);if(!R(l))return el(e,l);hl(e,_l(Y,e)),cl(e,-1),lt(Y,e)},al=(e,l)=>Vt(x,e,l),il=(e,l,t)=>Vt(tt(V,e,Yl),l,t)&&lt(S,e,tt(S,e,(()=>0))+t),ul=(e,l,t,n)=>{var s;const r=_l(U,e),o=null!=(s=_l(r,t))?s:0;(0==o&&1==n||1==o&&-1==n)&&Vt(tt(k,e,Yl),t,n),lt(r,t,o!=-n?o+n:null),Vt(tt(tt(N,e,Yl),l,Yl),t,n)},dl=(e,l,t,n,s)=>tt(tt(tt(M,e,Yl),l,Yl),t,(()=>[n,0]))[1]=s,cl=(e,l)=>Vt(j,e,l),hl=(e,l,t)=>tt(z,e,(()=>[l,0]))[1]=t,ml=(e,l,t,n,s)=>(W(tt(tt(tt($,e,Yl),l,Yl),t,(()=>[])),n),s),bl=(e,l,t)=>(W(tt(A,e,(()=>[])),l),t),pl=(e,l,t)=>O(_l(_l(_l(M,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(Nl(e,l,t))])),vl=e=>O(_l(z,e),(([e,l])=>[!0,e,l]),(()=>[!1,...wt(Ml(e))])),gl=e=>Wl($)||Wl(ye[e])?0:Ul(e?ut($):$,((l,t)=>Ul(l,((l,n)=>Ul(l,((l,s)=>qe(ye[e],[t,n,s],l))))))),Il=e=>Wl(A)||Wl(we[e])?0:Ul(e?at(A):A,((l,t)=>qe(we[e],[t],l))),fl=(e,l,t,n)=>{if(!Wl(e))return qe(l,n,(()=>st(e))),et(e,((e,l)=>qe(t,[...null!=n?n:[],e],1==l))),1},yl=e=>{const l=jl();l!=r&&qe(_[e],void 0,l);const t=Wl(be[e]),n=Wl(ge[e])&&Wl(Ie[e])&&Wl(me[e])&&Wl(pe[e])&&Wl(de[e])&&Wl(ce[e])&&Wl(he[e])&&t&&Wl(ae[e])&&Wl(ie[e]),s=Wl(fe[e])&&Wl(ve[e])&&Wl(ue[e])&&Wl(ee[e]);if(!n||!s){const l=e?[at(x),it(k),at(S),it(V),ut(N),ut(M)]:[x,k,S,V,N,M];if(!n){fl(l[0],ae[e],ie[e]),Ul(l[1],((l,t)=>fl(l,de[e],ce[e],[t]))),Ul(l[2],((l,t)=>{0!=l&&qe(he[e],[t],Rl(t))}));const n=gt();Ul(l[3],((l,s)=>{fl(l,me[e],pe[e],[s])&&!t&&(qe(be[e],[s,null]),It(n,s))})),t||Ul(l[5],((l,t)=>{if(!Ql(n,t)){const n=gt();Ul(l,(e=>Ul(e,(([l,t],s)=>t!==l?It(n,s):Xl(e,s))))),Ul(n,(l=>qe(be[e],[t,l])))}})),Ul(l[4],((l,t)=>Ul(l,((l,n)=>fl(l,ge[e],Ie[e],[t,n])))))}if(!s){let t;Ul(l[5],((l,n)=>{let s;Ul(l,((l,r)=>{let o;Ul(l,(([l,a],i)=>{a!==l&&(qe(fe[e],[n,r,i],a,l,pl),t=s=o=1)})),o&&qe(ve[e],[n,r],pl)})),s&&qe(ue[e],[n],pl)})),t&&qe(ee[e],void 0,pl)}}},wl=e=>{const l=Gl();l!=a&&qe(Ce[e],void 0,l);const t=Wl(ke[e])&&Wl(Te[e]),n=Wl(Se[e])&&Wl(xe[e]);if(!t||!n){const l=e?[at(j),at(z)]:[j,z];if(t||fl(l[0],ke[e],Te[e]),!n){let t;Ul(l[1],(([l,n],s)=>{n!==l&&(qe(Se[e],[s],n,l,vl),t=1)})),t&&qe(xe[e],void 0,vl)}}},Cl=(e,...l)=>(Lt((()=>e(...B(l,T)))),zt),xl=()=>[st(M,((e,l)=>-1===_l(x,l)?null:st(e,((e,t)=>-1===_l(_l(V,l),t)?null:st(e,(([,e])=>null!=e?e:null),((e,l)=>Tt(l)))),se)),se),st(z,(([,e])=>null!=e?e:null),((e,l)=>Tt(l)))],kl=()=>({cellsTouched:t,valuesTouched:s,changedCells:ot(M,kt,Tt),invalidCells:ot($),changedValues:st(z,kt,Tt),invalidValues:st(A),changedTableIds:st(x),changedRowIds:rt(V),changedCellIds:ot(N),changedValueIds:st(j)}),Tl=()=>ot(X),Sl=()=>Zl(X),Vl=e=>Zl(_l(U,T(e))),Rl=e=>Jl(_l(X,T(e))),Ol=e=>Zl(_l(X,T(e))),ql=(e,l,t,n=0,s)=>{return B(E((o=_l(X,T(e)),a=(e,t)=>[R(l)?t:_l(e,T(l)),t],r=([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s},B([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,l])=>a(l,e))).sort(r)),n,R(s)?s:n+s),(([,e])=>e));var r,o,a,i},Pl=(e,l)=>Zl(_l(_l(X,T(e)),T(l))),Nl=(e,l,t)=>_l(_l(_l(X,T(e)),T(l)),T(t)),El=()=>st(Y),Ll=()=>Zl(Y),Ml=e=>_l(Y,T(e)),jl=()=>!Wl(X),zl=e=>Ql(X,T(e)),$l=(e,l)=>Ql(_l(U,T(e)),T(l)),Al=(e,l)=>Ql(_l(X,T(e)),T(l)),Fl=(e,l,t)=>Ql(_l(_l(X,T(e)),T(l)),T(t)),Gl=()=>!Wl(Y),ct=e=>Ql(Y,T(e)),ht=e=>Cl((()=>(e=>St(e,Le,ml))(e)?Ge(e):0)),mt=e=>Cl((()=>ze(e)?_e(e):0)),bt=e=>{try{We(oe(e))}catch(e){}return zt},pt=l=>Cl((()=>{if((e=St(l,(e=>St(e,Ee))))&&(Be(l),!Wl(X))){const e=Tl();ft(),ht(e)}})),vt=e=>Cl((()=>{if(l=(e=>St(e,Ee))(e)){const t=El();Et(),Pt(),l=!0,Qe(e),mt(t)}})),ft=()=>Cl((()=>Ge({}))),Ot=e=>Cl((e=>Ql(X,e)?nl(e):0),e),qt=(e,l)=>Cl(((e,l)=>O(_l(X,e),(t=>Ql(t,l)?sl(e,t,l):0))),e,l),Pt=()=>Cl((()=>_e({}))),Nt=()=>Cl((()=>{Be({}),e=!1})),Et=()=>Cl((()=>{Qe({}),l=!1})),Lt=(e,l)=>{if(-1!=c){Mt();const t=e();return jt(l),t}},Mt=()=>(-1!=c&&c++,1==c&&qe(Ve,void 0,xl,kl),zt),jt=e=>(c>0&&(c--,0==c&&(t=!Wl(M),s=!Wl(z),c=1,gl(1),t&&yl(1),Il(1),s&&wl(1),(null==e?void 0:e(xl,kl))&&(Ul(M,((e,l)=>Ul(e,((e,t)=>Ul(e,(([e],n)=>He(zt,l,t,n,e))))))),Ul(z,(([e],l)=>De(zt,l,e))),t=s=!1),qe(Re[0],void 0,xl,kl),c=-1,gl(0),t&&yl(0),Il(0),s&&wl(0),qe(Re[1],void 0,xl,kl),c=0,t=s=!1,r=jl(),a=Gl(),D([x,k,S,V,N,M,$,j,z,A],Kl))),zt),zt={getContent:()=>[Tl(),El()],getTables:Tl,getTableIds:Sl,getTable:e=>rt(_l(X,T(e))),getTableCellIds:Vl,getRowCount:Rl,getRowIds:Ol,getSortedRowIds:ql,getRow:(e,l)=>st(_l(_l(X,T(e)),T(l))),getCellIds:Pl,getCell:Nl,getValues:El,getValueIds:Ll,getValue:Ml,hasTables:jl,hasTable:zl,hasTableCell:$l,hasRow:Al,hasCell:Fl,hasValues:Gl,hasValue:ct,getTablesJson:()=>re(X),getValuesJson:()=>re(Y),getJson:()=>re([X,Y]),getTablesSchemaJson:()=>re(F),getValuesSchemaJson:()=>re(H),getSchemaJson:()=>re([F,H]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>Cl((()=>{(se(e)?ft:ht)(e),(se(l)?Pt:mt)(l)})),setTables:ht,setTable:(e,l)=>Cl((e=>Le(l,e)?Ke(e,l):0),e),setRow:(e,l,t)=>Cl(((e,l)=>Me(e,l,t)?Ue(e,tl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Lt((()=>{let n;return Me(e,n,l)&&(e=T(e),Ue(e,tl(e),n=ll(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Cl(((e,l)=>{if(Me(e,l,t,1)){const n=tl(e);ne(t,((t,s)=>Ye(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Cl(((e,l,t)=>O(je(e,l,t,P(n)?n(Nl(e,l,t)):n),(n=>Ye(e,tl(e),l,t,n)))),e,l,t),setValues:mt,setPartialValues:e=>Cl((()=>ze(e,1)?ne(e,((e,l)=>el(l,e))):0)),setValue:(e,l)=>Cl((e=>O($e(e,P(l)?l(Ml(e)):l),(l=>el(e,l)))),e),setTransactionChanges:e=>Cl((()=>{ne(e[0],((e,l)=>R(e)?Ot(l):ne(e,((e,t)=>R(e)?qt(l,t):ne(e,((e,n)=>He(zt,l,t,n,e))))))),ne(e[1],((e,l)=>De(zt,l,e)))})),setTablesJson:bt,setValuesJson:e=>{try{Ze(oe(e))}catch(e){}return zt},setJson:e=>Cl((()=>{try{const[l,t]=oe(e);We(l),Ze(t)}catch(l){bt(e)}})),setTablesSchema:pt,setValuesSchema:vt,setSchema:(e,l)=>Cl((()=>{pt(e),vt(l)})),delTables:ft,delTable:Ot,delRow:qt,delCell:(e,l,t,n)=>Cl(((e,l,t)=>O(_l(X,e),(s=>O(_l(s,l),(r=>Ql(r,t)?rl(e,s,l,r,t,n):0))))),e,l,t),delValues:Pt,delValue:e=>Cl((e=>Ql(Y,e)?ol(e):0),e),delTablesSchema:Nt,delValuesSchema:Et,delSchema:()=>Cl((()=>{Nt(),Et()})),transaction:Lt,startTransaction:Mt,finishTransaction:jt,forEachTable:e=>Ul(X,((l,t)=>e(t,(e=>Ul(l,((l,t)=>e(t,(e=>et(l,e))))))))),forEachTableCell:(e,l)=>et(_l(U,T(e)),l),forEachRow:(e,l)=>Ul(_l(X,T(e)),((e,t)=>l(t,(l=>et(e,l))))),forEachCell:(e,l,t)=>et(_l(_l(X,T(e)),T(l)),t),forEachValue:e=>et(Y,e),addSortedRowIdsListener:(e,l,t,n,s,r,o)=>{let a=ql(e,l,t,n,s);return Oe((()=>{const o=ql(e,l,t,n,s);var i,u,d;u=a,L(i=o)===L(u)&&(d=(e,l)=>u[l]===e,i.every(d))||(a=o,r(zt,e,l,t,n,s,a))}),be[o?1:0],[e,l],[Sl])},addStartTransactionListener:e=>Oe(e,Ve),addWillFinishTransactionListener:e=>Oe(e,Re[0]),addDidFinishTransactionListener:e=>Oe(e,Re[1]),callListener:e=>(Ne(e),zt),delListener:e=>(Pe(e),zt),getListenerStats:()=>({hasTables:Ct(_),tables:Ct(ee),tableIds:Ct(ae),hasTable:Ct(ie),table:Ct(ue),tableCellIds:Ct(de),hasTableCell:Ct(ce,Dl),rowCount:Ct(he),rowIds:Ct(me),sortedRowIds:Ct(be),hasRow:Ct(pe,Dl),row:Ct(ve,Dl),cellIds:Ct(ge,Dl),hasCell:Ct(Ie,Bl),cell:Ct(fe,Bl),invalidCell:Ct(ye,Bl),hasValues:Ct(Ce),values:Ct(xe),valueIds:Ct(ke),hasValue:Ct(Te),value:Ct(Se),invalidValue:Ct(we),transaction:Hl(Ve)+Ct(Re)}),createStore:Rt,addListener:Oe,callListeners:qe};return ne({[d+m]:[0,_,[],()=>[jl()]],[m]:[0,ee],[b]:[0,ae],[d+h]:[1,ie,[Sl],e=>[zl(...e)]],[h]:[1,ue,[Sl]],[h+f]:[1,de,[Sl]],[d+h+I]:[2,ce,[Sl,Vl],e=>[$l(...e)]],[v]:[1,he,[Sl]],[g]:[1,me,[Sl]],[d+p]:[2,pe,[Sl,Ol],e=>[Al(...e)]],[p]:[2,ve,[Sl,Ol]],[f]:[2,ge,[Sl,Ol]],[d+I]:[3,Ie,[Sl,Ol,Pl],e=>[Fl(...e)]],[I]:[3,fe,[Sl,Ol,Pl],e=>wt(Nl(...e))],InvalidCell:[3,ye],[d+w]:[0,Ce,[],()=>[Gl()]],[w]:[0,xe],[C]:[0,ke],[d+y]:[1,Te,[Ll],e=>[ct(...e)]],[y]:[1,Se,[Ll],e=>wt(Ml(e[0]))],InvalidValue:[1,we]},(([e,l,t,n],s)=>{zt["add"+s+"Listener"]=(...s)=>Oe(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),Z(zt)},Ot=({position:e="right",open:t=!1})=>{const n=l.useCreateStore(Rt),s=ue.indexOf(e);return l.useCreatePersister(n,(e=>{return((e,l,t,n)=>((e,l,t,n,s,r,[o,a]=[],i=[])=>{let u,d,c,h=0,m=0,b=0,p=0;tt(ht,i,(()=>0)),tt(mt,i,(()=>[]));const v=e=>ct(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield g.schedule((()=>ct(void 0,null,(function*(){yield e(),h=0}))))),g})),g={load:(t,n)=>ct(void 0,null,(function*(){return yield v((()=>ct(void 0,null,(function*(){try{e.setContent(yield l())}catch(l){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>ct(void 0,[...t],(function*(t={},s={}){return g.stopAutoLoad(),yield g.load(t,s),p=1,c=n(((t,n)=>ct(void 0,null,(function*(){if(n){const l=n();yield v((()=>ct(void 0,null,(function*(){return e.setTransactionChanges(l)}))))}else yield v((()=>ct(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield l())}catch(e){null==r||r(e)}}))))})))),g})),stopAutoLoad:()=>(p&&(s(c),c=void 0,p=0),g),save:l=>ct(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield g.schedule((()=>ct(void 0,null,(function*(){try{yield t(e.getContent,l)}catch(e){null==r||r(e)}h=0}))))),g})),startAutoSave:()=>ct(void 0,null,(function*(){return yield g.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,l)=>{const[t,n]=l();se(t)&&se(n)||g.save((()=>[t,n]))})),g})),stopAutoSave:()=>(O(u,e.delListener),u=void 0,g),schedule:(...e)=>ct(void 0,null,(function*(){return W(_l(mt,i),...e),yield ct(void 0,null,(function*(){if(!_l(ht,i)){for(lt(ht,i,1);!R(d=G(_l(mt,i)));)try{yield d()}catch(e){null==r||r(e)}lt(ht,i,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(g[o]=()=>a),Z(g)})(e,(()=>bt(void 0,null,(function*(){return oe(t.getItem(l))}))),(e=>bt(void 0,null,(function*(){return t.setItem(l,re(e()))}))),(e=>{const n=n=>{n.storageArea===t&&n.key===l&&e((()=>oe(n.newValue)))};return vt.addEventListener(pt,n),n}),(e=>vt.removeEventListener(pt,e)),n,["getStorageName",l]))(e,ae,sessionStorage,l);var l}),void 0,(e=>{return l=function*(){yield e.load(void 0,{position:-1==s?1:s,open:!!t}),yield e.startAutoSave()},new Promise(((e,t)=>{var n=e=>{try{r(l.next(e))}catch(e){t(e)}},s=e=>{try{r(l.throw(e))}catch(e){t(e)}},r=l=>l.done?e(l.value):Promise.resolve(l.value).then(n,s);r((l=l.apply(void 0,null)).next())}));var l})),z(j,null,z("aside",{id:ae},z(Ae,{s:n}),z(Al,{s:n})),z("style",null,$e))};var qt=Object.defineProperty,Pt=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,Lt=(e,l,t)=>l in e?qt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t;exports.EditableCellView=wl,exports.EditableValueView=Cl,exports.RelationshipInHtmlTable=fl,exports.ResultSortedTableInHtmlTable=yl,exports.ResultTableInHtmlTable=e=>{var t=e,{queryId:n,queries:s,customCells:r}=t,o=el(t,["queryId","queries","customCells"]);return z(hl,_e(Ze({},o),{params:al(cl(l.useResultTableCellIds(n,s),r,l.ResultCellView),ul(s,n),l.useResultRowIds(n,s))}))},exports.SliceInHtmlTable=Il,exports.SortedTableInHtmlTable=vl,exports.SortedTablePaginator=xl,exports.StoreInspector=e=>z(Ot,((e,l)=>{for(var t in l||(l={}))Nt.call(l,t)&&Lt(e,t,l[t]);if(Pt)for(var t of Pt(l))Et.call(l,t)&&Lt(e,t,l[t]);return e})({},e)),exports.TableInHtmlTable=e=>{var t=e,{tableId:n,store:s,editable:r,customCells:o}=t,a=el(t,["tableId","store","editable","customCells"]);return z(hl,_e(Ze({},a),{params:al(cl(l.useTableCellIds(n,s),o,r?wl:l.CellView),il(s,n),l.useRowIds(n,s))}))},exports.ValuesInHtmlTable=gl;
1
+ "use strict";var e=require("react"),l=require("./ui-react");const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),a=t(t),i="type",u="default",d="Has",c="Ids",h="Table",m=h+"s",b=h+c,p="Row",v=p+"Count",g=p+c,I="Cell",f=I+c,y="Value",w=y+"s",C=y+c,x="currentTarget",k="value",T=e=>n+e,S=Math.floor,V=isFinite,R=e=>null==e,O=(e,l,t)=>R(e)?null==t?void 0:t():l(e),q=e=>e==s||e==r,P=e=>t(e)==a,N=e=>Array.isArray(e),E=(e,l,t)=>e.slice(l,t),L=e=>e.length,{PureComponent:M,Fragment:j,createElement:z,useCallback:$,useLayoutEffect:A,useRef:F,useState:J}=e,H=(e,...l)=>R(e)?{}:e(...l),D=(e,l)=>e.sort(l),B=(e,l)=>e.forEach(l),Q=(e,l)=>e.map(l),W=e=>0==L(e),G=(e,...l)=>e.push(...l),K=e=>e.shift(),U=Object,X=e=>U.getPrototypeOf(e),Y=U.keys,Z=U.isFrozen,_=U.freeze,ee=e=>!R(e)&&O(X(e),(e=>e==U.prototype||R(X(e))),(()=>!0)),le=(e=[])=>U.fromEntries(e),te=(e,l)=>!R(((e,l)=>O(e,(e=>e[l])))(e,l)),ne=(e,l)=>(delete e[l],e),se=(e,l)=>Q(U.entries(e),(([e,t])=>l(t,e))),re=e=>ee(e)&&0==(e=>L(Y(e)))(e),oe=e=>JSON.stringify(e,((e,l)=>l instanceof Map?U.fromEntries([...l]):l)),ae=JSON.parse,ie="tinybaseStoreInspector",ue="TinyBase Store Inspector",de=["left","top","bottom","right","full"],ce="state",he="sort",me="open",be="position",pe=me,ve="editable",ge=(...e)=>oe(e),Ie=(e,l)=>Q(D(e),l),fe=(e,t)=>[!!l.useCell(ce,e,ve,t),$((l=>{t.setCell(ce,e,ve,(e=>!e)),l.preventDefault()}),[t,e])],ye="M20 80l5-15l40-40l10 10l-40 40l-15 5m5-15l10 10",we='content:url("',Ce=we+"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' stroke-width='4' stroke='white' fill='none'>",xe='</svg>")',ke=we+"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\")",Te=Q([[20,20,20,60],[20,20,60,20],[20,60,60,20],[60,20,20,60],[30,30,40,40]],(([e,l,t,n])=>Ce+`<rect x='20' y='20' width='60' height='60' fill='grey'/><rect x='${e}' y='${l}' width='${t}' height='${n}' fill='white'/>`+xe)),Se=Ce+"<path d='M20 20l60 60M20 80l60-60' />"+xe,Ve=Ce+`<path d='${ye}' />`+xe,Re=Ce+`<path d='${ye}M20 20l60 60' />`+xe;var Oe=Object.defineProperty,qe=Object.defineProperties,Pe=Object.getOwnPropertyDescriptors,Ne=Object.getOwnPropertySymbols,Ee=Object.prototype.hasOwnProperty,Le=Object.prototype.propertyIsEnumerable,Me=(e,l,t)=>l in e?Oe(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,je=(e,l)=>{for(var t in l||(l={}))Ee.call(l,t)&&Me(e,t,l[t]);if(Ne)for(var t of Ne(l))Le.call(l,t)&&Me(e,t,l[t]);return e},ze=(e,l)=>qe(e,Pe(l));const $e="*::-webkit-scrollbar",Ae=((e,l="")=>e.join(l))(se(ze(je(ze(je(ze(je({"":"all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999","*":"all:revert","*::before":"all:revert","*::after":"all:revert",[$e]:"width:0.5rem;height:0.5rem;",[$e+"-track"]:"background:#111",[$e+"-thumb"]:"background:#999;border:1px solid #111",[$e+"-thumb:hover"]:"background:#fff",[$e+"-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;"+ke},le(Q(["bottom:0;left:0","top:0;right:0"],((e,l)=>[`>img[data-position='${l}']`,e])))),{main:"display:flex;flex-direction:column;background:#111d;color:#fff;position:fixed;"}),le(Q(["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,l)=>[`main[data-position='${l}']`,e])))),{header:"display:flex;padding:0.25rem;background:#000;align-items:center","header>img:nth-of-type(1)":ke,"header>img:nth-of-type(6)":Se}),le(Q(Te,((e,l)=>[`header>img[data-id='${l}']`,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":Ve,"details[open]>summary img.done":Re,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,#${ie} 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,l)=>e?`#${ie} ${l}{${e}}`:""))),Fe=({s:e})=>{var t;const n=null!=(t=l.useValue(be,e))?t:1,s=l.useSetValueCallback(pe,(()=>!0),[],e);return l.useValue(pe,e)?null:z("img",{onClick:s,title:ue,"data-position":n})},Je=({uniqueId:e,summary:t,editable:n,handleEditable:s,children:r,s:o})=>{const a=!!l.useCell(ce,e,me,o),i=l.useSetCellCallback(ce,e,me,(e=>e[x].open),[],o);return z("details",{open:a,onToggle:i},z("summary",null,t,s?z("img",{onClick:s,className:n?"done":"edit"}):null),r)},He=e=>{const l=t(e);return q(l)||l==o&&V(e)?l:void 0},De=(e,l,t,n,s)=>R(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Be=(e,l,t)=>R(t)?e.delValue(l):e.setValue(l,t),Qe=(e,l,t,n)=>e==s?l:e==o?t:n;var We=Object.defineProperty,Ge=Object.defineProperties,Ke=Object.getOwnPropertyDescriptors,Ue=Object.getOwnPropertySymbols,Xe=Object.prototype.hasOwnProperty,Ye=Object.prototype.propertyIsEnumerable,Ze=(e,l,t)=>l in e?We(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t,_e=(e,l)=>{for(var t in l||(l={}))Xe.call(l,t)&&Ze(e,t,l[t]);if(Ue)for(var t of Ue(l))Ye.call(l,t)&&Ze(e,t,l[t]);return e},el=(e,l)=>Ge(e,Ke(l)),ll=(e,l)=>{var t={};for(var n in e)Xe.call(e,n)&&l.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&Ue)for(var n of Ue(e))l.indexOf(n)<0&&Ye.call(e,n)&&(t[n]=e[n]);return t};const{useCallback:tl,useMemo:nl,useState:sl}=e,rl="editable",ol=(e,t)=>Q(l.useTableCellIds(e,t),(l=>e+"."+l)),al=(e,l,t)=>{const n=tl(e,l);return t?n:void 0},il=(...e)=>nl((()=>e),e),ul=(e,l)=>nl((()=>({store:e,tableId:l})),[e,l]),dl=(e,l)=>nl((()=>({queries:e,queryId:l})),[e,l]),cl=(e,l=!1,t,n=0,s,r,o,a)=>{const[[i,u,d],c]=sl([e,l,n]),h=tl((e=>{c(e),null==a||a(e)}),[a]),m=al((e=>h([e,e==i&&!u,d])),[h,i,u,d],t),b=tl((e=>h([i,u,e])),[h,i,u]),p=!0===o?kl:o;return[[i,u,d],m,nl((()=>!1===o?null:z(p,{offset:d,limit:s,total:r,onChange:b})),[o,p,d,s,r,b])]},hl=(e,l,n)=>nl((()=>{const r=null!=l?l:e;return le(se(N(r)?le(Q(r,(e=>[e,e]))):r,((e,l)=>{return[l,_e(_e({},{label:l,component:n}),(r=e,t(r)==s?{label:e}:e))];var r})))}),[l,n,e]),ml=({className:e,headerRow:l,idColumn:t,params:[n,s,r,o,a,i]})=>z("table",{className:e},i?z("caption",null,i):null,!1===l?null:z("thead",null,z("tr",null,!1===t?null:z(bl,{sort:null!=o?o:[],label:"Id",onClick:a}),se(n,(({label:e},l)=>z(bl,{key:l,cellId:l,label:e,sort:null!=o?o:[],onClick:a}))))),z("tbody",null,Q(r,(e=>z("tr",{key:e},!1===t?null:z("th",null,e),se(n,(({component:l,getComponentProps:t},n)=>z("td",{key:n},z(l,el(_e(_e({},H(t,e,n)),s),{rowId:e,cellId:n})))))))))),bl=({cellId:e,sort:[l,t],label:s=(null!=e?e:n),onClick:r})=>z("th",{onClick:al((()=>null==r?void 0:r(e)),[r,e],r),className:R(t)||l!=e?void 0:`sorted ${t?"de":"a"}scending`},R(t)||l!=e?null:(t?"↓":"↑")+" ",s),pl=({localRowId:t,params:[n,s,r,o,a,i,u]})=>{const d=l.useRemoteRowId(a,t,i);return z("tr",null,!1===n?null:z(e.Fragment,null,z("th",null,t),z("th",null,d)),se(s,(({component:e,getComponentProps:l},n)=>{const[s,a]=n.split(".",2),i=s===r?t:s===o?d:null;return R(i)?null:z("td",{key:n},z(e,el(_e({},H(l,i,a)),{store:u,tableId:s,rowId:i,cellId:a})))})))},vl=({thing:e,onThingChange:l,className:t,hasSchema:n,showType:a=!0})=>{const[i,u]=sl(),[d,c]=sl(),[h,m]=sl(),[b,p]=sl(),[v,g]=sl();d!==e&&(u(He(e)),c(e),m(e+""),p(Number(e)||0),g(!!e));const I=tl(((e,t)=>{t(e),c(e),l(e)}),[l]),f=tl((()=>{if(!(null==n?void 0:n())){const e=Qe(i,o,r,s),t=Qe(e,h,b,v);u(e),c(t),l(t)}}),[n,l,h,b,v,i]);return z("div",{className:t},a?z("button",{className:i,onClick:f},i):null,Qe(i,z("input",{key:i,value:h,onChange:tl((e=>I(e[x][k]+"",m)),[I])}),z("input",{key:i,type:"number",value:b,onChange:tl((e=>I(Number(e[x][k]||0),p)),[I])}),z("input",{key:i,type:"checkbox",checked:v,onChange:tl((e=>I(!!e[x].checked,g)),[I])})))},gl=e=>{var t=e,{tableId:n,cellId:s,descending:r,offset:o,limit:a,store:i,editable:u,sortOnClick:d,paginator:c=!1,onChange:h,customCells:m}=t,b=ll(t,["tableId","cellId","descending","offset","limit","store","editable","sortOnClick","paginator","onChange","customCells"]);const[p,v,g]=cl(s,r,d,o,a,l.useRowCount(n,i),c,h);return z(ml,el(_e({},b),{params:il(hl(l.useTableCellIds(n,i),m,u?Cl:l.CellView),ul(i,n),l.useSortedRowIds(n,...p,a,i),p,v,g)}))},Il=({store:e,editable:t=!1,valueComponent:n=(t?xl:l.ValueView),getValueComponentProps:s,className:r,headerRow:o,idColumn:a})=>z("table",{className:r},!1===o?null:z("thead",null,z("tr",null,!1===a?null:z("th",null,"Id"),z("th",null,y))),z("tbody",null,Q(l.useValueIds(e),(l=>z("tr",{key:l},!1===a?null:z("th",null,l),z("td",null,z(n,el(_e({},H(s,l)),{valueId:l,store:e})))))))),fl=e=>{var t=e,{indexId:n,sliceId:s,indexes:r,editable:o,customCells:a}=t,i=ll(t,["indexId","sliceId","indexes","editable","customCells"]);const[u,d,c]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getTableId(l)])(l.useIndexesOrIndexesById(r),n);return z(ml,el(_e({},i),{params:il(hl(l.useTableCellIds(c,d),a,o?Cl:l.CellView),ul(d,c),l.useSliceRowIds(n,s,u))}))},yl=({relationshipId:t,relationships:n,editable:s,customCells:r,className:o,headerRow:a,idColumn:i=!0})=>{const[u,d,c,h]=((e,l)=>[e,null==e?void 0:e.getStore(),null==e?void 0:e.getLocalTableId(l),null==e?void 0:e.getRemoteTableId(l)])(l.useRelationshipsOrRelationshipsById(n),t),m=hl([...ol(c,d),...ol(h,d)],r,s?Cl:l.CellView),b=il(i,m,c,h,t,u,d);return z("table",{className:o},!1===a?null:z("thead",null,z("tr",null,!1===i?null:z(e.Fragment,null,z("th",null,c,".Id"),z("th",null,h,".Id")),se(m,(({label:e},l)=>z("th",{key:l},e))))),z("tbody",null,Q(l.useRowIds(c,d),(e=>z(pl,{key:e,localRowId:e,params:b})))))},wl=e=>{var t=e,{queryId:n,cellId:s,descending:r,offset:o,limit:a,queries:i,sortOnClick:u,paginator:d=!1,customCells:c,onChange:h}=t,m=ll(t,["queryId","cellId","descending","offset","limit","queries","sortOnClick","paginator","customCells","onChange"]);const[b,p,v]=cl(s,r,u,o,a,l.useResultRowCount(n,i),d,h);return z(ml,el(_e({},m),{params:il(hl(l.useResultTableCellIds(n,i),c,l.ResultCellView),dl(i,n),l.useResultSortedRowIds(n,...b,a,i),b,p,v)}))},Cl=({tableId:e,rowId:t,cellId:n,store:s,className:r,showType:o})=>{var a;return z(vl,{thing:l.useCell(e,t,n,s),onThingChange:l.useSetCellCallback(e,t,n,(e=>e),[],s),className:null!=r?r:rl+I,showType:o,hasSchema:null==(a=l.useStoreOrStoreById(s))?void 0:a.hasTablesSchema})},xl=({valueId:e,store:t,className:n,showType:s})=>{var r;return z(vl,{thing:l.useValue(e,t),onThingChange:l.useSetValueCallback(e,(e=>e),[],t),className:null!=n?n:rl+y,showType:s,hasSchema:null==(r=l.useStoreOrStoreById(t))?void 0:r.hasValuesSchema})},kl=({onChange:l,total:t,offset:n=0,limit:s=t,singular:r="row",plural:o=r+"s"})=>{(n>t||n<0)&&(n=0,l(0));const a=al((()=>l(n-s)),[l,n,s],n>0),i=al((()=>l(n+s)),[l,n,s],n+s<t);return z(e.Fragment,null,t>s&&z(e.Fragment,null,z("button",{className:"previous",disabled:0==n,onClick:a},"←"),z("button",{className:"next",disabled:n+s>=t,onClick:i},"→"),n+1," to ",Math.min(t,n+s)," of "),t," ",1!=t?o:r)},Tl=({indexes:e,indexesId:t,indexId:n,s:s})=>z(Je,{uniqueId:ge("i",t,n),summary:"Index: "+n,s:s},Q(l.useSliceIds(n,e),(l=>z(Sl,{indexes:e,indexesId:t,indexId:n,sliceId:l,s:s,key:l})))),Sl=({indexes:e,indexesId:l,indexId:t,sliceId:n,s:s})=>{const r=ge("i",l,t,n),[o,a]=fe(r,s);return z(Je,{uniqueId:r,summary:"Slice: "+n,editable:o,handleEditable:a,s:s},z(fl,{sliceId:n,indexId:t,indexes:e,editable:o}))},Vl=({indexesId:e,s:t})=>{const n=l.useIndexes(e),s=l.useIndexIds(n);return R(n)?null:z(Je,{uniqueId:ge("i",e),summary:"Indexes: "+(null!=e?e:u),s:t},W(s)?"No indexes defined":Ie(s,(l=>z(Tl,{indexes:n,indexesId:e,indexId:l,s:t,key:l}))))},Rl=({metrics:e,metricId:t})=>z("tr",null,z("th",null,t),z("td",null,null==e?void 0:e.getTableId(t)),z("td",null,l.useMetric(t,e))),Ol=({metricsId:e,s:t})=>{const n=l.useMetrics(e),s=l.useMetricIds(n);return R(n)?null:z(Je,{uniqueId:ge("m",e),summary:"Metrics: "+(null!=e?e:u),s:t},W(s)?"No metrics defined":z("table",null,z("thead",null,z("th",null,"Metric Id"),z("th",null,"Table Id"),z("th",null,"Metric")),z("tbody",null,Q(s,(e=>z(Rl,{metrics:n,metricId:e,key:e}))))))},ql=({queries:e,queriesId:t,queryId:n,s:s})=>{var r;const o=ge("q",t,n),[a,i,u]=ae(null!=(r=l.useCell(ce,o,he,s))?r:"[]"),d=l.useSetCellCallback(ce,o,he,oe,[],s);return z(Je,{uniqueId:o,summary:"Query: "+n,s:s},z(wl,{queryId:n,queries:e,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d}))},Pl=({queriesId:e,s:t})=>{const n=l.useQueries(e),s=l.useQueryIds(n);return R(n)?null:z(Je,{uniqueId:ge("q",e),summary:"Queries: "+(null!=e?e:u),s:t},W(s)?"No queries defined":Ie(s,(l=>z(ql,{queries:n,queriesId:e,queryId:l,s:t,key:l}))))},Nl=({relationships:e,relationshipsId:l,relationshipId:t,s:n})=>{const s=ge("r",l,t),[r,o]=fe(s,n);return z(Je,{uniqueId:s,summary:"Relationship: "+t,editable:r,handleEditable:o,s:n},z(yl,{relationshipId:t,relationships:e,editable:r}))},El=({relationshipsId:e,s:t})=>{const n=l.useRelationships(e),s=l.useRelationshipIds(n);return R(n)?null:z(Je,{uniqueId:ge("r",e),summary:"Relationships: "+(null!=e?e:u),s:t},W(s)?"No relationships defined":Ie(s,(l=>z(Nl,{relationships:n,relationshipsId:e,relationshipId:l,s:t,key:l}))))},Ll=({tableId:e,store:t,storeId:n,s:s})=>{var r;const o=ge("t",n,e),[a,i,u]=ae(null!=(r=l.useCell(ce,o,he,s))?r:"[]"),d=l.useSetCellCallback(ce,o,he,oe,[],s),[c,m]=fe(o,s);return z(Je,{uniqueId:o,summary:h+": "+e,editable:c,handleEditable:m,s:s},z(gl,{tableId:e,store:t,cellId:a,descending:i,offset:u,limit:10,paginator:!0,sortOnClick:!0,onChange:d,editable:c}))},Ml=({store:e,storeId:t,s:n})=>{const s=ge("v",t),[r,o]=fe(s,n);return W(l.useValueIds(e))?null:z(Je,{uniqueId:s,summary:w,editable:r,handleEditable:o,s:n},z(Il,{store:e,editable:r}))},jl=({storeId:e,s:t})=>{const n=l.useStore(e),s=l.useTableIds(n);return R(n)?null:z(Je,{uniqueId:ge("s",e),summary:"Store: "+(null!=e?e:u),s:t},z(Ml,{storeId:e,store:n,s:t}),Ie(s,(l=>z(Ll,{store:n,storeId:e,tableId:l,s:t,key:l}))))},zl=({s:e})=>{const t=F(null),n=F(0),[s,r]=J(!1),{scrollLeft:o,scrollTop:a}=l.useValues(e);A((()=>{const e=t.current;if(e&&!s){const l=new MutationObserver((()=>{e.scrollWidth>=S(o)+e.clientWidth&&e.scrollHeight>=S(a)+e.clientHeight&&e.scrollTo(o,a)}));return l.observe(e,{childList:!0,subtree:!0}),()=>l.disconnect()}}),[s,o,a]);const i=$((l=>{const{scrollLeft:t,scrollTop:s}=l[x];cancelIdleCallback(n.current),n.current=requestIdleCallback((()=>{r(!0),e.setPartialValues({scrollLeft:t,scrollTop:s})}))}),[e]),u=l.useStore(),d=l.useStoreIds(),c=l.useMetrics(),h=l.useMetricsIds(),m=l.useIndexes(),b=l.useIndexesIds(),p=l.useRelationships(),v=l.useRelationshipsIds(),g=l.useQueries(),I=l.useQueriesIds();return R(u)&&W(d)&&R(c)&&W(h)&&R(m)&&W(b)&&R(p)&&W(v)&&R(g)&&W(I)?z("span",{className:"warn"},"There are no Stores or other objects to inspect. Make sure you placed the StoreInspector inside a Provider component."):z("article",{ref:t,onScroll:i},z(jl,{s:e}),Q(d,(l=>z(jl,{storeId:l,s:e,key:l}))),z(Ol,{s:e}),Q(h,(l=>z(Ol,{metricsId:l,s:e,key:l}))),z(Vl,{s:e}),Q(b,(l=>z(Vl,{indexesId:l,s:e,key:l}))),z(El,{s:e}),Q(v,(l=>z(El,{relationshipsId:l,s:e,key:l}))),z(Pl,{s:e}),Q(I,(l=>z(Pl,{queriesId:l,s:e,key:l}))))};class $l extends M{constructor(e){super(e),this.componentDidCatch=(e,l)=>console.error(e,l.componentStack),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}render(){return this.state.e?z("span",{className:"warn"},"Inspector error: please see console for details."):this.props.children}}const Al=({s:e})=>{var t;const n=null!=(t=l.useValue(be,e))?t:1,s=l.useSetValueCallback(pe,(()=>!1),[],e),r=l.useSetValueCallback(be,(e=>Number(e[x].dataset.id)),[],e);return z("header",null,z("img",{title:ue}),z("span",null,ue),Q(de,((e,l)=>l==n?null:z("img",{onClick:r,"data-id":l,title:"Dock to "+e,key:l}))),z("img",{onClick:s,title:"Close"}))},Fl=({s:e})=>{var t;const n=null!=(t=l.useValue(be,e))?t:1;return l.useValue(pe,e)?z("main",{"data-position":n},z(Al,{s:e}),z($l,null,z(zl,{s:e}))):null},Jl=e=>l=>{return t=(l,t)=>l+e(t),Kl(l).reduce(t,0);var t},Hl=e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0},Dl=Jl(Hl),Bl=Jl(Dl),Ql=Jl(Bl),Wl=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},Gl=e=>R(e)||0==Hl(e),Kl=e=>{var l;return[...null!=(l=null==e?void 0:e.values())?l:[]]},Ul=e=>e.clear(),Xl=(e,l)=>null==e?void 0:e.forEach(l),Yl=(e,l)=>null==e?void 0:e.delete(l),Zl=e=>new Map(e),_l=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},et=(e,l)=>null==e?void 0:e.get(l),lt=(e,l)=>Xl(e,((e,t)=>l(t,e))),tt=(e,l,t)=>R(t)?(Yl(e,l),e):null==e?void 0:e.set(l,t),nt=(e,l,t)=>(Wl(e,l)||tt(e,l,t()),et(e,l)),st=(e,l,t,n=tt)=>(se(l,((l,n)=>t(e,n,l))),lt(e,(t=>te(l,t)?0:n(e,t))),e),rt=(e,l,t)=>{const n={};return Xl(e,((e,s)=>{const r=l?l(e,s):e;!(null==t?void 0:t(r,e))&&(n[s]=r)})),n},ot=(e,l,t)=>rt(e,(e=>rt(e,l,t)),re),at=(e,l,t)=>rt(e,(e=>ot(e,l,t)),re),it=(e,l)=>{const t=Zl();return Xl(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ut=e=>it(e,it),dt=e=>it(e,ut),ct=(e,l,t,n,s=0)=>O((t?nt:et)(e,l[s],s>L(l)-2?t:Zl),(r=>{if(s>L(l)-2)return(null==n?void 0:n(r))&&tt(e,l[s]),r;const o=ct(r,l,t,n,s+1);return Gl(r)&&tt(e,l[s]),o}));var ht=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const mt=Zl(),bt=Zl();var pt=(e,l,t)=>new Promise(((n,s)=>{var r=e=>{try{a(t.next(e))}catch(e){s(e)}},o=e=>{try{a(t.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((t=t.apply(e,l)).next())}));const vt="storage",gt=globalThis.window,It=e=>new Set(N(e)||R(e)?e:[e]),ft=(e,l)=>null==e?void 0:e.add(l),yt=/^\d+$/,wt=()=>{const e=[];let l=0;return[t=>{var s;return null!=(s=t?K(e):null)?s:n+l++},l=>{yt.test(l)&&L(e)<1e3&&G(e,l)}]},Ct=e=>[e,e],xt=(e,l=Dl)=>l(e[0])+l(e[1]),kt=()=>[Zl(),Zl()],Tt=e=>[...e],St=([e,l])=>e===l,Vt=(e,l,t)=>R(e)||!ee(e)||re(e)||Z(e)?(null==t||t(),!1):(se(e,((t,n)=>{l(t,n)||ne(e,n)})),!re(e)),Rt=(e,l,t)=>tt(e,l,et(e,l)==-t?void 0:t),Ot=()=>{let e,l,t=!1,s=!1,r=!1,a=!1,c=0;const x=Zl(),k=Zl(),S=Zl(),V=Zl(),N=Zl(),M=Zl(),j=Zl(),z=Zl(),$=Zl(),A=Zl(),F=Zl(),J=Zl(),H=Zl(),W=Zl(),K=It(),U=Zl(),X=Zl(),Y=Zl(),Z=Zl(),ee=kt(),le=kt(),ie=kt(),ue=kt(),de=kt(),ce=kt(),he=kt(),me=kt(),be=kt(),pe=kt(),ve=kt(),ge=kt(),Ie=kt(),fe=kt(),ye=kt(),we=kt(),Ce=kt(),xe=kt(),ke=kt(),Te=kt(),Se=kt(),Ve=kt(),Re=Zl(),Oe=kt(),[qe,Pe,Ne,Ee]=(e=>{let l;const[t,s]=wt(),r=Zl();return[(e,s,o,a=[],i=(()=>[]))=>{null!=l||(l=$t);const u=t(1);return tt(r,u,[e,s,o,a,i]),ft(ct(s,null!=o?o:[n],It),u),u},(e,t,...s)=>B(((e,l=[n])=>{const t=[],s=(e,n)=>n==L(l)?G(t,e):null===l[n]?Xl(e,(e=>s(e,n+1))):B([l[n],null],(l=>s(et(e,l),n+1)));return s(e,0),t})(e,t),(e=>Xl(e,(e=>et(r,e)[0](l,...null!=t?t:[],...s))))),e=>O(et(r,e),(([,l,t])=>(ct(l,null!=t?t:[n],void 0,(l=>(Yl(l,e),Gl(l)?1:0))),tt(r,e),s(e),t))),e=>O(et(r,e),(([e,,t=[],n,s])=>{const r=(...o)=>{var a,i;const u=L(o);u==L(t)?e(l,...o,...s(o)):R(t[u])?B(null!=(i=null==(a=n[u])?void 0:a.call(n,...o))?i:[],(e=>r(...o,e))):r(...o,t[u])};r()}))]})(),Le=e=>{if(!Vt(e,((e,l)=>[i,u].includes(l))))return!1;const l=e[i];return!(!q(l)&&l!=o||(He(e[u])!=l&&ne(e,u),0))},Me=(l,t)=>(!e||Wl(F,t)||bl(t))&&Vt(l,((e,l)=>je(t,l,e)),(()=>bl(t))),je=(e,l,t,n)=>Vt(n?t:Fe(t,e,l),((n,s)=>O(ze(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>bl(e,l))),ze=(l,t,n,s)=>e?O(et(et(F,l),n),(e=>He(s)!=e[i]?bl(l,t,n,s,e[u]):s),(()=>bl(l,t,n,s))):R(He(s))?bl(l,t,n,s):s,$e=(e,l)=>Vt(l?e:Je(e),((l,t)=>O(Ae(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>pl())),Ae=(e,t)=>l?O(et(H,e),(l=>He(t)!=l[i]?pl(e,t,l[u]):t),(()=>pl(e,t))):R(He(t))?pl(e,t):t,Fe=(e,l,t)=>(O(et(J,l),(([n,s])=>{Xl(n,((l,t)=>{te(e,t)||(e[t]=l)})),Xl(s,(n=>{te(e,n)||bl(l,t,n)}))})),e),Je=e=>(l&&(Xl(W,((l,t)=>{te(e,t)||(e[t]=l)})),Xl(K,(l=>{te(e,l)||pl(l)}))),e),Qe=e=>st(F,e,((e,l,t)=>{const n=Zl(),s=It();st(nt(F,l,Zl),t,((e,l,t)=>{tt(e,l,t),O(t[u],(e=>tt(n,l,e)),(()=>ft(s,l)))})),tt(J,l,[n,s])}),((e,l)=>{tt(F,l),tt(J,l)})),We=e=>st(H,e,((e,l,t)=>{tt(H,l,t),O(t[u],(e=>tt(W,l,e)),(()=>ft(K,l)))}),((e,l)=>{tt(H,l),tt(W,l),Yl(K,l)})),Ge=e=>re(e)?yt():mt(e),Ke=e=>st(Y,e,((e,l,t)=>Ue(l,t)),((e,l)=>sl(l))),Ue=(e,l)=>st(nt(Y,e,(()=>(il(e,1),tt(U,e,wt()),tt(X,e,Zl()),Zl()))),l,((l,t,n)=>Xe(e,l,t,n)),((l,t)=>rl(e,l,t))),Xe=(e,l,t,n,s)=>st(nt(l,t,(()=>(ul(e,t,1),Zl()))),n,((l,n,s)=>Ye(e,t,l,n,s)),((n,r)=>ol(e,l,t,n,r,s))),Ye=(e,l,t,n,s)=>{Wl(t,n)||dl(e,l,n,1);const r=et(t,n);s!==r&&(cl(e,l,n,r,s),tt(t,n,s))},Ze=(e,l,t,n,s)=>O(et(l,t),(l=>Ye(e,t,l,n,s)),(()=>Xe(e,l,t,Fe({[n]:s},e,t)))),_e=e=>re(e)?Nt():bt(e),el=e=>st(Z,e,((e,l,t)=>ll(l,t)),((e,l)=>al(l))),ll=(e,l)=>{Wl(Z,e)||hl(e,1);const t=et(Z,e);l!==t&&(ml(e,t,l),tt(Z,e,l))},tl=(e,l)=>{const[t]=et(U,e),n=t(l);return Wl(et(Y,e),n)?tl(e,l):n},nl=e=>{var l;return null!=(l=et(Y,e))?l:Ue(e,{})},sl=e=>Ue(e,{}),rl=(e,l,t)=>{const[,n]=et(U,e);n(t),Xe(e,l,t,{},!0)},ol=(e,l,t,n,s,r)=>{var o;const a=et(null==(o=et(J,e))?void 0:o[0],s);if(!R(a)&&!r)return Ye(e,t,n,s,a);const i=l=>{cl(e,t,l,et(n,l)),dl(e,t,l,-1),tt(n,l)};R(a)?i(s):lt(n,i),Gl(n)&&(ul(e,t,-1),Gl(tt(l,t))&&(il(e,-1),tt(Y,e),tt(U,e),tt(X,e)))},al=e=>{const l=et(W,e);if(!R(l))return ll(e,l);ml(e,et(Z,e)),hl(e,-1),tt(Z,e)},il=(e,l)=>Rt(x,e,l),ul=(e,l,t)=>Rt(nt(V,e,Zl),l,t)&&tt(S,e,nt(S,e,(()=>0))+t),dl=(e,l,t,n)=>{var s;const r=et(X,e),o=null!=(s=et(r,t))?s:0;(0==o&&1==n||1==o&&-1==n)&&Rt(nt(k,e,Zl),t,n),tt(r,t,o!=-n?o+n:null),Rt(nt(nt(N,e,Zl),l,Zl),t,n)},cl=(e,l,t,n,s)=>nt(nt(nt(M,e,Zl),l,Zl),t,(()=>[n,0]))[1]=s,hl=(e,l)=>Rt(j,e,l),ml=(e,l,t)=>nt(z,e,(()=>[l,0]))[1]=t,bl=(e,l,t,n,s)=>(G(nt(nt(nt($,e,Zl),l,Zl),t,(()=>[])),n),s),pl=(e,l,t)=>(G(nt(A,e,(()=>[])),l),t),vl=(e,l,t)=>O(et(et(et(M,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...Ct(El(e,l,t))])),gl=e=>O(et(z,e),(([e,l])=>[!0,e,l]),(()=>[!1,...Ct(jl(e))])),Il=e=>Gl($)||Gl(we[e])?0:Xl(e?dt($):$,((l,t)=>Xl(l,((l,n)=>Xl(l,((l,s)=>Pe(we[e],[t,n,s],l))))))),fl=e=>Gl(A)||Gl(Ce[e])?0:Xl(e?it(A):A,((l,t)=>Pe(Ce[e],[t],l))),yl=(e,l,t,n)=>{if(!Gl(e))return Pe(l,n,(()=>rt(e))),lt(e,((e,l)=>Pe(t,[...null!=n?n:[],e],1==l))),1},wl=e=>{const l=zl();l!=r&&Pe(ee[e],void 0,l);const t=Gl(pe[e]),n=Gl(Ie[e])&&Gl(fe[e])&&Gl(be[e])&&Gl(ve[e])&&Gl(ce[e])&&Gl(he[e])&&Gl(me[e])&&t&&Gl(ie[e])&&Gl(ue[e]),s=Gl(ye[e])&&Gl(ge[e])&&Gl(de[e])&&Gl(le[e]);if(!n||!s){const l=e?[it(x),ut(k),it(S),ut(V),dt(N),dt(M)]:[x,k,S,V,N,M];if(!n){yl(l[0],ie[e],ue[e]),Xl(l[1],((l,t)=>yl(l,ce[e],he[e],[t]))),Xl(l[2],((l,t)=>{0!=l&&Pe(me[e],[t],Ol(t))}));const n=It();Xl(l[3],((l,s)=>{yl(l,be[e],ve[e],[s])&&!t&&(Pe(pe[e],[s,null]),ft(n,s))})),t||Xl(l[5],((l,t)=>{if(!Wl(n,t)){const n=It();Xl(l,(e=>Xl(e,(([l,t],s)=>t!==l?ft(n,s):Yl(e,s))))),Xl(n,(l=>Pe(pe[e],[t,l])))}})),Xl(l[4],((l,t)=>Xl(l,((l,n)=>yl(l,Ie[e],fe[e],[t,n])))))}if(!s){let t;Xl(l[5],((l,n)=>{let s;Xl(l,((l,r)=>{let o;Xl(l,(([l,a],i)=>{a!==l&&(Pe(ye[e],[n,r,i],a,l,vl),t=s=o=1)})),o&&Pe(ge[e],[n,r],vl)})),s&&Pe(de[e],[n],vl)})),t&&Pe(le[e],void 0,vl)}}},Cl=e=>{const l=Kl();l!=a&&Pe(xe[e],void 0,l);const t=Gl(Te[e])&&Gl(Se[e]),n=Gl(Ve[e])&&Gl(ke[e]);if(!t||!n){const l=e?[it(j),it(z)]:[j,z];if(t||yl(l[0],Te[e],Se[e]),!n){let t;Xl(l[1],(([l,n],s)=>{n!==l&&(Pe(Ve[e],[s],n,l,gl),t=1)})),t&&Pe(ke[e],void 0,gl)}}},xl=(e,...l)=>(Mt((()=>e(...Q(l,T)))),$t),kl=()=>[rt(M,((e,l)=>-1===et(x,l)?null:rt(e,((e,t)=>-1===et(et(V,l),t)?null:rt(e,(([,e])=>null!=e?e:null),((e,l)=>St(l)))),re)),re),rt(z,(([,e])=>null!=e?e:null),((e,l)=>St(l)))],Tl=()=>({cellsTouched:t,valuesTouched:s,changedCells:at(M,Tt,St),invalidCells:at($),changedValues:rt(z,Tt,St),invalidValues:rt(A),changedTableIds:rt(x),changedRowIds:ot(V),changedCellIds:at(N),changedValueIds:rt(j)}),Sl=()=>at(Y),Vl=()=>_l(Y),Rl=e=>_l(et(X,T(e))),Ol=e=>Hl(et(Y,T(e))),ql=e=>_l(et(Y,T(e))),Pl=(e,l,t,n=0,s)=>{return Q(E(D((r=et(Y,T(e)),o=(e,t)=>[R(l)?t:et(e,T(l)),t],Q([...null!=(a=null==r?void 0:r.entries())?a:[]],(([e,l])=>o(l,e)))),(([e],[l])=>{return((null!=(n=e)?n:0)<(null!=(s=l)?s:0)?-1:1)*(t?-1:1);var n,s})),n,R(s)?s:n+s),(([,e])=>e));var r,o,a},Nl=(e,l)=>_l(et(et(Y,T(e)),T(l))),El=(e,l,t)=>et(et(et(Y,T(e)),T(l)),T(t)),Ll=()=>rt(Z),Ml=()=>_l(Z),jl=e=>et(Z,T(e)),zl=()=>!Gl(Y),$l=e=>Wl(Y,T(e)),Al=(e,l)=>Wl(et(X,T(e)),T(l)),Fl=(e,l)=>Wl(et(Y,T(e)),T(l)),Jl=(e,l,t)=>Wl(et(et(Y,T(e)),T(l)),T(t)),Kl=()=>!Gl(Z),ht=e=>Wl(Z,T(e)),mt=e=>xl((()=>(e=>Vt(e,Me,bl))(e)?Ke(e):0)),bt=e=>xl((()=>$e(e)?el(e):0)),pt=e=>{try{Ge(ae(e))}catch(e){}return $t},vt=l=>xl((()=>{if((e=Vt(l,(e=>Vt(e,Le))))&&(Qe(l),!Gl(Y))){const e=Sl();yt(),mt(e)}})),gt=e=>xl((()=>{if(l=(e=>Vt(e,Le))(e)){const t=Ll();Lt(),Nt(),l=!0,We(e),bt(t)}})),yt=()=>xl((()=>Ke({}))),qt=e=>xl((e=>Wl(Y,e)?sl(e):0),e),Pt=(e,l)=>xl(((e,l)=>O(et(Y,e),(t=>Wl(t,l)?rl(e,t,l):0))),e,l),Nt=()=>xl((()=>el({}))),Et=()=>xl((()=>{Qe({}),e=!1})),Lt=()=>xl((()=>{We({}),l=!1})),Mt=(e,l)=>{if(-1!=c){jt();const t=e();return zt(l),t}},jt=()=>(-1!=c&&c++,1==c&&Pe(Re,void 0,kl,Tl),$t),zt=e=>(c>0&&(c--,0==c&&(t=!Gl(M),s=!Gl(z),c=1,Il(1),t&&wl(1),fl(1),s&&Cl(1),(null==e?void 0:e(kl,Tl))&&(Xl(M,((e,l)=>Xl(e,((e,t)=>Xl(e,(([e],n)=>De($t,l,t,n,e))))))),Xl(z,(([e],l)=>Be($t,l,e))),t=s=!1),Pe(Oe[0],void 0,kl,Tl),c=-1,Il(0),t&&wl(0),fl(0),s&&Cl(0),Pe(Oe[1],void 0,kl,Tl),c=0,t=s=!1,r=zl(),a=Kl(),B([x,k,S,V,N,M,$,j,z,A],Ul))),$t),$t={getContent:()=>[Sl(),Ll()],getTables:Sl,getTableIds:Vl,getTable:e=>ot(et(Y,T(e))),getTableCellIds:Rl,getRowCount:Ol,getRowIds:ql,getSortedRowIds:Pl,getRow:(e,l)=>rt(et(et(Y,T(e)),T(l))),getCellIds:Nl,getCell:El,getValues:Ll,getValueIds:Ml,getValue:jl,hasTables:zl,hasTable:$l,hasTableCell:Al,hasRow:Fl,hasCell:Jl,hasValues:Kl,hasValue:ht,getTablesJson:()=>oe(Y),getValuesJson:()=>oe(Z),getJson:()=>oe([Y,Z]),getTablesSchemaJson:()=>oe(F),getValuesSchemaJson:()=>oe(H),getSchemaJson:()=>oe([F,H]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,l])=>xl((()=>{(re(e)?yt:mt)(e),(re(l)?Nt:bt)(l)})),setTables:mt,setTable:(e,l)=>xl((e=>Me(l,e)?Ue(e,l):0),e),setRow:(e,l,t)=>xl(((e,l)=>je(e,l,t)?Xe(e,nl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>Mt((()=>{let n;return je(e,n,l)&&(e=T(e),Xe(e,nl(e),n=tl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>xl(((e,l)=>{if(je(e,l,t,1)){const n=nl(e);se(t,((t,s)=>Ze(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>xl(((e,l,t)=>O(ze(e,l,t,P(n)?n(El(e,l,t)):n),(n=>Ze(e,nl(e),l,t,n)))),e,l,t),setValues:bt,setPartialValues:e=>xl((()=>$e(e,1)?se(e,((e,l)=>ll(l,e))):0)),setValue:(e,l)=>xl((e=>O(Ae(e,P(l)?l(jl(e)):l),(l=>ll(e,l)))),e),setTransactionChanges:e=>xl((()=>{se(e[0],((e,l)=>R(e)?qt(l):se(e,((e,t)=>R(e)?Pt(l,t):se(e,((e,n)=>De($t,l,t,n,e))))))),se(e[1],((e,l)=>Be($t,l,e)))})),setTablesJson:pt,setValuesJson:e=>{try{_e(ae(e))}catch(e){}return $t},setJson:e=>xl((()=>{try{const[l,t]=ae(e);Ge(l),_e(t)}catch(l){pt(e)}})),setTablesSchema:vt,setValuesSchema:gt,setSchema:(e,l)=>xl((()=>{vt(e),gt(l)})),delTables:yt,delTable:qt,delRow:Pt,delCell:(e,l,t,n)=>xl(((e,l,t)=>O(et(Y,e),(s=>O(et(s,l),(r=>Wl(r,t)?ol(e,s,l,r,t,n):0))))),e,l,t),delValues:Nt,delValue:e=>xl((e=>Wl(Z,e)?al(e):0),e),delTablesSchema:Et,delValuesSchema:Lt,delSchema:()=>xl((()=>{Et(),Lt()})),transaction:Mt,startTransaction:jt,finishTransaction:zt,forEachTable:e=>Xl(Y,((l,t)=>e(t,(e=>Xl(l,((l,t)=>e(t,(e=>lt(l,e))))))))),forEachTableCell:(e,l)=>lt(et(X,T(e)),l),forEachRow:(e,l)=>Xl(et(Y,T(e)),((e,t)=>l(t,(l=>lt(e,l))))),forEachCell:(e,l,t)=>lt(et(et(Y,T(e)),T(l)),t),forEachValue:e=>lt(Z,e),addSortedRowIdsListener:(e,l,t,n,s,r,o)=>{let a=Pl(e,l,t,n,s);return qe((()=>{const o=Pl(e,l,t,n,s);var i,u,d;u=a,L(i=o)===L(u)&&(d=(e,l)=>u[l]===e,i.every(d))||(a=o,r($t,e,l,t,n,s,a))}),pe[o?1:0],[e,l],[Vl])},addStartTransactionListener:e=>qe(e,Re),addWillFinishTransactionListener:e=>qe(e,Oe[0]),addDidFinishTransactionListener:e=>qe(e,Oe[1]),callListener:e=>(Ee(e),$t),delListener:e=>(Ne(e),$t),getListenerStats:()=>({hasTables:xt(ee),tables:xt(le),tableIds:xt(ie),hasTable:xt(ue),table:xt(de),tableCellIds:xt(ce),hasTableCell:xt(he,Bl),rowCount:xt(me),rowIds:xt(be),sortedRowIds:xt(pe),hasRow:xt(ve,Bl),row:xt(ge,Bl),cellIds:xt(Ie,Bl),hasCell:xt(fe,Ql),cell:xt(ye,Ql),invalidCell:xt(we,Ql),hasValues:xt(xe),values:xt(ke),valueIds:xt(Te),hasValue:xt(Se),value:xt(Ve),invalidValue:xt(Ce),transaction:Dl(Re)+xt(Oe)}),createStore:Ot,addListener:qe,callListeners:Pe};return se({[d+m]:[0,ee,[],()=>[zl()]],[m]:[0,le],[b]:[0,ie],[d+h]:[1,ue,[Vl],e=>[$l(...e)]],[h]:[1,de,[Vl]],[h+f]:[1,ce,[Vl]],[d+h+I]:[2,he,[Vl,Rl],e=>[Al(...e)]],[v]:[1,me,[Vl]],[g]:[1,be,[Vl]],[d+p]:[2,ve,[Vl,ql],e=>[Fl(...e)]],[p]:[2,ge,[Vl,ql]],[f]:[2,Ie,[Vl,ql]],[d+I]:[3,fe,[Vl,ql,Nl],e=>[Jl(...e)]],[I]:[3,ye,[Vl,ql,Nl],e=>Ct(El(...e))],InvalidCell:[3,we],[d+w]:[0,xe,[],()=>[Kl()]],[w]:[0,ke],[C]:[0,Te],[d+y]:[1,Se,[Ml],e=>[ht(...e)]],[y]:[1,Ve,[Ml],e=>Ct(jl(e[0]))],InvalidValue:[1,Ce]},(([e,l,t,n],s)=>{$t["add"+s+"Listener"]=(...s)=>qe(s[e],l[s[e+1]?1:0],e>0?E(s,0,e):void 0,t,n)})),_($t)},qt=({position:e="right",open:t=!1})=>{const n=l.useCreateStore(Ot),s=de.indexOf(e);return l.useCreatePersister(n,(e=>{return((e,l,t,n)=>((e,l,t,n,s,r,[o,a]=[],i=[])=>{let u,d,c,h=0,m=0,b=0,p=0;nt(mt,i,(()=>0)),nt(bt,i,(()=>[]));const v=e=>ht(void 0,null,(function*(){return 2!=h&&(h=1,m++,yield g.schedule((()=>ht(void 0,null,(function*(){yield e(),h=0}))))),g})),g={load:(t,n)=>ht(void 0,null,(function*(){return yield v((()=>ht(void 0,null,(function*(){try{e.setContent(yield l())}catch(l){e.setContent([t,n])}}))))})),startAutoLoad:(...t)=>ht(void 0,[...t],(function*(t={},s={}){return g.stopAutoLoad(),yield g.load(t,s),p=1,c=n(((t,n)=>ht(void 0,null,(function*(){if(n){const l=n();yield v((()=>ht(void 0,null,(function*(){return e.setTransactionChanges(l)}))))}else yield v((()=>ht(void 0,null,(function*(){var n;try{e.setContent(null!=(n=null==t?void 0:t())?n:yield l())}catch(e){null==r||r(e)}}))))})))),g})),stopAutoLoad:()=>(p&&(s(c),c=void 0,p=0),g),save:l=>ht(void 0,null,(function*(){return 1!=h&&(h=2,b++,yield g.schedule((()=>ht(void 0,null,(function*(){try{yield t(e.getContent,l)}catch(e){null==r||r(e)}h=0}))))),g})),startAutoSave:()=>ht(void 0,null,(function*(){return yield g.stopAutoSave().save(),u=e.addDidFinishTransactionListener(((e,l)=>{const[t,n]=l();re(t)&&re(n)||g.save((()=>[t,n]))})),g})),stopAutoSave:()=>(O(u,e.delListener),u=void 0,g),schedule:(...e)=>ht(void 0,null,(function*(){return G(et(bt,i),...e),yield ht(void 0,null,(function*(){if(!et(mt,i)){for(tt(mt,i,1);!R(d=K(et(bt,i)));)try{yield d()}catch(e){null==r||r(e)}tt(mt,i,0)}})),g})),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({loads:m,saves:b})};return o&&(g[o]=()=>a),_(g)})(e,(()=>pt(void 0,null,(function*(){return ae(t.getItem(l))}))),(e=>pt(void 0,null,(function*(){return t.setItem(l,oe(e()))}))),(e=>{const n=n=>{n.storageArea===t&&n.key===l&&e((()=>ae(n.newValue)))};return gt.addEventListener(vt,n),n}),(e=>gt.removeEventListener(vt,e)),n,["getStorageName",l]))(e,ie,sessionStorage,l);var l}),void 0,(e=>{return l=function*(){yield e.load(void 0,{position:-1==s?1:s,open:!!t}),yield e.startAutoSave()},new Promise(((e,t)=>{var n=e=>{try{r(l.next(e))}catch(e){t(e)}},s=e=>{try{r(l.throw(e))}catch(e){t(e)}},r=l=>l.done?e(l.value):Promise.resolve(l.value).then(n,s);r((l=l.apply(void 0,null)).next())}));var l})),z(j,null,z("aside",{id:ie},z(Fe,{s:n}),z(Fl,{s:n})),z("style",null,Ae))};var Pt=Object.defineProperty,Nt=Object.getOwnPropertySymbols,Et=Object.prototype.hasOwnProperty,Lt=Object.prototype.propertyIsEnumerable,Mt=(e,l,t)=>l in e?Pt(e,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[l]=t;exports.EditableCellView=Cl,exports.EditableValueView=xl,exports.RelationshipInHtmlTable=yl,exports.ResultSortedTableInHtmlTable=wl,exports.ResultTableInHtmlTable=e=>{var t=e,{queryId:n,queries:s,customCells:r}=t,o=ll(t,["queryId","queries","customCells"]);return z(ml,el(_e({},o),{params:il(hl(l.useResultTableCellIds(n,s),r,l.ResultCellView),dl(s,n),l.useResultRowIds(n,s))}))},exports.SliceInHtmlTable=fl,exports.SortedTableInHtmlTable=gl,exports.SortedTablePaginator=kl,exports.StoreInspector=e=>z(qt,((e,l)=>{for(var t in l||(l={}))Et.call(l,t)&&Mt(e,t,l[t]);if(Nt)for(var t of Nt(l))Lt.call(l,t)&&Mt(e,t,l[t]);return e})({},e)),exports.TableInHtmlTable=e=>{var t=e,{tableId:n,store:s,editable:r,customCells:o}=t,a=ll(t,["tableId","store","editable","customCells"]);return z(ml,el(_e({},a),{params:il(hl(l.useTableCellIds(n,s),o,r?Cl:l.CellView),ul(s,n),l.useRowIds(n,s))}))},exports.ValuesInHtmlTable=Il;
@@ -6,7 +6,10 @@ const STRING = getTypeOf(EMPTY_STRING);
6
6
  const strRepeat = (str, count) => str.repeat(count);
7
7
 
8
8
  const promise = Promise;
9
- const startInterval = setInterval;
9
+ const startInterval = (callback, sec, immediate) => {
10
+ immediate && callback();
11
+ return setInterval(callback, sec * 1e3);
12
+ };
10
13
  const stopInterval = clearInterval;
11
14
  const isInstanceOf = (thing, cls) => thing instanceof cls;
12
15
  const isUndefined = (thing) => thing == void 0;
@@ -18,6 +21,11 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
18
21
  const size = (arrayOrString) => arrayOrString.length;
19
22
  const promiseAll = async (promises) => promise.all(promises);
20
23
 
24
+ const SINGLE_ROW_ID = '_';
25
+ const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
26
+ const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
27
+ const SELECT = 'SELECT';
28
+
21
29
  const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
22
30
  const arrayMap = (array, cb) => array.map(cb);
23
31
  const arrayIsEmpty = (array) => size(array) == 0;
@@ -86,11 +94,7 @@ const setNew = (entryOrEntries) =>
86
94
  );
87
95
  const setAdd = (set, value) => set?.add(value);
88
96
 
89
- const SINGLE_ROW_ID = '_';
90
- const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
91
- const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
92
-
93
- const SELECT_STAR_FROM = 'SELECT*FROM';
97
+ const SELECT_STAR_FROM = SELECT + '*FROM';
94
98
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
95
99
  const WHERE = 'WHERE';
96
100
  const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
@@ -108,7 +112,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
108
112
  FROM_PRAGMA_TABLE +
109
113
  `list WHERE schema='main'AND type='table'AND name IN(` +
110
114
  getPlaceholders(managedTableNames) +
111
- `)`,
115
+ `)ORDER BY name`,
112
116
  managedTableNames,
113
117
  ),
114
118
  async ({name: tableName}) => [
@@ -116,7 +120,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
116
120
  objNew(
117
121
  arrayMap(
118
122
  await cmd(
119
- 'SELECT name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
123
+ SELECT + ' name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
120
124
  [tableName],
121
125
  ),
122
126
  ({name: columnName, type}) => [columnName, type],
@@ -760,6 +764,8 @@ const createSqlitePersister = (
760
764
  ) => {
761
765
  let dataVersion;
762
766
  let schemaVersion;
767
+ let totalChanges;
768
+ const CHANGES_COLUMN = 'c';
763
769
  const [
764
770
  isJson,
765
771
  autoLoadIntervalSeconds,
@@ -767,24 +773,32 @@ const createSqlitePersister = (
767
773
  managedTableNamesSet,
768
774
  ] = getConfigStructures(configOrStoreTableName);
769
775
  const addPersisterListener = (listener) => [
770
- startInterval(async () => {
771
- try {
772
- const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
773
- DATA_VERSION
774
- ];
775
- const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
776
- SCHEMA_VERSION
777
- ];
778
- if (
779
- newDataVersion != (dataVersion ??= newDataVersion) ||
780
- newSchemaVersion != (schemaVersion ??= newSchemaVersion)
781
- ) {
782
- listener();
783
- dataVersion = newDataVersion;
784
- schemaVersion = newSchemaVersion;
785
- }
786
- } catch {}
787
- }, autoLoadIntervalSeconds * 1e3),
776
+ startInterval(
777
+ async () => {
778
+ try {
779
+ const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
780
+ DATA_VERSION
781
+ ];
782
+ const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
783
+ SCHEMA_VERSION
784
+ ];
785
+ const newTotalChanges = (
786
+ await cmd(SELECT + ' TOTAL_CHANGES() ' + CHANGES_COLUMN)
787
+ )[0][CHANGES_COLUMN];
788
+ if (
789
+ newDataVersion != (dataVersion ??= newDataVersion) ||
790
+ newSchemaVersion != (schemaVersion ??= newSchemaVersion) ||
791
+ newTotalChanges != (totalChanges ??= newTotalChanges)
792
+ ) {
793
+ listener();
794
+ dataVersion = newDataVersion;
795
+ schemaVersion = newSchemaVersion;
796
+ }
797
+ } catch {}
798
+ },
799
+ autoLoadIntervalSeconds,
800
+ 1,
801
+ ),
788
802
  addUpdateListener((tableName) =>
789
803
  managedTableNamesSet.has(tableName) ? listener() : 0,
790
804
  ),
@@ -6,7 +6,10 @@ const STRING = getTypeOf(EMPTY_STRING);
6
6
  const strRepeat = (str, count) => str.repeat(count);
7
7
 
8
8
  const promise = Promise;
9
- const startInterval = setInterval;
9
+ const startInterval = (callback, sec, immediate) => {
10
+ immediate && callback();
11
+ return setInterval(callback, sec * 1e3);
12
+ };
10
13
  const stopInterval = clearInterval;
11
14
  const isInstanceOf = (thing, cls) => thing instanceof cls;
12
15
  const isUndefined = (thing) => thing == void 0;
@@ -18,6 +21,11 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
18
21
  const size = (arrayOrString) => arrayOrString.length;
19
22
  const promiseAll = async (promises) => promise.all(promises);
20
23
 
24
+ const SINGLE_ROW_ID = '_';
25
+ const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
26
+ const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
27
+ const SELECT = 'SELECT';
28
+
21
29
  const arrayForEach = (array, cb) => array.forEach(cb);
22
30
  const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
23
31
  const arrayMap = (array, cb) => array.map(cb);
@@ -87,11 +95,7 @@ const setNew = (entryOrEntries) =>
87
95
  );
88
96
  const setAdd = (set, value) => set?.add(value);
89
97
 
90
- const SINGLE_ROW_ID = '_';
91
- const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
92
- const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
93
-
94
- const SELECT_STAR_FROM = 'SELECT*FROM';
98
+ const SELECT_STAR_FROM = SELECT + '*FROM';
95
99
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
96
100
  const WHERE = 'WHERE';
97
101
  const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
@@ -109,7 +113,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
109
113
  FROM_PRAGMA_TABLE +
110
114
  `list WHERE schema='main'AND type='table'AND name IN(` +
111
115
  getPlaceholders(managedTableNames) +
112
- `)`,
116
+ `)ORDER BY name`,
113
117
  managedTableNames,
114
118
  ),
115
119
  async ({name: tableName}) => [
@@ -117,7 +121,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
117
121
  objNew(
118
122
  arrayMap(
119
123
  await cmd(
120
- 'SELECT name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
124
+ SELECT + ' name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
121
125
  [tableName],
122
126
  ),
123
127
  ({name: columnName, type}) => [columnName, type],
@@ -761,6 +765,8 @@ const createSqlitePersister = (
761
765
  ) => {
762
766
  let dataVersion;
763
767
  let schemaVersion;
768
+ let totalChanges;
769
+ const CHANGES_COLUMN = 'c';
764
770
  const [
765
771
  isJson,
766
772
  autoLoadIntervalSeconds,
@@ -768,24 +774,32 @@ const createSqlitePersister = (
768
774
  managedTableNamesSet,
769
775
  ] = getConfigStructures(configOrStoreTableName);
770
776
  const addPersisterListener = (listener) => [
771
- startInterval(async () => {
772
- try {
773
- const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
774
- DATA_VERSION
775
- ];
776
- const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
777
- SCHEMA_VERSION
778
- ];
779
- if (
780
- newDataVersion != (dataVersion ??= newDataVersion) ||
781
- newSchemaVersion != (schemaVersion ??= newSchemaVersion)
782
- ) {
783
- listener();
784
- dataVersion = newDataVersion;
785
- schemaVersion = newSchemaVersion;
786
- }
787
- } catch {}
788
- }, autoLoadIntervalSeconds * 1e3),
777
+ startInterval(
778
+ async () => {
779
+ try {
780
+ const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
781
+ DATA_VERSION
782
+ ];
783
+ const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
784
+ SCHEMA_VERSION
785
+ ];
786
+ const newTotalChanges = (
787
+ await cmd(SELECT + ' TOTAL_CHANGES() ' + CHANGES_COLUMN)
788
+ )[0][CHANGES_COLUMN];
789
+ if (
790
+ newDataVersion != (dataVersion ??= newDataVersion) ||
791
+ newSchemaVersion != (schemaVersion ??= newSchemaVersion) ||
792
+ newTotalChanges != (totalChanges ??= newTotalChanges)
793
+ ) {
794
+ listener();
795
+ dataVersion = newDataVersion;
796
+ schemaVersion = newSchemaVersion;
797
+ }
798
+ } catch {}
799
+ },
800
+ autoLoadIntervalSeconds,
801
+ 1,
802
+ ),
789
803
  addUpdateListener((tableName) =>
790
804
  managedTableNamesSet.has(tableName) ? listener() : 0,
791
805
  ),
@@ -8,7 +8,10 @@ const STRING = getTypeOf(EMPTY_STRING);
8
8
  const strRepeat = (str, count) => str.repeat(count);
9
9
 
10
10
  const promise = Promise;
11
- const startInterval = setInterval;
11
+ const startInterval = (callback, sec, immediate) => {
12
+ immediate && callback();
13
+ return setInterval(callback, sec * 1e3);
14
+ };
12
15
  const stopInterval = clearInterval;
13
16
  const isInstanceOf = (thing, cls) => thing instanceof cls;
14
17
  const isUndefined = (thing) => thing == void 0;
@@ -20,6 +23,11 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
20
23
  const size = (arrayOrString) => arrayOrString.length;
21
24
  const promiseAll = async (promises) => promise.all(promises);
22
25
 
26
+ const SINGLE_ROW_ID = '_';
27
+ const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
28
+ const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
29
+ const SELECT = 'SELECT';
30
+
23
31
  const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
24
32
  const arrayMap = (array, cb) => array.map(cb);
25
33
  const arrayIsEmpty = (array) => size(array) == 0;
@@ -88,11 +96,7 @@ const setNew = (entryOrEntries) =>
88
96
  );
89
97
  const setAdd = (set, value) => set?.add(value);
90
98
 
91
- const SINGLE_ROW_ID = '_';
92
- const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
93
- const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
94
-
95
- const SELECT_STAR_FROM = 'SELECT*FROM';
99
+ const SELECT_STAR_FROM = SELECT + '*FROM';
96
100
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
97
101
  const WHERE = 'WHERE';
98
102
  const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
@@ -110,7 +114,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
110
114
  FROM_PRAGMA_TABLE +
111
115
  `list WHERE schema='main'AND type='table'AND name IN(` +
112
116
  getPlaceholders(managedTableNames) +
113
- `)`,
117
+ `)ORDER BY name`,
114
118
  managedTableNames,
115
119
  ),
116
120
  async ({name: tableName}) => [
@@ -118,7 +122,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
118
122
  objNew(
119
123
  arrayMap(
120
124
  await cmd(
121
- 'SELECT name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
125
+ SELECT + ' name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
122
126
  [tableName],
123
127
  ),
124
128
  ({name: columnName, type}) => [columnName, type],
@@ -762,6 +766,8 @@ const createSqlitePersister = (
762
766
  ) => {
763
767
  let dataVersion;
764
768
  let schemaVersion;
769
+ let totalChanges;
770
+ const CHANGES_COLUMN = 'c';
765
771
  const [
766
772
  isJson,
767
773
  autoLoadIntervalSeconds,
@@ -769,24 +775,32 @@ const createSqlitePersister = (
769
775
  managedTableNamesSet,
770
776
  ] = getConfigStructures(configOrStoreTableName);
771
777
  const addPersisterListener = (listener) => [
772
- startInterval(async () => {
773
- try {
774
- const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
775
- DATA_VERSION
776
- ];
777
- const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
778
- SCHEMA_VERSION
779
- ];
780
- if (
781
- newDataVersion != (dataVersion ??= newDataVersion) ||
782
- newSchemaVersion != (schemaVersion ??= newSchemaVersion)
783
- ) {
784
- listener();
785
- dataVersion = newDataVersion;
786
- schemaVersion = newSchemaVersion;
787
- }
788
- } catch {}
789
- }, autoLoadIntervalSeconds * 1e3),
778
+ startInterval(
779
+ async () => {
780
+ try {
781
+ const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
782
+ DATA_VERSION
783
+ ];
784
+ const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
785
+ SCHEMA_VERSION
786
+ ];
787
+ const newTotalChanges = (
788
+ await cmd(SELECT + ' TOTAL_CHANGES() ' + CHANGES_COLUMN)
789
+ )[0][CHANGES_COLUMN];
790
+ if (
791
+ newDataVersion != (dataVersion ??= newDataVersion) ||
792
+ newSchemaVersion != (schemaVersion ??= newSchemaVersion) ||
793
+ newTotalChanges != (totalChanges ??= newTotalChanges)
794
+ ) {
795
+ listener();
796
+ dataVersion = newDataVersion;
797
+ schemaVersion = newSchemaVersion;
798
+ }
799
+ } catch {}
800
+ },
801
+ autoLoadIntervalSeconds,
802
+ 1,
803
+ ),
790
804
  addUpdateListener((tableName) =>
791
805
  managedTableNamesSet.has(tableName) ? listener() : 0,
792
806
  ),
@@ -6,7 +6,10 @@ const STRING = getTypeOf(EMPTY_STRING);
6
6
  const strRepeat = (str, count) => str.repeat(count);
7
7
 
8
8
  const promise = Promise;
9
- const startInterval = setInterval;
9
+ const startInterval = (callback, sec, immediate) => {
10
+ immediate && callback();
11
+ return setInterval(callback, sec * 1e3);
12
+ };
10
13
  const stopInterval = clearInterval;
11
14
  const isInstanceOf = (thing, cls) => thing instanceof cls;
12
15
  const isUndefined = (thing) => thing == void 0;
@@ -18,6 +21,11 @@ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
18
21
  const size = (arrayOrString) => arrayOrString.length;
19
22
  const promiseAll = async (promises) => promise.all(promises);
20
23
 
24
+ const SINGLE_ROW_ID = '_';
25
+ const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
26
+ const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
27
+ const SELECT = 'SELECT';
28
+
21
29
  const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
22
30
  const arrayMap = (array, cb) => array.map(cb);
23
31
  const arrayIsEmpty = (array) => size(array) == 0;
@@ -86,11 +94,7 @@ const setNew = (entryOrEntries) =>
86
94
  );
87
95
  const setAdd = (set, value) => set?.add(value);
88
96
 
89
- const SINGLE_ROW_ID = '_';
90
- const DEFAULT_ROW_ID_COLUMN_NAME = '_id';
91
- const escapeId = (str) => `"${str.replace(/"/g, '""')}"`;
92
-
93
- const SELECT_STAR_FROM = 'SELECT*FROM';
97
+ const SELECT_STAR_FROM = SELECT + '*FROM';
94
98
  const FROM_PRAGMA_TABLE = 'FROM pragma_table_';
95
99
  const WHERE = 'WHERE';
96
100
  const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
@@ -108,7 +112,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
108
112
  FROM_PRAGMA_TABLE +
109
113
  `list WHERE schema='main'AND type='table'AND name IN(` +
110
114
  getPlaceholders(managedTableNames) +
111
- `)`,
115
+ `)ORDER BY name`,
112
116
  managedTableNames,
113
117
  ),
114
118
  async ({name: tableName}) => [
@@ -116,7 +120,7 @@ const getCommandFunctions = (cmd, managedTableNames, onIgnoredError) => {
116
120
  objNew(
117
121
  arrayMap(
118
122
  await cmd(
119
- 'SELECT name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
123
+ SELECT + ' name,type ' + FROM_PRAGMA_TABLE + 'info(?)',
120
124
  [tableName],
121
125
  ),
122
126
  ({name: columnName, type}) => [columnName, type],
@@ -760,6 +764,8 @@ const createSqlitePersister = (
760
764
  ) => {
761
765
  let dataVersion;
762
766
  let schemaVersion;
767
+ let totalChanges;
768
+ const CHANGES_COLUMN = 'c';
763
769
  const [
764
770
  isJson,
765
771
  autoLoadIntervalSeconds,
@@ -767,24 +773,32 @@ const createSqlitePersister = (
767
773
  managedTableNamesSet,
768
774
  ] = getConfigStructures(configOrStoreTableName);
769
775
  const addPersisterListener = (listener) => [
770
- startInterval(async () => {
771
- try {
772
- const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
773
- DATA_VERSION
774
- ];
775
- const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
776
- SCHEMA_VERSION
777
- ];
778
- if (
779
- newDataVersion != (dataVersion ??= newDataVersion) ||
780
- newSchemaVersion != (schemaVersion ??= newSchemaVersion)
781
- ) {
782
- listener();
783
- dataVersion = newDataVersion;
784
- schemaVersion = newSchemaVersion;
785
- }
786
- } catch {}
787
- }, autoLoadIntervalSeconds * 1e3),
776
+ startInterval(
777
+ async () => {
778
+ try {
779
+ const newDataVersion = (await cmd(PRAGMA + DATA_VERSION))[0][
780
+ DATA_VERSION
781
+ ];
782
+ const newSchemaVersion = (await cmd(PRAGMA + SCHEMA_VERSION))[0][
783
+ SCHEMA_VERSION
784
+ ];
785
+ const newTotalChanges = (
786
+ await cmd(SELECT + ' TOTAL_CHANGES() ' + CHANGES_COLUMN)
787
+ )[0][CHANGES_COLUMN];
788
+ if (
789
+ newDataVersion != (dataVersion ??= newDataVersion) ||
790
+ newSchemaVersion != (schemaVersion ??= newSchemaVersion) ||
791
+ newTotalChanges != (totalChanges ??= newTotalChanges)
792
+ ) {
793
+ listener();
794
+ dataVersion = newDataVersion;
795
+ schemaVersion = newSchemaVersion;
796
+ }
797
+ } catch {}
798
+ },
799
+ autoLoadIntervalSeconds,
800
+ 1,
801
+ ),
788
802
  addUpdateListener((tableName) =>
789
803
  managedTableNamesSet.has(tableName) ? listener() : 0,
790
804
  ),