tinybase 8.6.0-beta.0 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/@types/_internal/queries/with-schemas/index.d.ts +1 -2
  2. package/@types/_internal/ui/with-schemas/index.d.ts +8 -16
  3. package/@types/mergeable-store/index.d.ts +4 -4
  4. package/@types/mergeable-store/with-schemas/index.d.ts +41 -17
  5. package/@types/persisters/index.d.ts +34 -13
  6. package/@types/persisters/persister-durable-object-sql-storage/index.d.ts +9 -8
  7. package/@types/persisters/persister-durable-object-sql-storage/with-schemas/index.d.ts +10 -10
  8. package/@types/persisters/with-schemas/index.d.ts +72 -30
  9. package/@types/queries/index.d.ts +5 -7
  10. package/@types/queries/with-schemas/index.d.ts +9 -15
  11. package/@types/store/index.d.ts +1 -2
  12. package/@types/store/with-schemas/index.d.ts +19 -29
  13. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +9 -3
  14. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +10 -3
  15. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +15 -2
  16. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +17 -2
  17. package/@types/synchronizers/synchronizer-ws-server-durable-object/index.d.ts +51 -0
  18. package/@types/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.d.ts +51 -0
  19. package/@types/ui-react/with-schemas/index.d.ts +3 -6
  20. package/@types/ui-react-dom/with-schemas/index.d.ts +6 -12
  21. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +3 -4
  22. package/@types/ui-solid/with-schemas/index.d.ts +4 -8
  23. package/@types/ui-solid-dom/with-schemas/index.d.ts +6 -12
  24. package/@types/ui-svelte-dom/with-schemas/index.d.ts +6 -12
  25. package/index.js +67 -25
  26. package/indexes/index.js +6 -8
  27. package/indexes/with-schemas/index.js +6 -8
  28. package/mergeable-store/index.js +46 -6
  29. package/mergeable-store/with-schemas/index.js +46 -6
  30. package/metrics/index.js +6 -8
  31. package/metrics/with-schemas/index.js +6 -8
  32. package/min/index.js +1 -1
  33. package/min/index.js.gz +0 -0
  34. package/min/mergeable-store/index.js +1 -1
  35. package/min/mergeable-store/index.js.gz +0 -0
  36. package/min/mergeable-store/with-schemas/index.js +1 -1
  37. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  38. package/min/omni/index.js +1 -1
  39. package/min/omni/index.js.gz +0 -0
  40. package/min/omni/with-schemas/index.js +1 -1
  41. package/min/omni/with-schemas/index.js.gz +0 -0
  42. package/min/persisters/index.js +1 -1
  43. package/min/persisters/index.js.gz +0 -0
  44. package/min/persisters/persister-automerge/index.js +1 -1
  45. package/min/persisters/persister-automerge/index.js.gz +0 -0
  46. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  47. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  48. package/min/persisters/persister-browser/index.js +1 -1
  49. package/min/persisters/persister-browser/index.js.gz +0 -0
  50. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  51. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  52. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  53. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  54. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  55. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  56. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  57. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  58. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  59. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  60. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  61. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  62. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  63. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  64. package/min/persisters/persister-electric-sql/index.js +1 -1
  65. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  66. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  67. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  68. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  69. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  70. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  71. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  72. package/min/persisters/persister-file/index.js +1 -1
  73. package/min/persisters/persister-file/index.js.gz +0 -0
  74. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  75. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  76. package/min/persisters/persister-indexed-db/index.js +1 -1
  77. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  78. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  79. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  80. package/min/persisters/persister-libsql/index.js +1 -1
  81. package/min/persisters/persister-libsql/index.js.gz +0 -0
  82. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  83. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  84. package/min/persisters/persister-partykit-client/index.js +1 -1
  85. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  86. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  87. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  88. package/min/persisters/persister-pglite/index.js +1 -1
  89. package/min/persisters/persister-pglite/index.js.gz +0 -0
  90. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  91. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  92. package/min/persisters/persister-postgres/index.js +1 -1
  93. package/min/persisters/persister-postgres/index.js.gz +0 -0
  94. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  95. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  96. package/min/persisters/persister-powersync/index.js +1 -1
  97. package/min/persisters/persister-powersync/index.js.gz +0 -0
  98. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  99. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  100. package/min/persisters/persister-react-native-mmkv/index.js +1 -1
  101. package/min/persisters/persister-react-native-mmkv/index.js.gz +0 -0
  102. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js +1 -1
  103. package/min/persisters/persister-react-native-mmkv/with-schemas/index.js.gz +0 -0
  104. package/min/persisters/persister-react-native-sqlite/index.js +1 -1
  105. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  106. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
  107. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  108. package/min/persisters/persister-remote/index.js +1 -1
  109. package/min/persisters/persister-remote/index.js.gz +0 -0
  110. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  111. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  112. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  113. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  114. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  115. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  116. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  117. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  118. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  119. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  120. package/min/persisters/persister-sqlite3/index.js +1 -1
  121. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  122. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  123. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  124. package/min/persisters/persister-yjs/index.js +1 -1
  125. package/min/persisters/persister-yjs/index.js.gz +0 -0
  126. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  127. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  128. package/min/persisters/with-schemas/index.js +1 -1
  129. package/min/persisters/with-schemas/index.js.gz +0 -0
  130. package/min/queries/index.js +1 -1
  131. package/min/queries/index.js.gz +0 -0
  132. package/min/queries/with-schemas/index.js +1 -1
  133. package/min/queries/with-schemas/index.js.gz +0 -0
  134. package/min/store/index.js +1 -1
  135. package/min/store/index.js.gz +0 -0
  136. package/min/store/with-schemas/index.js +1 -1
  137. package/min/store/with-schemas/index.js.gz +0 -0
  138. package/min/synchronizers/index.js +1 -1
  139. package/min/synchronizers/index.js.gz +0 -0
  140. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  141. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  142. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  143. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  144. package/min/synchronizers/synchronizer-local/index.js +1 -1
  145. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  146. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  147. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  148. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  149. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  150. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  151. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  152. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  153. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  154. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  155. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  156. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  157. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  158. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  159. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  160. package/min/synchronizers/with-schemas/index.js +1 -1
  161. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  162. package/min/ui-react-inspector/index.js +1 -1
  163. package/min/ui-react-inspector/index.js.gz +0 -0
  164. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  165. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  166. package/min/ui-solid-inspector/index.js +1 -1
  167. package/min/ui-solid-inspector/index.js.gz +0 -0
  168. package/min/ui-solid-inspector/with-schemas/index.js +1 -1
  169. package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
  170. package/min/ui-svelte-inspector/index.js +1 -1
  171. package/min/ui-svelte-inspector/index.js.gz +0 -0
  172. package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
  173. package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
  174. package/min/with-schemas/index.js +1 -1
  175. package/min/with-schemas/index.js.gz +0 -0
  176. package/omni/index.js +364 -155
  177. package/omni/with-schemas/index.js +364 -155
  178. package/package.json +8 -8
  179. package/persisters/index.js +133 -40
  180. package/persisters/persister-automerge/index.js +4 -3
  181. package/persisters/persister-automerge/with-schemas/index.js +4 -3
  182. package/persisters/persister-browser/index.js +4 -3
  183. package/persisters/persister-browser/with-schemas/index.js +4 -3
  184. package/persisters/persister-cr-sqlite-wasm/index.js +133 -40
  185. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +133 -40
  186. package/persisters/persister-durable-object-sql-storage/index.js +275 -113
  187. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +275 -113
  188. package/persisters/persister-durable-object-storage/index.js +4 -3
  189. package/persisters/persister-durable-object-storage/with-schemas/index.js +4 -3
  190. package/persisters/persister-electric-sql/index.js +133 -40
  191. package/persisters/persister-electric-sql/with-schemas/index.js +133 -40
  192. package/persisters/persister-expo-sqlite/index.js +133 -40
  193. package/persisters/persister-expo-sqlite/with-schemas/index.js +133 -40
  194. package/persisters/persister-file/index.js +4 -3
  195. package/persisters/persister-file/with-schemas/index.js +4 -3
  196. package/persisters/persister-indexed-db/index.js +4 -3
  197. package/persisters/persister-indexed-db/with-schemas/index.js +4 -3
  198. package/persisters/persister-libsql/index.js +133 -40
  199. package/persisters/persister-libsql/with-schemas/index.js +133 -40
  200. package/persisters/persister-partykit-client/index.js +4 -3
  201. package/persisters/persister-partykit-client/with-schemas/index.js +4 -3
  202. package/persisters/persister-pglite/index.js +134 -40
  203. package/persisters/persister-pglite/with-schemas/index.js +134 -40
  204. package/persisters/persister-postgres/index.js +134 -40
  205. package/persisters/persister-postgres/with-schemas/index.js +134 -40
  206. package/persisters/persister-powersync/index.js +186 -120
  207. package/persisters/persister-powersync/with-schemas/index.js +186 -120
  208. package/persisters/persister-react-native-mmkv/index.js +4 -3
  209. package/persisters/persister-react-native-mmkv/with-schemas/index.js +4 -3
  210. package/persisters/persister-react-native-sqlite/index.js +133 -40
  211. package/persisters/persister-react-native-sqlite/with-schemas/index.js +133 -40
  212. package/persisters/persister-remote/index.js +4 -3
  213. package/persisters/persister-remote/with-schemas/index.js +4 -3
  214. package/persisters/persister-sqlite-bun/index.js +133 -40
  215. package/persisters/persister-sqlite-bun/with-schemas/index.js +133 -40
  216. package/persisters/persister-sqlite-wasm/index.js +133 -40
  217. package/persisters/persister-sqlite-wasm/with-schemas/index.js +133 -40
  218. package/persisters/persister-sqlite3/index.js +133 -40
  219. package/persisters/persister-sqlite3/with-schemas/index.js +133 -40
  220. package/persisters/persister-yjs/index.js +4 -3
  221. package/persisters/persister-yjs/with-schemas/index.js +4 -3
  222. package/persisters/with-schemas/index.js +133 -40
  223. package/queries/index.js +21 -19
  224. package/queries/with-schemas/index.js +21 -19
  225. package/readme.md +14 -14
  226. package/relationships/index.js +6 -8
  227. package/relationships/with-schemas/index.js +6 -8
  228. package/releases.md +72 -57
  229. package/store/index.js +33 -2
  230. package/store/with-schemas/index.js +33 -2
  231. package/synchronizers/index.js +4 -3
  232. package/synchronizers/synchronizer-broadcast-channel/index.js +4 -3
  233. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +4 -3
  234. package/synchronizers/synchronizer-local/index.js +4 -3
  235. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -3
  236. package/synchronizers/synchronizer-ws-client/index.js +120 -45
  237. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +120 -45
  238. package/synchronizers/synchronizer-ws-server/index.js +116 -36
  239. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +116 -36
  240. package/synchronizers/synchronizer-ws-server-durable-object/index.js +125 -41
  241. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +125 -41
  242. package/synchronizers/with-schemas/index.js +4 -3
  243. package/ui-react-inspector/index.js +36 -5
  244. package/ui-react-inspector/with-schemas/index.js +36 -5
  245. package/ui-solid-inspector/index.js +36 -5
  246. package/ui-solid-inspector/with-schemas/index.js +36 -5
  247. package/ui-svelte/index.js +1 -1
  248. package/ui-svelte/with-schemas/index.js +1 -1
  249. package/ui-svelte-dom/index.js +2 -2
  250. package/ui-svelte-dom/with-schemas/index.js +2 -2
  251. package/ui-svelte-inspector/index.js +38 -7
  252. package/ui-svelte-inspector/with-schemas/index.js +38 -7
  253. package/with-schemas/index.js +67 -25
@@ -1 +1 @@
1
- const t="",e="error",a=(t,e="",a)=>t.split(e,a),s=Promise,n=Math,o=t=>(e,a,s)=>t(e)?s?.():a(e),r=globalThis,i=n.floor,c=n.random,l=t=>null==t,y=t=>void 0===t,d=t=>null===t,u=o(l),g=o(y),w=t=>Array.isArray(t),v=(t,e,a)=>t.slice(e,a),h=t=>t.length,S=t=>{throw Error(t)},p=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),A=(t,e,a)=>t.reduce(e,a),M=(t,...e)=>t.push(...e),C=t=>t.shift(),L=t=>t?.size??0,m=(P=L,t=>A(H(t),(t,e)=>t+P(e),0));var P;const _=t=>y(t)||0==L(t),H=t=>[...t?.values()??[]],D=(t,e)=>t?.forEach(e),T=(t,e)=>t?.delete(e),k=Object,O=t=>k.getPrototypeOf(t),E=k.entries,I=t=>!l(t)&&u(O(t),t=>t==k.prototype||l(O(t)),()=>!0),z=k.keys,N=k.freeze,R=(t=[])=>k.fromEntries(t),V=(t,e)=>f(E(t),([t,a])=>e(a,t)),x=t=>I(t)&&0==(t=>h(z(t)))(t),J=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),$=Map,j=t=>new $(t),F=t=>[...t?.keys()??[]],U=(t,e)=>t?.get(e),W=(t,e,a)=>y(a)?(T(t,e),t):t?.set(e,a),q=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(U(t,e)):W(t,e,a()),U(t,e)},B=(t,e,a,s,n=0)=>g((a?q:U)(t,e[n],n>h(e)-2?a:j),o=>{if(n>h(e)-2)return s?.(o)&&W(t,e[n]),o;const r=B(o,e,a,s,n+1);return _(o)&&W(t,e[n]),r}),G=/^\d+$/,K=t=>new Set(w(t)||y(t)?t:[t]),Q=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?C(e):null)??t+a++,t=>{G.test(t)&&h(e)<1e3&&M(e,t)}]})(),o=j();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const y=s(1);var d,u;return W(o,y,[n,r,i,c,l]),d=B(r,i??[t],K),u=y,d?.add(u),y},(e,s,...n)=>f(((e,a=[t])=>{const s=[],n=(t,e)=>e==h(a)?M(s,t):d(a[e])?D(t,t=>n(t,e+1)):f([a[e],null],a=>n(U(t,a),e+1));return n(e,0),s})(e,s),t=>D(t,t=>U(o,t)[0](a,...s??[],...n))),e=>g(U(o,e),([,a,s])=>(B(a,s??[t],void 0,t=>(T(t,e),_(t)?1:0)),W(o,e),n(e),s)),t=>g(U(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=h(r);i==h(e)?t(a,...r,...n(r)):d(e[i])?f(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},X=JSON.stringify,Y=JSON.parse,Z=t=>""===t?void 0:w(t)?b(t,Z):I(t)?((t,e)=>R(((t,e)=>b(E(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,Z):t,tt=(t,e)=>{const a=t.indexOf("\n");-1!==a&&e(v(t,0,a),v(t,a+1))},et=(t,e)=>t+"\n"+e,at=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),st=r.crypto?t=>r.crypto.getRandomValues(t):t=>b(t,()=>i(256*c())),nt=(e=16)=>A(st(new Uint8Array(e)),(t,e)=>t+at[63&e],t),ot=(t,e)=>e?[t,e]:[t],rt=(e,a)=>((e??t)>(a??t)?e:a)??t,it=(t="")=>ot(R(),t),ct=j(),lt=j(),yt=/\/([^?]*)/,dt=(a,n,o)=>{const r=j(),i=j(),c=j(),l=j(),[u,v,h]=Q(()=>H),A=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},P=(e,a,s)=>n=>tt(n,(n,o)=>{const r=et(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,D(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):U(a,n)?.send(r)});a.on("connection",(a,u)=>{return g((h=u.url,b=yt,h?.match(b)),([,h])=>g(u.headers["sec-websocket-key"],async u=>{const b=q(c,h,j),L=q(l,h,()=>[0]),m=P(u,b,L);_(b)&&(v(r,void 0,h,1),await(async(e,a,r)=>g(await(n?.(a)),a=>{e[0]=1,e[1]=w(a)?a[0]:a;const n=P("S",r,e);e[2]=((e,a,n,o,r,i,c,l,u={})=>{let v,h=0,f=0,b=0;const A=j(),L=()=>nt(11),m=(t,e,s,n)=>{f++,a(t,e,s,n)},P=async(t,e,a,n)=>new s((s,o)=>{const i=n+"."+nt(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{T(A,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);W(A,i,[t,(t,e)=>{clearTimeout(c),T(A,i),s([t,e,n])}]),m(t,i,e,a)}),_=(t,[e,a])=>{V(e,([e,a],s)=>{const n=J(t[0],s,it);V(e,([t,e],a)=>{const s=J(n[0],a,it);V(t,([t,e],a)=>s[0][a]=ot(t,e)),s[1]=rt(s[1],e)}),n[1]=rt(n[1],a)}),t[1]=rt(t[1],a)},H=(a=null,s,n=L())=>p(async()=>{y(s)&&([s,a,n]=await P(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let l=it();if(i!=o){const[t,s]=(await P(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!x(s)){const[t,o]=(await P(a,5,e.getMergeableRowHashes(s),n))[0];if(_(l,t),!x(o)){const t=(await P(a,6,e.getMergeableCellHashes(o),n))[0];_(l,t)}}}return[l,c==r?it():(await P(a,7,e.getMergeableValueHashes(),n))[0],1]},l),D=((t,e,a,s,n,o,r,i={},c=0,l=[])=>{let d,u,g,v=0,h=0,f=0;q(ct,l,()=>0),q(lt,l,()=>[]);const b=j(),[A,L,m,P,_]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!x(t)||!x(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!x(t)||!x(e),e.setContent]:S("Store type not supported by this Persister"))(r,t,c),[H,D,T]=Q(()=>K),k=t=>{t!=v&&(v=t,D(b,void 0,v))},O=e=>{(A&&w(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async()=>{F()&&t.__?.[0]?.()&&await V()},I=async t=>(2!=v&&(k(1),h++,await G(async()=>{await p(async()=>{const a=await e();w(a)?O(a):t?_(t):S("Content is not an array: "+a)},()=>{t&&_(t)}),k(0),await E()})),K),z=async t=>(R(),await I(t),await p(async()=>u=await s(async(t,e)=>{e||t?2!=v&&(k(1),h++,O(e??t),k(0),await E()):await I()}),o),K),R=async()=>(u&&(await p(()=>n(u),o),u=void 0),K),V=async t=>(1!=v&&(k(2),f++,await G(async()=>{await p(()=>a(L,t),o),k(0)})),K),J=async()=>($(),await V(),g=t.addDidFinishTransactionListener(()=>{const t=m();P(t)&&V(t)}),K),$=async()=>(g&&(t.delListener(g),g=void 0),K),F=()=>!y(g),B=async(t=!1)=>{const[e,a]=t?[$,R]:[R,$];return await e(),await a(),K},G=async(...t)=>(M(U(lt,l),...t),await(async()=>{if(!U(ct,l)){for(W(ct,l,1);!y(d=C(U(lt,l)));)await p(d,o);W(ct,l,0)}})(),K),K={load:I,startAutoLoad:z,stopAutoLoad:R,isAutoLoading:()=>!y(u),save:V,startAutoSave:J,stopAutoSave:$,isAutoSaving:F,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[J,z]:[z,J];return await a(t),await s(t),K},stopAutoPersisting:B,getStatus:()=>v,addStatusListener:t=>H(t,b),delListener:e=>(T(e),t),schedule:G,getStore:()=>t,destroy:()=>(U(lt,l).splice(0,void 0),B()),getStats:()=>({loads:h,saves:f}),...i};return N(K)})(e,async()=>{const t=await H();return!t||x(t[0][0])&&x(t[1][0])?void 0:t},async(t,a)=>a?m(null,L(),3,a):m(null,L(),2,e.getMergeableContentHashes()),t=>v=t,()=>v=void 0,l,2,{startSync:async t=>(h=1,await D.startAutoPersisting(t)),stopSync:async()=>(h=0,await D.stopAutoPersisting(),D),destroy:async()=>(await D.stopSync(),D),getSynchronizerStats:()=>({sends:f,receives:b}),...u},1);return n((t,a,s,n)=>{const o=h||D.isAutoLoading();b++,0==s?g(U(A,a),([e,a])=>d(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{v?.(void 0,t)}).catch(l):3==s&&o?v?.(void 0,n):g(1==s&&(h||D.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{m(t,a,0,e)})}),D})(e[1].getStore(),(e,a,s,o)=>n(((e,...a)=>et(e??t,X(a,(t,e)=>y(e)?"":e)))(e,a,s,o)),t=>e[3]=e=>((t,e)=>tt(t,(t,a)=>{return e(t,...(s=a,Z(Y(s))));var s}))(e,t),0,1,0,0,o),e[4]=[],e[5]=w(a)?a[1]:t=>0}))(L,h,b)),W(b,u,a),v(i,[h],u,1),a.on("message",t=>{const e=t.toString("utf8");0==L[0]?m(e):M(L[4],e)}),1==L[0]&&(await(async t=>{t[0]=2,await t[1].schedule(t[1].startAutoLoad,t[1].startAutoSave,t[2].startSync),t[5](t[1].getStore()),t[0]=0})(L),f(L[4],m),L[4]=[]),a.on("close",async()=>{T(b,u),v(i,[h],u,-1),_(b)&&(await A(L),T(l,h),T(c,h),v(r,void 0,h,-1))}),o&&a.on(e,o)}));var h,b}),o&&a.on(e,o);const H={getWebSocketServer:()=>a,getPathIds:()=>F(c),getClientIds:t=>F(U(c,t)),addPathIdsListener:t=>u(t,r),addClientIdsListener:(t,e)=>u(e,i,[t]),delListener:t=>(h(t),H),getStats:()=>({paths:L(c),clients:m(c)}),destroy:async()=>{var t,e;c.clear(),await(async t=>s.all(t))((t=l,e=A,b([...t?.entries()??[]],([t,a])=>e(a,t)))),a.close()}};return N(H)};export{dt as createWsServer};
1
+ const t="",e="error",a=(t,e)=>t?.match(e),s=(t,e="",a)=>t.split(e,a),n=Promise,o=Math,r=t=>(e,a,s)=>t(e)?s?.():a(e),i=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,d=o.floor,y=o.random,u=t=>null==t,g=t=>void 0===t,w=t=>null===t,v=r(u),h=r(g),p=t=>Array.isArray(t),f=(t,e,a)=>t.slice(e,a),S=t=>t.length,b=t=>{throw Error(t)},A=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),C=(t,e="")=>t.join(e),L=(t,e)=>t.map(e),m=(t,e,a)=>t.reduce(e,a),P=(t,...e)=>t.push(...e),_=t=>t.shift(),H=t=>t?.size??0,T=(D=H,t=>m(k(t),(t,e)=>t+D(e),0));var D;const I=t=>g(t)||0==H(t),k=t=>[...t?.values()??[]],E=(t,e)=>t?.forEach(e),O=(t,e)=>t?.delete(e),R=Object,$=t=>R.getPrototypeOf(t),x=R.entries,z=t=>!u(t)&&v($(t),t=>t==R.prototype||u($(t)),()=>!0),N=R.keys,V=R.freeze,j=(t=[])=>R.fromEntries(t),J=(t,e)=>M(x(t),([t,a])=>e(a,t)),F=t=>z(t)&&0==(t=>S(N(t)))(t),U=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),W=Map,q=t=>new W(t),B=t=>[...t?.keys()??[]],G=(t,e)=>t?.get(e),K=(t,e,a)=>g(a)?(O(t,e),t):t?.set(e,a),Q=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(G(t,e)):K(t,e,a()),G(t,e)},X=(t,e,a,s,n=0)=>h((a?Q:G)(t,e[n],n>S(e)-2?a:q),o=>{if(n>S(e)-2)return s?.(o)&&K(t,e[n]),o;const r=X(o,e,a,s,n+1);return I(o)&&K(t,e[n]),r}),Y=/^\d+$/,Z=t=>new Set(p(t)||g(t)?t:[t]),tt=e=>{let a;const[s,n]=(()=>{const e=[];let a=0;return[s=>(s?_(e):null)??t+a++,t=>{Y.test(t)&&S(e)<1e3&&P(e,t)}]})(),o=q();return[(n,r,i,c=[],l=()=>[])=>{a??=e();const d=s(1);var y,u;return K(o,d,[n,r,i,c,l]),y=X(r,i??[t],Z),u=d,y?.add(u),d},(e,s,...n)=>M(((e,a=[t])=>{const s=[],n=(t,e)=>e==S(a)?P(s,t):w(a[e])?E(t,t=>n(t,e+1)):M([a[e],null],a=>n(G(t,a),e+1));return n(e,0),s})(e,s),t=>E(t,t=>G(o,t)[0](a,...s??[],...n))),e=>h(G(o,e),([,a,s])=>(X(a,s??[t],void 0,t=>(O(t,e),I(t)?1:0)),K(o,e),n(e),s)),t=>h(G(o,t),([t,,e=[],s,n])=>{const o=(...r)=>{const i=S(r);i==S(e)?t(a,...r,...n(r)):w(e[i])?M(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,e[i])};o()})]},et=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),at=i.crypto?t=>i.crypto.getRandomValues(t):t=>L(t,()=>d(256*y())),st=(e=16)=>m(at(new Uint8Array(e)),(t,e)=>t+et[63&e],t),nt=JSON.stringify,ot=JSON.parse,rt=t=>""===t?void 0:p(t)?L(t,rt):z(t)?((t,e)=>j(((t,e)=>L(x(t),([t,a])=>e(a,t)))(t,(t,a)=>[a,e(t,a)])))(t,rt):t,it="\n",ct=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,lt=(t,e)=>{const a=t.indexOf(it);-1!==a&&e(f(t,0,a),f(t,a+1))},dt=(t,e,a)=>{return a(t,...(s=e,rt(ot(s))));var s},yt=(t,e)=>t+it+e,ut=(t,e)=>e?[t,e]:[t],gt=(e,a)=>((e??t)>(a??t)?e:a)??t,wt=(t="")=>ut(j(),t),vt=q(),ht=q(),pt=/\/([^?]*)/,ft=(s,o,r,i=1,y)=>{const u=q(),v=q(),f=q(),m=q(),[D,k,R]=tt(()=>z),$=async t=>{await(t[1]?.destroy()),await(t[2]?.destroy())},x=(e,a,s)=>n=>lt(n,(n,o)=>{const r=yt(e,o);var i;n===t?("S"!==e&&s[3]?.(r),i=(t,a)=>t!==e?a.send(r):0,E(a,(t,e)=>i(e,t))):"S"===n?s[3]?.(r):G(a,n)?.send(r)});s.on("connection",(s,H)=>h(a(H.url,pt),([,T])=>h(H.headers["sec-websocket-key"],async H=>{const D=Q(f,T,q),E=Q(m,T,()=>[0]),R=x(H,D,E);I(D)&&(k(u,void 0,T,1),await(async(e,s,u)=>h(await(o?.(s)),s=>{e[0]=1,e[1]=p(s)?s[0]:s;const o=x("S",u,e);e[2]=((e,a,s,o,r,i,l,d,y={})=>{let u,v=0,f=0,S=0;const M=q(),C=()=>st(11),L=(t,e,s,n)=>{f++,a(t,e,s,n)},m=async(t,e,a,s)=>new n((n,o)=>{const i=s+"."+st(4),l=c(()=>{O(M,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);K(M,i,[t,(t,e)=>{clearTimeout(l),O(M,i),n([t,e,s])}]),L(t,i,e,a)}),H=(t,[e,a])=>{J(e,([e,a],s)=>{const n=U(t[0],s,wt);J(e,([t,e],a)=>{const s=U(n[0],a,wt);J(t,([t,e],a)=>s[0][a]=ut(t,e)),s[1]=gt(s[1],e)}),n[1]=gt(n[1],a)}),t[1]=gt(t[1],a)},T=(a=null,s,n=C())=>A(async()=>{g(s)&&([s,a,n]=await m(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let l=wt();if(i!=o){const[t,s]=(await m(a,4,e.getMergeableTableHashes(),n))[0];if(l=t,!F(s)){const[t,o]=(await m(a,5,e.getMergeableRowHashes(s),n))[0];if(H(l,t),!F(o)){const t=(await m(a,6,e.getMergeableCellHashes(o),n))[0];H(l,t)}}}return[l,c==r?wt():(await m(a,7,e.getMergeableValueHashes(),n))[0],1]},d),D=((t,e,a,s,n,o,r,i={},c=0,l=[])=>{let d,y,u,w=0,v=0,h=0;Q(vt,l,()=>0),Q(ht,l,()=>[]);const f=q(),[S,M,C,L,m]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!F(t)||!F(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!F(t)||!F(e),e.setContent]:b("Store type not supported by this Persister"))(r,t,c),[H,T,D]=tt(()=>W),I=t=>{t!=w&&(w=t,T(f,void 0,w))},k=e=>{(S&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},E=async()=>{j()&&t.__?.[0]?.()&&await x()},O=async t=>(2!=w&&(I(1),v++,await U(async()=>{await A(async()=>{const a=await e();p(a)?k(a):g(a)&&t?m(t):g(a)||b("Content is not an array: "+a)},e=>{o?.(e),t&&m(t)}),I(0),await E()})),W),R=async t=>($(),await O(t),await A(async()=>y=await s(async(t,e)=>{e||t?2!=w&&(I(1),v++,k(e??t),I(0),await E()):await O()}),o),W),$=async()=>(y&&(await A(()=>n(y),o),y=void 0),W),x=async t=>(1!=w&&(I(2),h++,await U(async()=>{await A(()=>a(M,t),o),I(0)})),W),z=async()=>(N(),await x(),u=t.addDidFinishTransactionListener(()=>{const t=C();L(t)&&x(t)}),W),N=async()=>(u&&(t.delListener(u),u=void 0),W),j=()=>!g(u),J=async(t=!1)=>{const[e,a]=t?[N,$]:[$,N];return await e(),await a(),W},U=async(...t)=>(P(G(ht,l),...t),await(async()=>{if(!G(vt,l)){for(K(vt,l,1);!g(d=_(G(ht,l)));)await A(d,o);K(vt,l,0)}})(),W),W={load:O,startAutoLoad:R,stopAutoLoad:$,isAutoLoading:()=>!g(y),save:x,startAutoSave:z,stopAutoSave:N,isAutoSaving:j,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[z,R]:[R,z];return await a(t),await s(t),W},stopAutoPersisting:J,getStatus:()=>w,addStatusListener:t=>H(t,f),delListener:e=>(D(e),t),schedule:U,getStore:()=>t,destroy:()=>(G(ht,l).splice(0,void 0),J()),getStats:()=>({loads:v,saves:h}),...i};return V(W)})(e,async()=>{const t=await T();return!t||F(t[0][0])&&F(t[1][0])?void 0:t},async(t,a)=>a?L(null,C(),3,a):L(null,C(),2,e.getMergeableContentHashes()),t=>u=t,()=>u=void 0,d,2,{startSync:async t=>(v=1,await D.startAutoPersisting(t)),stopSync:async()=>(v=0,await D.stopAutoPersisting(),D),destroy:async()=>(await D.stopSync(),D),getSynchronizerStats:()=>({sends:f,receives:S}),...y},1);return s((t,a,s,n)=>{const o=v||D.isAutoLoading();S++,0==s?h(G(M,a),([e,a])=>w(e)||e==t?a(n,t):0):2==s&&o?T(t,n,a??void 0).then(t=>{u?.(void 0,t)}).catch(d):3==s&&o?u?.(void 0,n):h(1==s&&(v||D.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{L(t,a,0,e)})}),D})(e[1].getStore(),(e,s,n,r)=>M(((e,s,n,o,r)=>{const i=e??t,c=nt([s,n,o],(t,e)=>g(e)?"":e),l=d(r??0);if(g(r)||l<1||S(c)<=l)return[yt(i,c)];const y=a(c,RegExp(`.{1,${l}}`,"g")),u=S(y??[]),w=st();return L(y??[],(t,e)=>yt(i,C([w,e,u,t],it)))})(e,s,n,r,y),o),t=>{e[3]=((t,e=1)=>{const s=q(),n=t=>c(()=>O(s,t),e);return e=>lt(e,(e,o)=>{const[,r,i,c,d]=a(o,ct)??[];if(r){const a=parseInt(i),o=parseInt(c);if(o>0&&a>=0&&a<o){const i=e+it+r,c=Q(s,i,()=>[[],o,o,n(i)]),[y]=c;o==c[2]&&g(y[a])&&(l(c[3]),c[3]=n(i),y[a]=d,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),O(s,t)})(i,c),dt(e,C(y),t))}}else dt(e,o,t)})})(t,i)},0,i,0,0,r),e[4]=[],e[5]=p(s)?s[1]:t=>0}))(E,T,D)),K(D,H,s),k(v,[T],H,1),s.on("message",t=>{const e=t.toString("utf8");0==E[0]?R(e):P(E[4],e)}),1==E[0]&&(await(async t=>{t[0]=2,await t[1].startAutoLoad(),await t[1].startAutoSave(),await t[2].startSync(),t[5](t[1].getStore()),t[0]=0})(E),M(E[4],R),E[4]=[]),s.on("close",async()=>{O(D,H),k(v,[T],H,-1),I(D)&&(await $(E),O(m,T),O(f,T),k(u,void 0,T,-1))}),r&&s.on(e,r)}))),r&&s.on(e,r);const z={getWebSocketServer:()=>s,getPathIds:()=>B(f),getClientIds:t=>B(G(f,t)),addPathIdsListener:t=>D(t,u),addClientIdsListener:(t,e)=>D(e,v,[t]),delListener:t=>(R(t),z),getStats:()=>({paths:H(f),clients:T(f)}),destroy:async()=>{var t,e;f.clear(),await(async t=>n.all(t))((t=m,e=$,L([...t?.entries()??[]],([t,a])=>e(a,t)))),s.close()}};return V(z)};export{ft as createWsServer};
@@ -1 +1 @@
1
- import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=Math,r=t=>(e,s,a)=>t(e)?a?.():s(e),i=globalThis,o=(t,e=0)=>setTimeout(t,1e3*e),c=n.floor,l=n.random,g=t=>null==t,u=t=>void 0===t,d=t=>null===t,h=r(g),w=r(u),y=t=>Array.isArray(t),p=(t,e,s)=>t.slice(e,s),S=t=>t.length,v=t=>{throw Error(t)},C=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),m=Object,P=t=>m.getPrototypeOf(t),k=m.entries,x=t=>!g(t)&&h(P(t),t=>t==m.prototype||g(P(t)),()=>!0),L=m.keys,T=m.freeze,I=(t=[])=>m.fromEntries(t),_=(t,e)=>f(k(t),([t,s])=>e(s,t)),H=t=>x(t)&&0==(t=>S(L(t)))(t),D=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=JSON.stringify,R=JSON.parse,E=t=>""===t?void 0:y(t)?b(t,E):x(t)?((t,e)=>I(((t,e)=>b(k(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,E):t,N=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(p(t,0,s),p(t,s+1))},W=(t,...s)=>z(t??e,O(s,(t,e)=>u(e)?"":e)),z=(t,e)=>t+"\n"+e,U=t=>u(t)||0==(t=>t?.size??0)(t),V=(t,e)=>t?.forEach(e),F=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),q=(t,e,s)=>u(s)?(F(t,e),t):t?.set(e,s),B=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(j(t,e)):q(t,e,s()),j(t,e)},G=(t,e,s,a,n=0)=>w((s?B:j)(t,e[n],n>S(e)-2?s:$),r=>{if(n>S(e)-2)return a?.(r)&&q(t,e[n]),r;const i=G(r,e,s,a,n+1);return U(r)&&q(t,e[n]),i}),K=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=i.crypto?t=>i.crypto.getRandomValues(t):t=>b(t,()=>c(256*l())),X=(t=16)=>{return e=(t,e)=>t+K[63&e],Q(new Uint8Array(t)).reduce(e,"");var e},Y=(t,e)=>e?[t,e]:[t],Z=(t,s)=>((t??e)>(s??e)?t:s)??e,tt=(t="")=>Y(I(),t),et=/^\d+$/,st=t=>new Set(y(t)||u(t)?t:[t]),at=$(),nt=$(),rt=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let h,p,b,m=0,P=0,k=0;B(at,g,()=>0),B(nt,g,()=>[]);const x=$(),[L,I,_,D,O]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!H(t)||!H(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!H(t)||!H(e),e.setContent]:v("Store type not supported by this Persister"))(o,t,l),[R,E,N]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?A(t):null)??e+s++,e=>{et.test(e)&&S(t)<1e3&&M(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=ct;const l=s(1);var g,u;return q(n,l,[a,r,i,o,c]),g=G(r,i??[e],st),u=l,g?.add(u),l},(s,a,...r)=>f(((t,s=[e])=>{const a=[],n=(t,e)=>e==S(s)?M(a,t):d(s[e])?V(t,t=>n(t,e+1)):f([s[e],null],s=>n(j(t,s),e+1));return n(t,0),a})(s,a),e=>V(e,e=>j(n,e)[0](t,...a??[],...r))),t=>w(j(n,t),([,s,r])=>(G(s,r??[e],void 0,e=>(F(e,t),U(e)?1:0)),q(n,t),a(t),r)),e=>w(j(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=S(i);o==S(s)?e(t,...i,...n(i)):d(s[o])?f(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),W=t=>{t!=m&&(m=t,E(x,void 0,m))},z=e=>{(L&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async()=>{rt()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=m&&(W(1),P++,await ot(async()=>{await C(async()=>{const e=await s();y(e)?z(e):t?O(t):v("Content is not an array: "+e)},()=>{t&&O(t)}),W(0),await J()})),ct),Q=async t=>(X(),await K(t),await C(async()=>p=await n(async(t,e)=>{e||t?2!=m&&(W(1),P++,z(e??t),W(0),await J()):await K()}),i),ct),X=async()=>(p&&(await C(()=>r(p),i),p=void 0),ct),Y=async t=>(1!=m&&(W(2),k++,await ot(async()=>{await C(()=>a(I,t),i),W(0)})),ct),Z=async()=>(tt(),await Y(),b=t.addDidFinishTransactionListener(()=>{const t=_();D(t)&&Y(t)}),ct),tt=async()=>(b&&(t.delListener(b),b=void 0),ct),rt=()=>!u(b),it=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),ct},ot=async(...t)=>(M(j(nt,g),...t),await(async()=>{if(!j(at,g)){for(q(at,g,1);!u(h=A(j(nt,g)));)await C(h,i);q(at,g,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!u(p),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),ct},stopAutoPersisting:it,getStatus:()=>m,addStatusListener:t=>R(t,x),delListener:e=>(N(e),t),schedule:ot,getStore:()=>t,destroy:()=>(j(nt,g).splice(0,void 0),it()),getStats:()=>({loads:P,saves:k}),...c};return T(ct)},it=/\/([^?]*)/,ot="S",ct=t=>{return(s=new URL(t.url).pathname,a=it,s?.match(a))?.[1]??e;var s,a},lt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,gt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),ut=()=>gt(426,null,"Upgrade required");class dt extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await w(await this.createPersister(),async t=>{const s=((t,s,n,r,i,c,l,g,h={})=>{let y,p=0,S=0,v=0;const f=$(),b=()=>X(11),M=(t,e,a,n)=>{S++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+X(4),l=o(()=>{F(f,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},i);q(f,c,[t,(t,e)=>{clearTimeout(l),F(f,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{_(e,([e,s],a)=>{const n=D(t[0],a,tt);_(e,([t,e],s)=>{const a=D(n[0],s,tt);_(t,([t,e],s)=>a[0][s]=Y(t,e)),a[1]=Z(a[1],e)}),n[1]=Z(n[1],s)}),t[1]=Z(t[1],s)},P=(s=null,a,n=b())=>C(async()=>{u(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=tt();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!H(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!H(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?tt():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},g),k=rt(t,async()=>{const t=await P();return!t||H(t[0][0])&&H(t[1][0])?void 0:t},async(e,s)=>s?M(null,b(),3,s):M(null,b(),2,t.getMergeableContentHashes()),t=>y=t,()=>y=void 0,g,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:S,receives:v}),...h},1);return n((e,s,a,n)=>{const r=p||k.isAutoLoading();v++,0==a?w(j(f,s),([t,s])=>d(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{y?.(void 0,t)}).catch(g):3==a&&r?y?.(void 0,n):w(1==a&&(p||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(ot,W(t,e,s,a)),t=>this.#t=e=>((t,e)=>N(t,(t,s)=>{return e(t,...(a=s,E(R(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),o(s.startSync)}))}fetch(t){const s=ct(t);return w(lt(t),t=>{const[a,n]=(r=new WebSocketPair,m.values(r));var r,i;return i=this.#s(),0==S(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(W(ot,null,1,e)),gt(101,a)},ut)}webSocketMessage(t,e){w(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==S(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){N(s.toString(),(s,n)=>{const r=z(t,n);this.onMessage(t,s,n),s==e?(t!=ot&&this.#t?.(r),f(this.#s(),t=>{t!=a&&t.send(r)})):s==ot?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const ht=t=>(e,s)=>lt(e)?s[t].get(s[t].idFromName(ct(e))).fetch(e):ut();export{dt as WsServerDurableObject,ht as getWsServerDurableObjectFetch};
1
+ import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e)=>t?.match(e),a=(t,e="",s)=>t.split(e,s),n=Promise,r=Math,i=t=>(e,s,a)=>t(e)?a?.():s(e),o=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,g=r.floor,u=r.random,d=t=>null==t,h=t=>void 0===t,w=t=>null===t,y=i(d),S=i(h),p=t=>Array.isArray(t),f=(t,e,s)=>t.slice(e,s),v=t=>t.length,C=t=>{throw Error(t)},b=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),m=(t,e="")=>t.join(e),A=(t,e)=>t.map(e),P=(t,...e)=>t.push(...e),T=t=>t.shift(),k=Object,x=t=>k.getPrototypeOf(t),I=k.entries,L=t=>!d(t)&&y(x(t),t=>t==k.prototype||d(x(t)),()=>!0),R=k.keys,_=k.freeze,H=(t=[])=>k.fromEntries(t),D=(t,e)=>M(I(t),([t,s])=>e(s,t)),z=t=>L(t)&&0==(t=>v(R(t)))(t),E=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=t=>h(t)||0==(t=>t?.size??0)(t),F=(t,e)=>t?.forEach(e),N=(t,e)=>t?.delete(e),W=Map,$=t=>new W(t),q=(t,e)=>t?.get(e),U=(t,e,s)=>h(s)?(N(t,e),t):t?.set(e,s),V=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(q(t,e)):U(t,e,s()),q(t,e)},j=(t,e,s,a,n=0)=>S((s?V:q)(t,e[n],n>v(e)-2?s:$),r=>{if(n>v(e)-2)return a?.(r)&&U(t,e[n]),r;const i=j(r,e,s,a,n+1);return O(r)&&U(t,e[n]),i}),J=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=o.crypto?t=>o.crypto.getRandomValues(t):t=>A(t,()=>g(256*u())),G=(t=16)=>{return e=(t,e)=>t+J[63&e],B(new Uint8Array(t)).reduce(e,"");var e},K=JSON.stringify,Q=JSON.parse,X=t=>K(t,(t,e)=>h(e)?"":e),Y=t=>""===t?void 0:p(t)?A(t,Y):L(t)?((t,e)=>H(((t,e)=>A(I(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,Y):t,Z="\n",tt=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,et=(t,e)=>{const s=t.indexOf(Z);-1!==s&&e(f(t,0,s),f(t,s+1))},st=(t,e,s)=>{return s(t,...(a=e,Y(Q(a))));var a},at=(t,e)=>t+Z+e,nt=(t,e)=>e?[t,e]:[t],rt=(t,s)=>((t??e)>(s??e)?t:s)??e,it=(t="")=>nt(H(),t),ot=/^\d+$/,ct=t=>new Set(p(t)||h(t)?t:[t]),lt=$(),gt=$(),ut=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let u,d,y,f=0,m=0,A=0;V(lt,g,()=>0),V(gt,g,()=>[]);const k=$(),[x,I,L,R,H]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!z(t)||!z(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!z(t)||!z(e),e.setContent]:C("Store type not supported by this Persister"))(o,t,l),[D,E,W]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?T(t):null)??e+s++,e=>{ot.test(e)&&v(t)<1e3&&P(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=nt;const l=s(1);var g,u;return U(n,l,[a,r,i,o,c]),g=j(r,i??[e],ct),u=l,g?.add(u),l},(s,a,...r)=>M(((t,s=[e])=>{const a=[],n=(t,e)=>e==v(s)?P(a,t):w(s[e])?F(t,t=>n(t,e+1)):M([s[e],null],s=>n(q(t,s),e+1));return n(t,0),a})(s,a),e=>F(e,e=>q(n,e)[0](t,...a??[],...r))),t=>S(q(n,t),([,s,r])=>(j(s,r??[e],void 0,e=>(N(e,t),O(e)?1:0)),U(n,t),a(t),r)),e=>S(q(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=v(i);o==v(s)?e(t,...i,...n(i)):w(s[o])?M(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),J=t=>{t!=f&&(f=t,E(k,void 0,f))},B=e=>{(x&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},G=async()=>{et()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=f&&(J(1),m++,await at(async()=>{await b(async()=>{const e=await s();p(e)?B(e):h(e)&&t?H(t):h(e)||C("Content is not an array: "+e)},e=>{t&&H(t)}),J(0),await G()})),nt),Q=async t=>(X(),await K(t),await b(async()=>d=await n(async(t,e)=>{e||t?2!=f&&(J(1),m++,B(e??t),J(0),await G()):await K()}),i),nt),X=async()=>(d&&(await b(()=>r(d),i),d=void 0),nt),Y=async t=>(1!=f&&(J(2),A++,await at(async()=>{await b(()=>a(I,t),i),J(0)})),nt),Z=async()=>(tt(),await Y(),y=t.addDidFinishTransactionListener(()=>{const t=L();R(t)&&Y(t)}),nt),tt=async()=>(y&&(t.delListener(y),y=void 0),nt),et=()=>!h(y),st=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),nt},at=async(...t)=>(P(q(gt,g),...t),await(async()=>{if(!q(lt,g)){for(U(lt,g,1);!h(u=T(q(gt,g)));)await b(u,i);U(lt,g,0)}})(),nt),nt={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!h(d),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:et,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),nt},stopAutoPersisting:st,getStatus:()=>f,addStatusListener:t=>D(t,k),delListener:e=>(W(e),t),schedule:at,getStore:()=>t,destroy:()=>(q(gt,g).splice(0,void 0),st()),getStats:()=>({loads:m,saves:A}),...c};return _(nt)},dt=/\/([^?]*)/,ht="S",wt=t=>s(new URL(t.url).pathname,dt)?.[1]??e,yt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,St=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),pt=()=>St(426,null,"Upgrade required");class ft extends t{#t;constructor(t,a){super(t,a),this.ctx.blockConcurrencyWhile(async()=>await S(await this.createPersister(),async t=>{const a=this.getRequestTimeoutSeconds(),r=((t,s,a,r,i,o,l,g,u={})=>{let d,y=0,p=0,f=0;const v=$(),C=()=>G(11),M=(t,e,a,n)=>{p++,s(t,e,a,n)},m=async(t,e,s,a)=>new n((n,r)=>{const o=a+"."+G(4),l=c(()=>{N(v,o),r(`No response from ${t??"anyone"} to ${o}, `+e)},i);U(v,o,[t,(t,e)=>{clearTimeout(l),N(v,o),n([t,e,a])}]),M(t,o,e,s)}),A=(t,[e,s])=>{D(e,([e,s],a)=>{const n=E(t[0],a,it);D(e,([t,e],s)=>{const a=E(n[0],s,it);D(t,([t,e],s)=>a[0][s]=nt(t,e)),a[1]=rt(a[1],e)}),n[1]=rt(n[1],s)}),t[1]=rt(t[1],s)},P=(s=null,a,n=C())=>b(async()=>{h(a)&&([a,s,n]=await m(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=it();if(o!=r){const[e,a]=(await m(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!z(a)){const[e,r]=(await m(s,5,t.getMergeableRowHashes(a),n))[0];if(A(l,e),!z(r)){const e=(await m(s,6,t.getMergeableCellHashes(r),n))[0];A(l,e)}}}return[l,c==i?it():(await m(s,7,t.getMergeableValueHashes(),n))[0],1]},g),T=ut(t,async()=>{const t=await P();return!t||z(t[0][0])&&z(t[1][0])?void 0:t},async(e,s)=>s?M(null,C(),3,s):M(null,C(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,g,2,{startSync:async t=>(y=1,await T.startAutoPersisting(t)),stopSync:async()=>(y=0,await T.stopAutoPersisting(),T),destroy:async()=>(await T.stopSync(),T),getSynchronizerStats:()=>({sends:p,receives:f}),...u},1);return a((e,s,a,n)=>{const r=y||T.isAutoLoading();f++,0==a?S(q(v,s),([t,s])=>w(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==a&&r?d?.(void 0,n):S(1==a&&(y||T.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),T})(t.getStore(),(t,a,n,r)=>M(((t,a,n,r,i)=>{const o=t??e,c=X([a,n,r]),l=g(i??0);if(h(i)||l<1||v(c)<=l)return[at(o,c)];const u=s(c,RegExp(`.{1,${l}}`,"g")),d=v(u??[]),w=G();return A(u??[],(t,e)=>at(o,m([w,e,d,t],Z)))})(t,a,n,r,this.getFragmentSize()),t=>this.#e(ht,t)),t=>this.#t=((t,e=1)=>{const a=$(),n=t=>c(()=>N(a,t),e);return e=>et(e,(e,r)=>{const[,i,o,c,g]=s(r,tt)??[];if(i){const s=parseInt(o),r=parseInt(c);if(r>0&&s>=0&&s<r){const o=e+Z+i,c=V(a,o,()=>[[],r,r,n(o)]),[u]=c;r==c[2]&&h(u[s])&&(l(c[3]),c[3]=n(o),u[s]=g,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),N(a,t)})(o,c),st(e,m(u),t))}}else st(e,r,t)})})(t,a),0,a);await t.load(),await t.startAutoSave(),c(r.startSync)}))}fetch(t){const s=wt(t);return S(yt(t),t=>{const[a,n]=(r=new WebSocketPair,k.values(r));var r,i;return i=this.#s(),0==v(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(at(ht,X([null,1,e]))),St(101,a)},pt)}webSocketMessage(t,e){S(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==v(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){et(s.toString(),(s,n)=>{const r=at(t,n);this.onMessage(t,s,n),s==e?(t!=ht&&this.#t?.(r),M(this.#s(),t=>{t!=a&&t.send(r)})):s==ht?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return A(this.#s(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const vt=t=>(e,s)=>yt(e)?s[t].get(s[t].idFromName(wt(e))).fetch(e):pt();export{ft as WsServerDurableObject,vt as getWsServerDurableObjectFetch};
@@ -1 +1 @@
1
- import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e="",s)=>t.split(e,s),a=Promise,n=Math,r=t=>(e,s,a)=>t(e)?a?.():s(e),i=globalThis,o=(t,e=0)=>setTimeout(t,1e3*e),c=n.floor,l=n.random,g=t=>null==t,u=t=>void 0===t,d=t=>null===t,h=r(g),w=r(u),y=t=>Array.isArray(t),p=(t,e,s)=>t.slice(e,s),S=t=>t.length,v=t=>{throw Error(t)},C=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},f=(t,e)=>t.forEach(e),b=(t,e)=>t.map(e),M=(t,...e)=>t.push(...e),A=t=>t.shift(),m=Object,P=t=>m.getPrototypeOf(t),k=m.entries,x=t=>!g(t)&&h(P(t),t=>t==m.prototype||g(P(t)),()=>!0),L=m.keys,T=m.freeze,I=(t=[])=>m.fromEntries(t),_=(t,e)=>f(k(t),([t,s])=>e(s,t)),H=t=>x(t)&&0==(t=>S(L(t)))(t),D=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=JSON.stringify,R=JSON.parse,E=t=>""===t?void 0:y(t)?b(t,E):x(t)?((t,e)=>I(((t,e)=>b(k(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,E):t,N=(t,e)=>{const s=t.indexOf("\n");-1!==s&&e(p(t,0,s),p(t,s+1))},W=(t,...s)=>z(t??e,O(s,(t,e)=>u(e)?"":e)),z=(t,e)=>t+"\n"+e,U=t=>u(t)||0==(t=>t?.size??0)(t),V=(t,e)=>t?.forEach(e),F=(t,e)=>t?.delete(e),J=Map,$=t=>new J(t),j=(t,e)=>t?.get(e),q=(t,e,s)=>u(s)?(F(t,e),t):t?.set(e,s),B=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(j(t,e)):q(t,e,s()),j(t,e)},G=(t,e,s,a,n=0)=>w((s?B:j)(t,e[n],n>S(e)-2?s:$),r=>{if(n>S(e)-2)return a?.(r)&&q(t,e[n]),r;const i=G(r,e,s,a,n+1);return U(r)&&q(t,e[n]),i}),K=s("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),Q=i.crypto?t=>i.crypto.getRandomValues(t):t=>b(t,()=>c(256*l())),X=(t=16)=>{return e=(t,e)=>t+K[63&e],Q(new Uint8Array(t)).reduce(e,"");var e},Y=(t,e)=>e?[t,e]:[t],Z=(t,s)=>((t??e)>(s??e)?t:s)??e,tt=(t="")=>Y(I(),t),et=/^\d+$/,st=t=>new Set(y(t)||u(t)?t:[t]),at=$(),nt=$(),rt=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let h,p,b,m=0,P=0,k=0;B(at,g,()=>0),B(nt,g,()=>[]);const x=$(),[L,I,_,D,O]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!H(t)||!H(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!H(t)||!H(e),e.setContent]:v("Store type not supported by this Persister"))(o,t,l),[R,E,N]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?A(t):null)??e+s++,e=>{et.test(e)&&S(t)<1e3&&M(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=ct;const l=s(1);var g,u;return q(n,l,[a,r,i,o,c]),g=G(r,i??[e],st),u=l,g?.add(u),l},(s,a,...r)=>f(((t,s=[e])=>{const a=[],n=(t,e)=>e==S(s)?M(a,t):d(s[e])?V(t,t=>n(t,e+1)):f([s[e],null],s=>n(j(t,s),e+1));return n(t,0),a})(s,a),e=>V(e,e=>j(n,e)[0](t,...a??[],...r))),t=>w(j(n,t),([,s,r])=>(G(s,r??[e],void 0,e=>(F(e,t),U(e)?1:0)),q(n,t),a(t),r)),e=>w(j(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=S(i);o==S(s)?e(t,...i,...n(i)):d(s[o])?f(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),W=t=>{t!=m&&(m=t,E(x,void 0,m))},z=e=>{(L&&y(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},J=async()=>{rt()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=m&&(W(1),P++,await ot(async()=>{await C(async()=>{const e=await s();y(e)?z(e):t?O(t):v("Content is not an array: "+e)},()=>{t&&O(t)}),W(0),await J()})),ct),Q=async t=>(X(),await K(t),await C(async()=>p=await n(async(t,e)=>{e||t?2!=m&&(W(1),P++,z(e??t),W(0),await J()):await K()}),i),ct),X=async()=>(p&&(await C(()=>r(p),i),p=void 0),ct),Y=async t=>(1!=m&&(W(2),k++,await ot(async()=>{await C(()=>a(I,t),i),W(0)})),ct),Z=async()=>(tt(),await Y(),b=t.addDidFinishTransactionListener(()=>{const t=_();D(t)&&Y(t)}),ct),tt=async()=>(b&&(t.delListener(b),b=void 0),ct),rt=()=>!u(b),it=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),ct},ot=async(...t)=>(M(j(nt,g),...t),await(async()=>{if(!j(at,g)){for(q(at,g,1);!u(h=A(j(nt,g)));)await C(h,i);q(at,g,0)}})(),ct),ct={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!u(p),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:rt,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),ct},stopAutoPersisting:it,getStatus:()=>m,addStatusListener:t=>R(t,x),delListener:e=>(N(e),t),schedule:ot,getStore:()=>t,destroy:()=>(j(nt,g).splice(0,void 0),it()),getStats:()=>({loads:P,saves:k}),...c};return T(ct)},it=/\/([^?]*)/,ot="S",ct=t=>{return(s=new URL(t.url).pathname,a=it,s?.match(a))?.[1]??e;var s,a},lt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,gt=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),ut=()=>gt(426,null,"Upgrade required");class dt extends t{#t;constructor(t,s){super(t,s),this.ctx.blockConcurrencyWhile(async()=>await w(await this.createPersister(),async t=>{const s=((t,s,n,r,i,c,l,g,h={})=>{let y,p=0,S=0,v=0;const f=$(),b=()=>X(11),M=(t,e,a,n)=>{S++,s(t,e,a,n)},A=async(t,e,s,n)=>new a((a,r)=>{const c=n+"."+X(4),l=o(()=>{F(f,c),r(`No response from ${t??"anyone"} to ${c}, `+e)},i);q(f,c,[t,(t,e)=>{clearTimeout(l),F(f,c),a([t,e,n])}]),M(t,c,e,s)}),m=(t,[e,s])=>{_(e,([e,s],a)=>{const n=D(t[0],a,tt);_(e,([t,e],s)=>{const a=D(n[0],s,tt);_(t,([t,e],s)=>a[0][s]=Y(t,e)),a[1]=Z(a[1],e)}),n[1]=Z(n[1],s)}),t[1]=Z(t[1],s)},P=(s=null,a,n=b())=>C(async()=>{u(a)&&([a,s,n]=await A(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=tt();if(o!=r){const[e,a]=(await A(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!H(a)){const[e,r]=(await A(s,5,t.getMergeableRowHashes(a),n))[0];if(m(l,e),!H(r)){const e=(await A(s,6,t.getMergeableCellHashes(r),n))[0];m(l,e)}}}return[l,c==i?tt():(await A(s,7,t.getMergeableValueHashes(),n))[0],1]},g),k=rt(t,async()=>{const t=await P();return!t||H(t[0][0])&&H(t[1][0])?void 0:t},async(e,s)=>s?M(null,b(),3,s):M(null,b(),2,t.getMergeableContentHashes()),t=>y=t,()=>y=void 0,g,2,{startSync:async t=>(p=1,await k.startAutoPersisting(t)),stopSync:async()=>(p=0,await k.stopAutoPersisting(),k),destroy:async()=>(await k.stopSync(),k),getSynchronizerStats:()=>({sends:S,receives:v}),...h},1);return n((e,s,a,n)=>{const r=p||k.isAutoLoading();v++,0==a?w(j(f,s),([t,s])=>d(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{y?.(void 0,t)}).catch(g):3==a&&r?y?.(void 0,n):w(1==a&&(p||k.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),k})(t.getStore(),(t,e,s,a)=>this.#e(ot,W(t,e,s,a)),t=>this.#t=e=>((t,e)=>N(t,(t,s)=>{return e(t,...(a=s,E(R(a))));var a}))(e,t),0,1);await t.load(),await t.startAutoSave(),o(s.startSync)}))}fetch(t){const s=ct(t);return w(lt(t),t=>{const[a,n]=(r=new WebSocketPair,m.values(r));var r,i;return i=this.#s(),0==S(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(W(ot,null,1,e)),gt(101,a)},ut)}webSocketMessage(t,e){w(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==S(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){N(s.toString(),(s,n)=>{const r=z(t,n);this.onMessage(t,s,n),s==e?(t!=ot&&this.#t?.(r),f(this.#s(),t=>{t!=a&&t.send(r)})):s==ot?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return b(this.#s(),t=>this.ctx.getTags(t)[0])}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const ht=t=>(e,s)=>lt(e)?s[t].get(s[t].idFromName(ct(e))).fetch(e):ut();export{dt as WsServerDurableObject,ht as getWsServerDurableObjectFetch};
1
+ import{DurableObject as t}from"cloudflare:workers";const e="",s=(t,e)=>t?.match(e),a=(t,e="",s)=>t.split(e,s),n=Promise,r=Math,i=t=>(e,s,a)=>t(e)?a?.():s(e),o=globalThis,c=(t,e=0)=>setTimeout(t,1e3*e),l=clearTimeout,g=r.floor,u=r.random,d=t=>null==t,h=t=>void 0===t,w=t=>null===t,y=i(d),S=i(h),p=t=>Array.isArray(t),f=(t,e,s)=>t.slice(e,s),v=t=>t.length,C=t=>{throw Error(t)},b=async(t,e,s)=>{try{return await t()}catch(t){e?.(t)}},M=(t,e)=>t.forEach(e),m=(t,e="")=>t.join(e),A=(t,e)=>t.map(e),P=(t,...e)=>t.push(...e),T=t=>t.shift(),k=Object,x=t=>k.getPrototypeOf(t),I=k.entries,L=t=>!d(t)&&y(x(t),t=>t==k.prototype||d(x(t)),()=>!0),R=k.keys,_=k.freeze,H=(t=[])=>k.fromEntries(t),D=(t,e)=>M(I(t),([t,s])=>e(s,t)),z=t=>L(t)&&0==(t=>v(R(t)))(t),E=(t,e,s)=>(((t,e)=>e in t)(t,e)||(t[e]=s()),t[e]),O=t=>h(t)||0==(t=>t?.size??0)(t),F=(t,e)=>t?.forEach(e),N=(t,e)=>t?.delete(e),W=Map,$=t=>new W(t),q=(t,e)=>t?.get(e),U=(t,e,s)=>h(s)?(N(t,e),t):t?.set(e,s),V=(t,e,s,a)=>{var n,r;return n=t,r=e,n?.has(r)?a?.(q(t,e)):U(t,e,s()),q(t,e)},j=(t,e,s,a,n=0)=>S((s?V:q)(t,e[n],n>v(e)-2?s:$),r=>{if(n>v(e)-2)return a?.(r)&&U(t,e[n]),r;const i=j(r,e,s,a,n+1);return O(r)&&U(t,e[n]),i}),J=a("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),B=o.crypto?t=>o.crypto.getRandomValues(t):t=>A(t,()=>g(256*u())),G=(t=16)=>{return e=(t,e)=>t+J[63&e],B(new Uint8Array(t)).reduce(e,"");var e},K=JSON.stringify,Q=JSON.parse,X=t=>K(t,(t,e)=>h(e)?"":e),Y=t=>""===t?void 0:p(t)?A(t,Y):L(t)?((t,e)=>H(((t,e)=>A(I(t),([t,s])=>e(s,t)))(t,(t,s)=>[s,e(t,s)])))(t,Y):t,Z="\n",tt=/^(.+)\n(\d+)\n(\d+)\n([\s\S]*)$/,et=(t,e)=>{const s=t.indexOf(Z);-1!==s&&e(f(t,0,s),f(t,s+1))},st=(t,e,s)=>{return s(t,...(a=e,Y(Q(a))));var a},at=(t,e)=>t+Z+e,nt=(t,e)=>e?[t,e]:[t],rt=(t,s)=>((t??e)>(s??e)?t:s)??e,it=(t="")=>nt(H(),t),ot=/^\d+$/,ct=t=>new Set(p(t)||h(t)?t:[t]),lt=$(),gt=$(),ut=(t,s,a,n,r,i,o,c={},l=0,g=[])=>{let u,d,y,f=0,m=0,A=0;V(lt,g,()=>0),V(gt,g,()=>[]);const k=$(),[x,I,L,R,H]=((t=1,e,s)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!s),([[t],[e]])=>!z(t)||!z(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!z(t)||!z(e),e.setContent]:C("Store type not supported by this Persister"))(o,t,l),[D,E,W]=(()=>{let t;const[s,a]=(()=>{const t=[];let s=0;return[a=>(a?T(t):null)??e+s++,e=>{ot.test(e)&&v(t)<1e3&&P(t,e)}]})(),n=$();return[(a,r,i,o=[],c=()=>[])=>{t??=nt;const l=s(1);var g,u;return U(n,l,[a,r,i,o,c]),g=j(r,i??[e],ct),u=l,g?.add(u),l},(s,a,...r)=>M(((t,s=[e])=>{const a=[],n=(t,e)=>e==v(s)?P(a,t):w(s[e])?F(t,t=>n(t,e+1)):M([s[e],null],s=>n(q(t,s),e+1));return n(t,0),a})(s,a),e=>F(e,e=>q(n,e)[0](t,...a??[],...r))),t=>S(q(n,t),([,s,r])=>(j(s,r??[e],void 0,e=>(N(e,t),O(e)?1:0)),U(n,t),a(t),r)),e=>S(q(n,e),([e,,s=[],a,n])=>{const r=(...i)=>{const o=v(i);o==v(s)?e(t,...i,...n(i)):w(s[o])?M(a[o]?.(...i)??[],t=>r(...i,t)):r(...i,s[o])};r()})]})(),J=t=>{t!=f&&(f=t,E(k,void 0,f))},B=e=>{(x&&p(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},G=async()=>{et()&&t.__?.[0]?.()&&await Y()},K=async t=>(2!=f&&(J(1),m++,await at(async()=>{await b(async()=>{const e=await s();p(e)?B(e):h(e)&&t?H(t):h(e)||C("Content is not an array: "+e)},e=>{t&&H(t)}),J(0),await G()})),nt),Q=async t=>(X(),await K(t),await b(async()=>d=await n(async(t,e)=>{e||t?2!=f&&(J(1),m++,B(e??t),J(0),await G()):await K()}),i),nt),X=async()=>(d&&(await b(()=>r(d),i),d=void 0),nt),Y=async t=>(1!=f&&(J(2),A++,await at(async()=>{await b(()=>a(I,t),i),J(0)})),nt),Z=async()=>(tt(),await Y(),y=t.addDidFinishTransactionListener(()=>{const t=L();R(t)&&Y(t)}),nt),tt=async()=>(y&&(t.delListener(y),y=void 0),nt),et=()=>!h(y),st=async(t=!1)=>{const[e,s]=t?[tt,X]:[X,tt];return await e(),await s(),nt},at=async(...t)=>(P(q(gt,g),...t),await(async()=>{if(!q(lt,g)){for(U(lt,g,1);!h(u=T(q(gt,g)));)await b(u,i);U(lt,g,0)}})(),nt),nt={load:K,startAutoLoad:Q,stopAutoLoad:X,isAutoLoading:()=>!h(d),save:Y,startAutoSave:Z,stopAutoSave:tt,isAutoSaving:et,startAutoPersisting:async(t,e=!1)=>{const[s,a]=e?[Z,Q]:[Q,Z];return await s(t),await a(t),nt},stopAutoPersisting:st,getStatus:()=>f,addStatusListener:t=>D(t,k),delListener:e=>(W(e),t),schedule:at,getStore:()=>t,destroy:()=>(q(gt,g).splice(0,void 0),st()),getStats:()=>({loads:m,saves:A}),...c};return _(nt)},dt=/\/([^?]*)/,ht="S",wt=t=>s(new URL(t.url).pathname,dt)?.[1]??e,yt=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,St=(t,e=null,s=null)=>new Response(s,{status:t,webSocket:e}),pt=()=>St(426,null,"Upgrade required");class ft extends t{#t;constructor(t,a){super(t,a),this.ctx.blockConcurrencyWhile(async()=>await S(await this.createPersister(),async t=>{const a=this.getRequestTimeoutSeconds(),r=((t,s,a,r,i,o,l,g,u={})=>{let d,y=0,p=0,f=0;const v=$(),C=()=>G(11),M=(t,e,a,n)=>{p++,s(t,e,a,n)},m=async(t,e,s,a)=>new n((n,r)=>{const o=a+"."+G(4),l=c(()=>{N(v,o),r(`No response from ${t??"anyone"} to ${o}, `+e)},i);U(v,o,[t,(t,e)=>{clearTimeout(l),N(v,o),n([t,e,a])}]),M(t,o,e,s)}),A=(t,[e,s])=>{D(e,([e,s],a)=>{const n=E(t[0],a,it);D(e,([t,e],s)=>{const a=E(n[0],s,it);D(t,([t,e],s)=>a[0][s]=nt(t,e)),a[1]=rt(a[1],e)}),n[1]=rt(n[1],s)}),t[1]=rt(t[1],s)},P=(s=null,a,n=C())=>b(async()=>{h(a)&&([a,s,n]=await m(null,1,e,n));const[r,i]=a,[o,c]=t.getMergeableContentHashes();let l=it();if(o!=r){const[e,a]=(await m(s,4,t.getMergeableTableHashes(),n))[0];if(l=e,!z(a)){const[e,r]=(await m(s,5,t.getMergeableRowHashes(a),n))[0];if(A(l,e),!z(r)){const e=(await m(s,6,t.getMergeableCellHashes(r),n))[0];A(l,e)}}}return[l,c==i?it():(await m(s,7,t.getMergeableValueHashes(),n))[0],1]},g),T=ut(t,async()=>{const t=await P();return!t||z(t[0][0])&&z(t[1][0])?void 0:t},async(e,s)=>s?M(null,C(),3,s):M(null,C(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,g,2,{startSync:async t=>(y=1,await T.startAutoPersisting(t)),stopSync:async()=>(y=0,await T.stopAutoPersisting(),T),destroy:async()=>(await T.stopSync(),T),getSynchronizerStats:()=>({sends:p,receives:f}),...u},1);return a((e,s,a,n)=>{const r=y||T.isAutoLoading();f++,0==a?S(q(v,s),([t,s])=>w(t)||t==e?s(n,e):0):2==a&&r?P(e,n,s??void 0).then(t=>{d?.(void 0,t)}).catch(g):3==a&&r?d?.(void 0,n):S(1==a&&(y||T.isAutoSaving())?t.getMergeableContentHashes():4==a?t.getMergeableTableDiff(n):5==a?t.getMergeableRowDiff(n):6==a?t.getMergeableCellDiff(n):7==a?t.getMergeableValueDiff(n):void 0,t=>{M(e,s,0,t)})}),T})(t.getStore(),(t,a,n,r)=>M(((t,a,n,r,i)=>{const o=t??e,c=X([a,n,r]),l=g(i??0);if(h(i)||l<1||v(c)<=l)return[at(o,c)];const u=s(c,RegExp(`.{1,${l}}`,"g")),d=v(u??[]),w=G();return A(u??[],(t,e)=>at(o,m([w,e,d,t],Z)))})(t,a,n,r,this.getFragmentSize()),t=>this.#e(ht,t)),t=>this.#t=((t,e=1)=>{const a=$(),n=t=>c(()=>N(a,t),e);return e=>et(e,(e,r)=>{const[,i,o,c,g]=s(r,tt)??[];if(i){const s=parseInt(o),r=parseInt(c);if(r>0&&s>=0&&s<r){const o=e+Z+i,c=V(a,o,()=>[[],r,r,n(o)]),[u]=c;r==c[2]&&h(u[s])&&(l(c[3]),c[3]=n(o),u[s]=g,c[1]--),0==c[1]&&(((t,e)=>{l(e[3]),N(a,t)})(o,c),st(e,m(u),t))}}else st(e,r,t)})})(t,a),0,a);await t.load(),await t.startAutoSave(),c(r.startSync)}))}fetch(t){const s=wt(t);return S(yt(t),t=>{const[a,n]=(r=new WebSocketPair,k.values(r));var r,i;return i=this.#s(),0==v(i)&&this.onPathId(s,1),this.ctx.acceptWebSocket(n,[t,s]),this.onClientId(s,t,1),n.send(at(ht,X([null,1,e]))),St(101,a)},pt)}webSocketMessage(t,e){S(this.ctx.getTags(t)[0],s=>this.#e(s,e.toString(),t))}webSocketClose(t){const[e,s]=this.ctx.getTags(t);this.onClientId(s,e,-1),1==v(this.#s())&&this.onPathId(s,-1)}#e(t,s,a){et(s.toString(),(s,n)=>{const r=at(t,n);this.onMessage(t,s,n),s==e?(t!=ht&&this.#t?.(r),M(this.#s(),t=>{t!=a&&t.send(r)})):s==ht?this.#t?.(r):s!=t&&this.#s(s)[0]?.send(r)})}#s(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return this.ctx.getTags(this.#s()[0])?.[1]}getClientIds(){return A(this.#s(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onPathId(t,e){}onClientId(t,e,s){}onMessage(t,e,s){}}const vt=t=>(e,s)=>yt(e)?s[t].get(s[t].idFromName(wt(e))).fetch(e):pt();export{ft as WsServerDurableObject,vt as getWsServerDurableObjectFetch};
@@ -1 +1 @@
1
- const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,y=n(c),g=n(l),w=t=>Array.isArray(t),d=t=>t.length,f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),C=t=>l(t)||0==(t=>t?.size??0)(t),M=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),S=Object,D=t=>S.getPrototypeOf(t),H=S.entries,m=S.keys,L=S.freeze,_=(t,e)=>p(H(t),([t,a])=>e(a,t)),P=t=>(t=>!c(t)&&y(D(t),t=>t==S.prototype||c(D(t)),()=>!0))(t)&&0==(t=>d(m(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),G=Map,R=t=>new G(t),E=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(A(t,e),t):t?.set(e,a),z=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(E(t,e)):V(t,e,a()),E(t,e)},O=(t,e,a,s,n=0)=>g((a?z:E)(t,e[n],n>d(e)-2?a:R),o=>{if(n>d(e)-2)return s?.(o)&&V(t,e[n]),o;const r=O(o,e,a,s,n+1);return C(o)&&V(t,e[n]),r}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=o.crypto?t=>o.crypto.getRandomValues(t):t=>(t=>t.map(()=>r(256*i())))(t),k=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},x=(t,e)=>e?[t,e]:[t],F=(e,a)=>((e??t)>(a??t)?e:a)??t,N=(t="")=>x(((t=[])=>S.fromEntries(t))(),t),U=/^\d+$/,q=t=>new Set(w(t)||l(t)?t:[t]),B=R(),I=R(),J=(e,a,s,n,o,r,i,c={},y=0,S=[])=>{let D,H,m,_=0,T=0,G=0;z(B,S,()=>0),z(I,S,()=>[]);const $=R(),[j,k,x,F,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!P(t)||!P(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!P(t)||!P(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,y),[J,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?b(e):null)??t+a++,t=>{U.test(t)&&d(e)<1e3&&v(e,t)}]})(),n=R();return[(s,o,r,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,y;return V(n,l,[s,o,r,i,c]),u=O(o,r??[t],q),y=l,u?.add(y),l},(a,s,...o)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==d(a)?v(s,t):u(a[e])?M(t,t=>n(t,e+1)):p([a[e],null],a=>n(E(t,a),e+1));return n(e,0),s})(a,s),t=>M(t,t=>E(n,t)[0](e,...s??[],...o))),e=>g(E(n,e),([,a,o])=>(O(a,o??[t],void 0,t=>(A(t,e),C(t)?1:0)),V(n,e),s(e),o)),t=>g(E(n,t),([t,,a=[],s,n])=>{const o=(...r)=>{const i=d(r);i==d(a)?t(e,...r,...n(r)):u(a[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),W=t=>{t!=_&&(_=t,K($,void 0,_))},X=t=>{(j&&w(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{ot()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=_&&(W(1),T++,await it(async()=>{await h(async()=>{const e=await a();w(e)?X(e):t?N(t):f("Content is not an array: "+e)},()=>{t&&N(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await h(async()=>H=await n(async(t,e)=>{e||t?2!=_&&(W(1),T++,X(e??t),W(0),await Y()):await Z()}),r),ct),et=async()=>(H&&(await h(()=>o(H),r),H=void 0),ct),at=async t=>(1!=_&&(W(2),G++,await it(async()=>{await h(()=>s(k,t),r),W(0)})),ct),st=async()=>(nt(),await at(),m=e.addDidFinishTransactionListener(()=>{const t=x();F(t)&&at(t)}),ct),nt=async()=>(m&&(e.delListener(m),m=void 0),ct),ot=()=>!l(m),rt=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(v(E(I,S),...t),await(async()=>{if(!E(B,S)){for(V(B,S,1);!l(D=b(E(I,S)));)await h(D,r);V(B,S,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!l(H),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:ot,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:rt,getStatus:()=>_,addStatusListener:t=>J(t,$),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(E(I,S).splice(0,void 0),rt()),getStats:()=>({loads:T,saves:G}),...c};return L(ct)},K={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},Q=(e,s,n,o,r,i,c,y,w={})=>{let d,f=0,p=0,v=0;const b=R(),C=()=>k(11),M=(t,e,a,n)=>{p++,i?.(t,e,a,n),s(t,e,a,n)},S=async(t,e,s,n)=>new a((a,o)=>{const i=n+"."+k(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{A(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);V(b,i,[t,(t,e)=>{clearTimeout(c),A(b,i),a([t,e,n])}]),M(t,i,e,s)}),D=(t,[e,a])=>{_(e,([e,a],s)=>{const n=T(t[0],s,N);_(e,([t,e],a)=>{const s=T(n[0],a,N);_(t,([t,e],a)=>s[0][a]=x(t,e)),s[1]=F(s[1],e)}),n[1]=F(n[1],a)}),t[1]=F(t[1],a)},H=(a=null,s,n=C())=>h(async()=>{l(s)&&([s,a,n]=await S(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let u=N();if(i!=o){const[t,s]=(await S(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!P(s)){const[t,o]=(await S(a,5,e.getMergeableRowHashes(s),n))[0];if(D(u,t),!P(o)){const t=(await S(a,6,e.getMergeableCellHashes(o),n))[0];D(u,t)}}}return[u,c==r?N():(await S(a,7,e.getMergeableValueHashes(),n))[0],1]},y),m=J(e,async()=>{const t=await H();return!t||P(t[0][0])&&P(t[1][0])?void 0:t},async(t,a)=>a?M(null,C(),3,a):M(null,C(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,y,2,{startSync:async t=>(f=1,await m.startAutoPersisting(t)),stopSync:async()=>(f=0,await m.stopAutoPersisting(),m),destroy:async()=>(await m.stopSync(),o(),m),getSynchronizerStats:()=>({sends:p,receives:v}),...w},1);return n((t,a,s,n)=>{const o=f||m.isAutoLoading();v++,c?.(t,a,s,n),0==s?g(E(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(y):3==s&&o?d?.(void 0,n):g(1==s&&(f||m.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),m};export{K as Message,Q as createCustomSynchronizer};
1
+ const t="",e=(t,e="",a)=>t.split(e,a),a=Promise,s=Math,n=t=>(e,a,s)=>t(e)?s?.():a(e),o=globalThis,r=s.floor,i=s.random,c=t=>null==t,l=t=>void 0===t,u=t=>null===t,y=n(c),g=n(l),w=t=>Array.isArray(t),d=t=>t.length,f=t=>{throw Error(t)},h=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},p=(t,e)=>t.forEach(e),v=(t,...e)=>t.push(...e),b=t=>t.shift(),C=t=>l(t)||0==(t=>t?.size??0)(t),M=(t,e)=>t?.forEach(e),A=(t,e)=>t?.delete(e),S=Object,D=t=>S.getPrototypeOf(t),H=S.entries,m=S.keys,L=S.freeze,_=(t,e)=>p(H(t),([t,a])=>e(a,t)),P=t=>(t=>!c(t)&&y(D(t),t=>t==S.prototype||c(D(t)),()=>!0))(t)&&0==(t=>d(m(t)))(t),T=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),G=Map,R=t=>new G(t),E=(t,e)=>t?.get(e),V=(t,e,a)=>l(a)?(A(t,e),t):t?.set(e,a),z=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(E(t,e)):V(t,e,a()),E(t,e)},O=(t,e,a,s,n=0)=>g((a?z:E)(t,e[n],n>d(e)-2?a:R),o=>{if(n>d(e)-2)return s?.(o)&&V(t,e[n]),o;const r=O(o,e,a,s,n+1);return C(o)&&V(t,e[n]),r}),$=e("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),j=o.crypto?t=>o.crypto.getRandomValues(t):t=>(t=>t.map(()=>r(256*i())))(t),k=(t=16)=>{return e=(t,e)=>t+$[63&e],j(new Uint8Array(t)).reduce(e,"");var e},x=(t,e)=>e?[t,e]:[t],F=(e,a)=>((e??t)>(a??t)?e:a)??t,N=(t="")=>x(((t=[])=>S.fromEntries(t))(),t),U=/^\d+$/,q=t=>new Set(w(t)||l(t)?t:[t]),B=R(),I=R(),J=(e,a,s,n,o,r,i,c={},y=0,S=[])=>{let D,H,m,_=0,T=0,G=0;z(B,S,()=>0),z(I,S,()=>[]);const $=R(),[j,k,x,F,N]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!P(t)||!P(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!P(t)||!P(e),e.setContent]:f("Store type not supported by this Persister"))(i,e,y),[J,K,Q]=(()=>{let e;const[a,s]=(()=>{const e=[];let a=0;return[s=>(s?b(e):null)??t+a++,t=>{U.test(t)&&d(e)<1e3&&v(e,t)}]})(),n=R();return[(s,o,r,i=[],c=()=>[])=>{e??=ct;const l=a(1);var u,y;return V(n,l,[s,o,r,i,c]),u=O(o,r??[t],q),y=l,u?.add(y),l},(a,s,...o)=>p(((e,a=[t])=>{const s=[],n=(t,e)=>e==d(a)?v(s,t):u(a[e])?M(t,t=>n(t,e+1)):p([a[e],null],a=>n(E(t,a),e+1));return n(e,0),s})(a,s),t=>M(t,t=>E(n,t)[0](e,...s??[],...o))),e=>g(E(n,e),([,a,o])=>(O(a,o??[t],void 0,t=>(A(t,e),C(t)?1:0)),V(n,e),s(e),o)),t=>g(E(n,t),([t,,a=[],s,n])=>{const o=(...r)=>{const i=d(r);i==d(a)?t(e,...r,...n(r)):u(a[i])?p(s[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()})]})(),W=t=>{t!=_&&(_=t,K($,void 0,_))},X=t=>{(j&&w(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},Y=async()=>{ot()&&e.__?.[0]?.()&&await at()},Z=async t=>(2!=_&&(W(1),T++,await it(async()=>{await h(async()=>{const e=await a();w(e)?X(e):l(e)&&t?N(t):l(e)||f("Content is not an array: "+e)},e=>{r?.(e),t&&N(t)}),W(0),await Y()})),ct),tt=async t=>(et(),await Z(t),await h(async()=>H=await n(async(t,e)=>{e||t?2!=_&&(W(1),T++,X(e??t),W(0),await Y()):await Z()}),r),ct),et=async()=>(H&&(await h(()=>o(H),r),H=void 0),ct),at=async t=>(1!=_&&(W(2),G++,await it(async()=>{await h(()=>s(k,t),r),W(0)})),ct),st=async()=>(nt(),await at(),m=e.addDidFinishTransactionListener(()=>{const t=x();F(t)&&at(t)}),ct),nt=async()=>(m&&(e.delListener(m),m=void 0),ct),ot=()=>!l(m),rt=async(t=!1)=>{const[e,a]=t?[nt,et]:[et,nt];return await e(),await a(),ct},it=async(...t)=>(v(E(I,S),...t),await(async()=>{if(!E(B,S)){for(V(B,S,1);!l(D=b(E(I,S)));)await h(D,r);V(B,S,0)}})(),ct),ct={load:Z,startAutoLoad:tt,stopAutoLoad:et,isAutoLoading:()=>!l(H),save:at,startAutoSave:st,stopAutoSave:nt,isAutoSaving:ot,startAutoPersisting:async(t,e=!1)=>{const[a,s]=e?[st,tt]:[tt,st];return await a(t),await s(t),ct},stopAutoPersisting:rt,getStatus:()=>_,addStatusListener:t=>J(t,$),delListener:t=>(Q(t),e),schedule:it,getStore:()=>e,destroy:()=>(E(I,S).splice(0,void 0),rt()),getStats:()=>({loads:T,saves:G}),...c};return L(ct)},K={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},Q=(e,s,n,o,r,i,c,y,w={})=>{let d,f=0,p=0,v=0;const b=R(),C=()=>k(11),M=(t,e,a,n)=>{p++,i?.(t,e,a,n),s(t,e,a,n)},S=async(t,e,s,n)=>new a((a,o)=>{const i=n+"."+k(4),c=((t,e=0)=>setTimeout(t,1e3*e))(()=>{A(b,i),o(`No response from ${t??"anyone"} to ${i}, `+e)},r);V(b,i,[t,(t,e)=>{clearTimeout(c),A(b,i),a([t,e,n])}]),M(t,i,e,s)}),D=(t,[e,a])=>{_(e,([e,a],s)=>{const n=T(t[0],s,N);_(e,([t,e],a)=>{const s=T(n[0],a,N);_(t,([t,e],a)=>s[0][a]=x(t,e)),s[1]=F(s[1],e)}),n[1]=F(n[1],a)}),t[1]=F(t[1],a)},H=(a=null,s,n=C())=>h(async()=>{l(s)&&([s,a,n]=await S(null,1,t,n));const[o,r]=s,[i,c]=e.getMergeableContentHashes();let u=N();if(i!=o){const[t,s]=(await S(a,4,e.getMergeableTableHashes(),n))[0];if(u=t,!P(s)){const[t,o]=(await S(a,5,e.getMergeableRowHashes(s),n))[0];if(D(u,t),!P(o)){const t=(await S(a,6,e.getMergeableCellHashes(o),n))[0];D(u,t)}}}return[u,c==r?N():(await S(a,7,e.getMergeableValueHashes(),n))[0],1]},y),m=J(e,async()=>{const t=await H();return!t||P(t[0][0])&&P(t[1][0])?void 0:t},async(t,a)=>a?M(null,C(),3,a):M(null,C(),2,e.getMergeableContentHashes()),t=>d=t,()=>d=void 0,y,2,{startSync:async t=>(f=1,await m.startAutoPersisting(t)),stopSync:async()=>(f=0,await m.stopAutoPersisting(),m),destroy:async()=>(await m.stopSync(),o(),m),getSynchronizerStats:()=>({sends:p,receives:v}),...w},1);return n((t,a,s,n)=>{const o=f||m.isAutoLoading();v++,c?.(t,a,s,n),0==s?g(E(b,a),([e,a])=>u(e)||e==t?a(n,t):0):2==s&&o?H(t,n,a??void 0).then(t=>{d?.(void 0,t)}).catch(y):3==s&&o?d?.(void 0,n):g(1==s&&(f||m.isAutoSaving())?e.getMergeableContentHashes():4==s?e.getMergeableTableDiff(n):5==s?e.getMergeableRowDiff(n):6==s?e.getMergeableCellDiff(n):7==s?e.getMergeableValueDiff(n):void 0,e=>{M(t,a,0,e)})}),m};export{K as Message,Q as createCustomSynchronizer};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useValue as l,useSetValueCallback as s,CellView as r,ResultCellView as a,ValueView as o,useCell as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as g,useMetric as b,useQueries as p,useQueryIds as v,useRelationships as I,useRelationshipIds as f,useTableIds as C,useTableCellIds as w,useHasCell as T,useValueIds as y,useStore as q,useValues as x,useStoreIds as k,useMetricsIds as S,useIndexesIds as D,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../ui-react/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="object",J="array",O="type",_="default",j="allowNull",B="Listener",F="Result",W="Has",Q="Ids",K="Table",G=K+"s",U=K+Q,X="Row",Y=X+"Count",ee=X+Q,te="Sorted"+X+Q,ne="Cell",le=ne+Q,se="Value",re=se+"s",ae=se+Q,oe="currentTarget",ie="value",de="extra",ce=e=>R+e,ue=Math,he=e=>(t,n,l)=>e(t)?l?.():n(t),me=globalThis,ge=me.window,be=Number,pe=String,ve=Boolean,Ie=ue.min,fe=ue.floor,Ce=isFinite,we=e=>null==e,Te=e=>void 0===e,ye=e=>null===e,qe=e=>!1===e,xe=he(we),ke=he(Te),Se=e=>e==A||e==$,De=e=>E(e)==A,Ze=e=>E(e)==z,Me=e=>Array.isArray(e),Ne=(e,t,n)=>e.slice(t,n),Le=e=>e.length,Ve=()=>{},Ee=e=>e,Re=me.structuredClone,Ae=e=>{throw Error(e)},$e=(e,t)=>{try{return e()}catch{return t}},He=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},ze=(e,t)=>e.every(t),Pe=(e,t)=>Le(e)===Le(t)&&ze(e,(e,n)=>t[n]===e),Je=(e,t)=>Me(e)&&Me(t)?Pe(e,t):e===t,Oe=(e,t)=>e.sort(t),_e=(e,t)=>e.forEach(t),je=(e,t="")=>e.join(t),Be=(e,t)=>e.map(t),Fe=e=>0==Le(e),We=(e,...t)=>e.push(...t),Qe=e=>e.shift(),Ke=Object,Ge=e=>Ke.getPrototypeOf(e),Ue=Ke.isFrozen,Xe=Ke.entries,Ye=e=>!we(e)&&xe(Ge(e),e=>e==Ke.prototype||we(Ge(e)),()=>!0),et=Ke.keys,tt=Ke.freeze,nt=(e=[])=>Ke.fromEntries(e),lt=(e,t)=>t in e,st=(e,t)=>(delete e[t],e),rt=(e,t)=>Be(Xe(e),([e,n])=>t(n,e)),at=(e,t)=>nt(rt(e,(e,n)=>[n,t(e,n)])),ot=e=>Le(et(e)),it=e=>Ye(e)&&0==ot(e),dt=(e,t,n=(e,t)=>e===t)=>{const l=Xe(e);return Le(l)===ot(t)&&ze(l,([e,l])=>Ye(l)?!!Ye(t[e])&&dt(t[e],l,n):n(l,t[e]))},ct=(e,t,n,l=0)=>we(e)||!Ye(e)||!l&&it(e)||Ue(e)?(n?.(),!1):(((e,t)=>{_e(Xe(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||st(e,l)}),!!l||!it(e)),ut=JSON.stringify,ht=JSON.parse,mt=e=>ut(e,(e,t)=>t instanceof Map?Ke.fromEntries([...t]):t),gt=e=>bt(ht(e)),bt=e=>""===e?void 0:Me(e)?Be(e,bt):Ye(e)?at(e,bt):e,pt="tinybaseInspector",vt="TinyBase Inspector",It=["left","top","bottom","right","full"],ft="state",Ct="sort",wt="open",Tt="editable",yt="position",qt=wt,xt=e=>{const t=It.indexOf(e);return-1==t?1:t},kt=(...e)=>mt(e),St=(e,t)=>Be(Oe([...e]),t),Dt='url("',Zt=(e,t="white")=>({content:Dt+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Mt="v560h120v-560h-120Z",Nt="v560h360v-560h-360Z",Lt="v120h560v-120h-560Z",Vt="v360h560v-360h-560Z",Et={content:Dt+"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\")"},Rt=Be([`M200-760${Mt} M400-760${Nt}`,`M200-760${Lt} M200-560${Vt}`,`M200-760${Vt} M200-320${Lt}`,`M200-760${Nt} M640-760${Mt}`],e=>Zt("M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"+e));We(Rt,Zt("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const At=Zt("m336-280-56-56 144-144-144-143 56-56 144 144 143-144 56 56-144 143 144 144-56 56-143-144-144 144Z"),$t=Zt("M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"),Ht=Zt("m622-453-56-56 82-82-57-57-82 82-56-56 195-195q12-12 26.5-17.5T705-840q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L622-453ZM200-200h57l195-195-28-29-29-28-195 195v57ZM792-56 509-338 290-120H120v-169l219-219L56-792l57-57 736 736-57 57Zm-32-648-56-56 56 56Zm-169 56 57 57-57-57ZM424-424l-29-28 57 57-28-29Z"),zt=Zt("M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"),Pt=Zt("M520-400h80v-120h120v-80H600v-120h-80v120H400v80h120v120ZM320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320Zm0-80h480v-480H320v480ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm160-720v480-480Z"),Jt=Zt("M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"),Ot=Zt("m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(127,255,127)"),_t=Zt("m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z","rgb(255,255,127)"),jt=Zt("m336-280 144-144 144 144 56-56-144-144 144-144-56-56-144 144-144-144-56 56 144 144-144 144 56 56ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(255,127,127)"),Bt=Zt("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),Ft=Zt("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),Wt="*::-webkit-scrollbar",Qt="background",Kt="width",Gt="max-"+Kt,Ut="min-"+Kt,Xt="height",Yt="border",en="radius",tn=Yt+"-"+en,nn="padding",ln="margin",sn="top",rn="bottom",an="left",on="right",dn="color",cn="position",un="box-shadow",hn="font-size",mn="display",gn="overflow",bn="cursor",pn="vertical-align",vn="text-align",In="justify-content",fn="white-space",Cn="text-overflow",wn="align-items",Tn="backdrop-filter",yn=ln+"-"+on,qn="z-index",xn="fixed",kn="revert",Sn="unset",Dn="none",Zn="flex",Mn="pointer",Nn="auto",Ln="hidden",Vn="nowrap",En=(e,t="% 0.01 "+Rn("hue"))=>`oklch(${e}${t})`,Rn=e=>`var(--${e})`,An=(...e)=>e.join("rem ")+"rem",$n=(...e)=>e.join("px ")+"px",Hn=(e=100)=>e+"vw",zn=(e=100)=>e+"vh",Pn=je(rt({"":{all:"initial",[hn]:An(.75),[cn]:xn,[qn]:999999,"font-family":"inter,sans-serif","--bg":En(20),"--bg2":En(15),"--bg3":En(25),"--bg4":En(30),"--fg":En(85),"--fg2":En(60),["--"+Yt]:$n(1)+" solid "+Rn("bg4"),["--"+un]:$n(0,1,2,0)+" #0007"},"*":{all:kn},"*::before":{all:kn},"*::after":{all:kn},[Wt]:{[Kt]:An(.5),[Xt]:An(.5)},[Wt+"-thumb"]:{[Qt]:Rn("bg4")},[Wt+"-thumb:hover"]:{[Qt]:Rn("bg4")},[Wt+"-corner"]:{[Qt]:Dn},[Wt+"-track"]:{[Qt]:Dn},img:{[Kt]:An(.8),[Xt]:An(.8),[pn]:"text-"+rn,[bn]:Mn,[ln]:$n(-2.5,2,-2.5,0),[nn]:$n(2),[Yt]:Rn(Yt),[Qt]:Rn("bg3"),[un]:Rn(un),[tn]:An(.25)},"img.flat":{[Yt]:Dn,[Qt]:Dn,[un]:Dn},">img":{[nn]:An(.25),[rn]:0,[on]:0,[cn]:xn,[Xt]:Sn,[ln]:0,...Et},...nt(Be([{[rn]:0,[an]:0},{[sn]:0,[on]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[mn]:Zn,[dn]:Rn("fg"),[Qt]:Rn("bg"),[gn]:Ln,[cn]:xn,[un]:Rn(un),"flex-direction":"column"},...nt(Be([{[rn]:0,[an]:0,[Kt]:Hn(35),[Xt]:zn(),[Yt+"-"+on]:Rn(Yt)},{[sn]:0,[on]:0,[Kt]:Hn(),[Xt]:zn(30),[Yt+"-"+rn]:Rn(Yt)},{[rn]:0,[an]:0,[Kt]:Hn(),[Xt]:zn(30),[Yt+"-"+sn]:Rn(Yt)},{[sn]:0,[on]:0,[Kt]:Hn(35),[Xt]:zn(),[Yt+"-"+an]:Rn(Yt)},{[sn]:0,[on]:0,[Kt]:Hn(),[Xt]:zn()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[mn]:Zn,[nn]:An(.5),[un]:Rn(un),[Qt]:En(30,"% 0.008 var(--hue) / .5"),[Kt]:"calc(100% - .5rem)",[cn]:"absolute",[qn]:1,[Yt+"-"+rn]:Rn(Yt),[wn]:"center",[Tn]:"blur(4px)"},"header>img:nth-of-type(1)":{[Xt]:An(1),[Kt]:An(1),...Et},"header>img:nth-of-type(6)":At,...nt(Be(Rt,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[gn]:Ln,[Zn]:1,"font-weight":800,[fn]:Vn,[Cn]:"ellipsis"},article:{[gn]:Nn,[Zn]:1,[nn+"-"+sn]:An(2)},details:{[ln]:An(.5),[Yt]:Rn(Yt),[tn]:An(.25)},summary:{[Qt]:Rn("bg3"),[ln]:$n(-1),[Yt]:Rn(Yt),[nn]:An(.25,.125),[mn]:Zn,[tn]:An(.25),"user-select":Dn,[In]:"space-between",[wn]:"center",[Tn]:"blur(4px)"},"summary>span::before":{[mn]:"inline-block",[pn]:"sub",[ln]:$n(2),[Kt]:An(1),[Xt]:An(1),...Ft},"details[open]>summary":{[Yt+"-"+rn+"-"+an+"-"+en]:0,[Yt+"-"+rn+"-"+on+"-"+en]:0,[ln+"-"+rn]:0},"details[open]>summary>span::before":Bt,"details>summary img":{[mn]:Dn},"details[open]>summary img":{[mn]:Sn,[ln+"-"+an]:An(.25)},"details>div":{[gn]:Nn},[`caption,#${pt} p`]:{[dn]:Rn("fg2"),[nn]:An(.25,.5),[vn]:an,[ln]:0,[fn]:Vn},"caption button":{[Kt]:An(1.5),[Yt]:Dn,[Qt]:Dn,[dn]:Rn("fg"),[nn]:0,[bn]:Mn},"caption button[disabled]":{[dn]:Rn("fg2")},".actions":{[nn]:An(.75,.5),[ln]:0,[mn]:Zn,[Yt+"-"+sn]:Rn(Yt),[In]:"space-between"},table:{[Ut]:"100%","border-collapse":"collapse","table-layout":xn},thead:{[Qt]:Rn("bg")},[`th,#${pt} td`]:{[gn]:Ln,[nn]:An(.25,.5),[Gt]:An(20),[Yt]:Rn(Yt),[Cn]:"ellipsis",[fn]:Vn,"border-width":$n(1,0,0),[vn]:an},"th:first-child":{[Kt]:An(3),[Ut]:An(3),[Gt]:An(3)},"th.sorted":{[Qt]:Rn("bg3")},"td.extra":{[vn]:on},"tbody button":{[Qt]:Dn,[Yt]:Dn,[hn]:0,[Kt]:An(.8),[Xt]:An(.8),[dn]:Rn("fg2"),[ln]:An(0,.25,0,-.25),"line-height":An(.8)},"tbody button:first-letter":{[hn]:An(.8)},input:{[Qt]:Rn("bg2"),[dn]:Sn,[nn]:$n(4),[Yt]:0,[ln]:$n(-4,0),[hn]:Sn,[Gt]:An(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Kt]:An(3)},'input[type="checkbox"]':{[pn]:$n(-2)},".editableCell":{[mn]:"inline-block",[yn]:$n(2)},"button.next":{[yn]:An(.5)},"img.add":zt,"img.clone":Pt,"img.delete":Jt,"img.done":Ht,"img.edit":$t,"img.ok":Ot,"img.okDis":_t,"img.cancel":jt,"span.warn":{[ln]:An(2,.25),[dn]:"#d81b60"}},(e,t)=>`#${pt} ${t}{${je(rt(e,(e,t)=>`${t}:${e};`))}}`)),Jn=e=>t=>{return n=(t,n)=>t+e(n),Qn(t).reduce(n,0);var n},On=e=>e?.size??0,_n=Jn(On),jn=Jn(_n),Bn=Jn(jn),Fn=(e,t)=>e?.has(t)??!1,Wn=e=>Te(e)||0==On(e),Qn=e=>[...e?.values()??[]],Kn=e=>e.clear(),Gn=(e,t)=>e?.forEach(t),Un=(e,t)=>e?.delete(t),Xn=Map,Yn=e=>new Xn(e),el=e=>[...e?.keys()??[]],tl=(e,t)=>e?.get(t),nl=(e,t)=>Gn(e,(e,n)=>t(n,e)),ll=(e,t,n)=>Te(n)?(Un(e,t),e):e?.set(t,n),sl=(e,t,n,l)=>(Fn(e,t)?l?.(tl(e,t)):ll(e,t,n()),tl(e,t)),rl=(e,t,n,l=ll)=>(at(t,(t,l)=>n(e,l,t)),nl(e,n=>lt(t,n)?0:l(e,n)),e),al=(e,t,n,l)=>{const s={};return Gn(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},ol=(e,t,n)=>al(e,e=>al(e,t,n),Wn,it),il=(e,t,n)=>al(e,e=>ol(e,t,n),Wn,it),dl=(e,t)=>{const n=Yn();return Gn(e,(e,l)=>n.set(l,t?.(e)??e)),n},cl=e=>dl(e,dl),ul=e=>dl(e,cl),hl=(e,t,n,l,s=0)=>ke((n?sl:tl)(e,t[s],s>Le(t)-2?n:Yn),r=>{if(s>Le(t)-2)return l?.(r)&&ll(e,t[s]),r;const a=hl(r,t,n,l,s+1);return Wn(r)&&ll(e,t[s]),a}),ml=/^\d+$/,gl=()=>{const e=[];let t=0;return[n=>(n?Qe(e):null)??R+t++,t=>{ml.test(t)&&Le(e)<1e3&&We(e,t)}]},bl=e=>new Set(Me(e)||Te(e)?e:[e]),pl=(e,t)=>e?.add(t),vl=e=>{let t;const[n,l]=gl(),s=Yn();return[(l,r,a,o=[],i=()=>[])=>{t??=e();const d=n(1);return ll(s,d,[l,r,a,o,i]),pl(hl(r,a??[R],bl),d),d},(e,n,...l)=>_e(((e,t=[R])=>{const n=[],l=(e,s)=>s==Le(t)?We(n,e):ye(t[s])?Gn(e,e=>l(e,s+1)):_e([t[s],null],t=>l(tl(e,t),s+1));return l(e,0),n})(e,n),e=>Gn(e,e=>tl(s,e)[0](t,...n??[],...l))),e=>ke(tl(s,e),([,t,n])=>(hl(t,n??[R],void 0,t=>(Un(t,e),Wn(t)?1:0)),ll(s,e),l(e),n)),e=>ke(tl(s,e),([e,,n=[],l,s])=>{const r=(...a)=>{const o=Le(a);o==Le(n)?e(t,...a,...s(a)):ye(n[o])?_e(l[o]?.(...a)??[],e=>r(...a,e)):r(...a,n[o])};r()})]},Il=Yn(),fl=Yn(),Cl="storage",wl=e=>{if(ye(e))return"null";if(Me(e))return J;if(Ye(e))return P;const t=E(e);return Se(t)||t==H&&Ce(e)?t:void 0},Tl=e=>e==P||e==J,yl=e=>Ye(e)||Me(e)?"�"+ut(e):e,ql=e=>De(e)&&"�"==e[0],xl=(e,t,n)=>!n&&ql(e)?ht(Ne(e,1)):e,kl=(e,t,n,l,s,r)=>e==A?t:e==H?n:e==$?l:e==P?s:e==J?r:null,Sl=e=>[e,e],Dl=(e,t=_n)=>t(e[0])+t(e[1]),Zl=()=>[Yn(),Yn()],Ml=e=>[...e],Nl=([e,t])=>e===t,Ll=(e,t,n)=>ll(e,t,tl(e,t)==-n?void 0:n),Vl=([e,t],[n,l])=>dt(e,n)&&dt(t,l),El=()=>{let e,t,n=!1,l=!1,s=0,r=[],a=[],o=0;const i=Yn(),d=Yn(),c=Yn(),u=Yn(),h=Yn(),m=Yn(),g=Yn(),b=Yn(),p=Yn(),v=Yn(),I=Yn(),f=Yn(),C=Yn(),w=Yn(),T=bl(),y=Yn(),q=Yn(),x=Yn(),k=Yn(),S=Zl(),D=Zl(),Z=Zl(),M=Zl(),N=Zl(),L=Zl(),V=Zl(),E=Zl(),R=Zl(),A=Zl(),$=Zl(),z=Zl(),P=Zl(),J=Zl(),F=Zl(),Q=Zl(),te=Zl(),oe=Zl(),ie=Zl(),de=Zl(),ue=Zl(),he=Zl(),me=Yn(),ge=Zl(),[be,pe,ve,Ie]=vl(()=>fn),fe=e=>{const t=o;o=1;const n=e();return o=t,n},Ce=(e,t,n,l=Object.is)=>ke(t(),t=>e===t||l(e,t)?n(t):fe(()=>n(t))),we=e=>{if(!ct(e,(e,t)=>[O,_,j].includes(t)))return!1;const t=e[O];if(!Se(t)&&t!=H&&!Tl(t))return!1;const n=e[_];return!(ye(n)&&!e[j]||(ye(n)||(wl(n)!=t?st(e,_):e[_]=yl(n)),0))},qe=Me,xe=(t,n)=>(!e||Fn(I,n)||qt(n))&&ct(t,(e,t)=>De(n,t,e),()=>qt(n)),De=(e,t,n,l)=>ct(l?n:Ae(n,e,t),(l,s)=>ke(Le(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>qt(e,t)),Le=(t,n,l,s)=>e?ke(tl(tl(I,t),l),e=>ye(s)?e[j]?s:qt(t,n,l,s,e[_]):wl(s)===e[O]?yl(s):Tl(e[O])&&ql(s)?s:qt(t,n,l,s,e[_]),()=>qt(t,n,l,s)):Te(wl(s))?qt(t,n,l,s):yl(s),Ve=(e,t)=>ct(t?e:$e(e),(t,n)=>ke(Ee(n,t),t=>(e[n]=t,!0),()=>!1),()=>xt()),Ee=(e,n)=>t?ke(tl(C,e),t=>ye(n)?t[j]?n:xt(e,n,t[_]):wl(n)===t[O]?yl(n):Tl(t[O])&&ql(n)?n:xt(e,n,t[_]),()=>xt(e,n)):Te(wl(n))?xt(e,n):yl(n),Ae=(e,t,n)=>(ke(tl(f,t),([l,s])=>{Gn(l,(t,n)=>{lt(e,n)||(e[n]=t)}),Gn(s,l=>{lt(e,l)||qt(t,n,l)})}),e),$e=e=>(t&&(Gn(w,(t,n)=>{lt(e,n)||(e[n]=t)}),Gn(T,t=>{lt(e,t)||xt(t)})),e),ze=e=>rl(I,e,(e,t,n)=>{const l=Yn(),s=bl();rl(sl(I,t,Yn),n,(e,t,n)=>{ll(e,t,n),ke(n[_],e=>ll(l,t,e),()=>pl(s,t))}),ll(f,t,[l,s])},(e,t)=>{ll(I,t),ll(f,t)}),Je=e=>rl(C,e,(e,t,n)=>{ll(C,t,n),ke(n[_],e=>ll(w,t,e),()=>pl(T,t))},(e,t)=>{ll(C,t),ll(w,t),Un(T,t)}),je=e=>it(e)?on():en(e),Fe=(e,t,n,l,s,r)=>Te(l)?un(e,t,n,!0,s):tn(e,t,n,l,s,r),Qe=e=>it(e)?hn():nn(e),Ke=(e,t,n)=>Te(t)?mn(e,n):ln(e,t,n),Ge=(e,t)=>Ce(e,()=>t?e:ke(r[1],t=>fe(()=>t(Re(e))),()=>e),e=>rl(x,e,(e,t,n)=>Ue(t,n),(e,t)=>gt(t)),dt),Ue=(e,t,n)=>Ce(t,()=>n?t:ke(r[2],n=>fe(()=>n(e,Re(t))),()=>t),t=>rl(sl(x,e,()=>(It(e,1),ll(y,e,gl()),ll(q,e,Yn()),Yn())),t,(t,n,l)=>Xe(e,t,n,l),(t,n)=>bt(e,t,n)),dt),Xe=(e,t,n,l,s)=>Ce(l,()=>s?l:ke(r[3],t=>fe(()=>t(e,n,Re(l))),()=>l),l=>rl(sl(t,n,()=>(ft(e,n,1),Yn())),l,(t,l,s)=>et(e,n,t,l,s),(l,r)=>pt(e,t,n,l,r,s)),dt),et=(e,t,n,l,s,a)=>Ce(s,()=>ke(a?void 0:r[4],n=>fe(()=>n(e,t,l,s)),()=>s),s=>{Fn(n,l)||Ct(e,t,l,1);const r=tl(n,l);s!==r&&(wt(e,t,l,r,s),ll(n,l,s))}),nt=(e,t,n,l,s,r)=>ke(tl(t,n),t=>et(e,n,t,l,s,r),()=>{const a=Yn();ll(t,n,a),ft(e,n,1),at(Ae({[l]:s},e,n),(t,l)=>et(e,n,a,l,t,r))}),rt=(e,t)=>Ce(e,()=>t?e:ke(r[5],t=>fe(()=>t(Re(e))),()=>e),e=>rl(k,e,(e,t,n)=>ot(t,n),(e,t)=>vt(t)),dt),ot=(e,t,n)=>Ce(t,()=>ke(n?void 0:r[6],n=>fe(()=>n(e,t)),()=>t),t=>{Fn(k,e)||Tt(e,1);const n=tl(k,e);t!==n&&(yt(e,n,t),ll(k,e,t))}),ut=e=>sl(x,e,()=>(It(e,1),ll(y,e,gl()),ll(q,e,Yn()),Yn())),gt=e=>fe(()=>r[8]?.(e))??1?Ue(e,{},!0):tl(x,e),bt=(e,t,n)=>{if(fe(()=>r[9]?.(e,n))??1){const[,l]=tl(y,e);l(n),Xe(e,t,n,{},!0)}},pt=(e,t,n,l,s,a,o)=>{const i=tl(tl(f,e)?.[0],s);if(!Te(i)&&!a)return et(e,n,l,s,i);if(o||(fe(()=>r[10]?.(e,n,s))??1)){const r=t=>{wt(e,n,t,tl(l,t)),Ct(e,n,t,-1),ll(l,t)};Te(i)?r(s):nl(l,r),Wn(l)&&(ft(e,n,-1),Wn(ll(t,n))&&(It(e,-1),ll(x,e),ll(y,e),ll(q,e)))}},vt=(e,t)=>{const n=tl(w,e);if(!Te(n))return ot(e,n);(t||(fe(()=>r[12]?.(e))??1))&&(yt(e,tl(k,e)),Tt(e,-1),ll(k,e))},It=(e,t)=>Ll(i,e,t),ft=(e,t,n)=>Ll(sl(u,e,Yn),t,n)&&ll(c,e,sl(c,e,()=>0)+n),Ct=(e,t,n,l)=>{const s=tl(q,e),r=tl(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&Ll(sl(d,e,Yn),n,l),ll(s,n,r!=-l?r+l:void 0),Ll(sl(sl(h,e,Yn),t,Yn),n,l)},wt=(e,t,n,l,s)=>{sl(sl(sl(m,e,Yn),t,Yn),n,()=>[l,0])[1]=s,a[3]?.(e,t,n,s,o)},Tt=(e,t)=>Ll(g,e,t),yt=(e,t,n)=>{sl(b,e,()=>[t,0])[1]=n,a[4]?.(e,n,o)},qt=(e,t,n,l,s)=>(We(sl(sl(sl(p,e,Yn),t,Yn),n,()=>[]),l),s),xt=(e,t,n)=>(We(sl(v,e,()=>[]),t),n),kt=(e,t,n)=>ke(tl(tl(tl(m,e),t),n),([e,t])=>[!0,xl(e),xl(t)],()=>[!1,...Sl(_t(e,t,n))]),St=e=>ke(tl(b,e),([e,t])=>[!0,xl(e),xl(t)],()=>[!1,...Sl(Ft(e))]),Dt=e=>Wn(p)||Wn(Q[e])?0:Gn(e?ul(p):p,(t,n)=>Gn(t,(t,l)=>Gn(t,(t,s)=>pe(Q[e],[n,l,s],t)))),Zt=e=>Wn(v)||Wn(te[e])?0:Gn(e?dl(v):v,(t,n)=>pe(te[e],[n],t)),Mt=(e,t,n,l)=>{if(!Wn(e))return pe(t,l,()=>al(e)),nl(e,(e,t)=>pe(n,[...l??[],e],1==t)),1},Nt=e=>{const t=!Wn(S[e]),l=!Wn(A[e]),s=!(Wn(P[e])&&Wn(J[e])&&Wn(R[e])&&Wn($[e])&&Wn(L[e])&&Wn(V[e])&&Wn(E[e])&&!l&&Wn(Z[e])&&Wn(M[e])),r=!(Wn(F[e])&&Wn(z[e])&&Wn(N[e])&&Wn(D[e]));if(t||s||r){const o=e?[dl(i),cl(d),dl(c),cl(u),ul(h),(a=m,dl(a,e=>dl(e,e=>dl(e,Ml))))]:[i,d,c,u,h,m];if(t){const t=Wt();t!=n&&pe(S[e],void 0,t)}if(s){Mt(o[0],Z[e],M[e]),Gn(o[1],(t,n)=>Mt(t,L[e],V[e],[n])),Gn(o[2],(t,n)=>{0!=t&&pe(E[e],[n],zt(n))});const t=bl();Gn(o[3],(n,s)=>{Mt(n,R[e],$[e],[s])&&l&&(pe(A[e],[s,null]),pl(t,s))}),l&&Gn(o[5],(n,l)=>{if(!Fn(t,l)){const t=bl();Gn(n,e=>Gn(e,([n,l],s)=>l!==n?pl(t,s):Un(e,s))),Gn(t,t=>pe(A[e],[l,t]))}}),Gn(o[4],(t,n)=>Gn(t,(t,l)=>Mt(t,P[e],J[e],[n,l])))}if(r){let t;Gn(o[5],(n,l)=>{let s;Gn(n,(n,r)=>{let a;Gn(n,([n,o],i)=>{o!==n&&(pe(F[e],[l,r,i],xl(o),xl(n),kt),t=s=a=1)}),a&&pe(z[e],[l,r],kt)}),s&&pe(N[e],[l],kt)}),t&&pe(D[e],void 0,kt)}}var a},Lt=e=>{const t=!Wn(oe[e]),n=!Wn(de[e])||!Wn(ue[e]),s=!Wn(he[e])||!Wn(ie[e]);if(t||n||s){const r=e?[dl(g),dl(b,Ml)]:[g,b];if(t){const t=Xt();t!=l&&pe(oe[e],void 0,t)}if(n&&Mt(r[0],de[e],ue[e]),s){let t;Gn(r[1],([n,l],s)=>{l!==n&&(pe(he[e],[s],xl(l),xl(n),St),t=1)}),t&&pe(ie[e],void 0,St)}}},Vt=(e,...t)=>(pn(()=>e(...Be(t,ce))),fn),Et=(e,t,n,l,s)=>{let r=Jt(e,t,...n);return be(()=>{const s=Jt(e,t,...n);Pe(s,r)||(r=s,l(fn,e,t,...n,r))},A[s?1:0],[e,t],[$t])},Rt=(e=!1)=>[al(m,(t,n)=>-1===tl(i,n)?void 0:al(t,(t,l)=>-1===tl(tl(u,n),l)?void 0:al(t,([,t])=>xl(t,0,e),e=>Nl(e)),Wn,it),Wn,it),al(b,([,t])=>xl(t,0,e),e=>Nl(e)),1],At=()=>il(x,xl),$t=()=>el(x),Ht=e=>el(tl(q,ce(e))),zt=e=>On(tl(x,ce(e))),Pt=e=>el(tl(x,ce(e))),Jt=(e,t,n,l=0,s)=>{return Ye(e)?Jt(e.tableId,e.cellId,e.descending,e.offset,e.limit):Be(Ne(Oe((r=tl(x,ce(e)),a=(e,n)=>[Te(t)?n:tl(e,ce(t)),n],Be([...r?.entries()??[]],([e,t])=>a(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,Te(s)?s:l+s),([,e])=>e);var r,a},Ot=(e,t)=>el(tl(tl(x,ce(e)),ce(t))),_t=(e,t,n)=>xl(tl(tl(tl(x,ce(e)),ce(t)),ce(n))),jt=()=>al(k,xl),Bt=()=>el(k),Ft=e=>xl(tl(k,ce(e))),Wt=()=>!Wn(x),Qt=e=>Fn(x,ce(e)),Kt=(e,t)=>Fn(tl(q,ce(e)),ce(t)),Gt=(e,t)=>Fn(tl(x,ce(e)),ce(t)),Ut=(e,t,n)=>Fn(tl(tl(x,ce(e)),ce(t)),ce(n)),Xt=()=>!Wn(k),Yt=e=>Fn(k,ce(e)),en=e=>Vt(()=>(e=>ct(e,xe,qt))(e)?Ge(e):0),tn=(e,t,n,l,s,a)=>Vt((e,t,n)=>ke(Le(e,t,n,Ze(l)?l(_t(e,t,n)):l),l=>{const o=ut(e);ke(s||a||!r[14]?.()?void 0:r[3],r=>{const a=tl(o,t),i={...a?al(a):{},[n]:l};ke(fe(()=>r(e,t,Re(i))),n=>((e,t,n,l,s)=>{rl(sl(t,n,()=>(ft(e,n,1),Yn())),l,(t,l,r)=>ke(Le(e,n,l,r),r=>et(e,n,t,l,r,s)),(l,s)=>pt(e,t,n,l,s,!0))})(e,o,t,n,s))},()=>nt(e,o,t,n,l,s))}),e,t,n),nn=e=>Vt(()=>Ve(e)?rt(e):0),ln=(e,t,n)=>Vt(e=>ke(Ee(e,Ze(t)?t(Ft(e)):t),t=>ot(e,t,n)),e),sn=e=>(He(()=>je(ht(e))),fn),rn=t=>Vt(()=>{if((e=ct(t,e=>ct(e,we)))&&(ze(t),!Wn(x))){const e=At();on(),en(e)}}),an=e=>Vt(()=>{if(t=(e=>ct(e,we))(e)){const n=jt();bn(),hn(),t=!0,Je(e),nn(n)}}),on=()=>Vt(()=>fe(()=>r[7]?.())??1?Ge({},!0):0),dn=e=>Vt(e=>Fn(x,e)?gt(e):0,e),cn=(e,t)=>Vt((e,t)=>ke(tl(x,e),n=>Fn(n,t)?bt(e,n,t):0),e,t),un=(e,t,n,l,s)=>Vt((e,t,n)=>ke(tl(x,e),r=>ke(tl(r,t),a=>Fn(a,n)?pt(e,r,t,a,n,l,s):0)),e,t,n),hn=()=>Vt(()=>fe(()=>r[11]?.())??1?rt({},!0):0),mn=(e,t)=>Vt(e=>Fn(k,e)?vt(e,t):0,e),gn=()=>Vt(()=>{ze({}),e=!1}),bn=()=>Vt(()=>{Je({}),t=!1}),pn=(e,t)=>{if(-1!=s){vn();const n=e();return In(t),n}},vn=()=>(-1!=s&&s++,1==s&&(a[0]?.(),pe(me)),fn),In=e=>(s>0&&(s--,0==s&&(s=1,fe(()=>{Dt(1),Wn(m)||Nt(1),Zt(1),Wn(b)||Lt(1)}),e?.(fn)&&(Gn(m,(e,t)=>Gn(e,(e,n)=>Gn(e,([e],l)=>Fe(t,n,l,e,!0)))),Kn(m),Gn(b,([e],t)=>Ke(t,e,!0)),Kn(b)),pe(ge[0],void 0),s=-1,Dt(0),Wn(m)||Nt(0),Zt(0),Wn(b)||Lt(0),a[1]?.(),pe(ge[1],void 0),a[2]?.(),s=0,n=Wt(),l=Xt(),_e([i,d,c,u,h,m,p,g,b,v],Kn))),fn),fn={getContent:()=>[At(),jt()],getTables:At,getTableIds:$t,getTable:e=>ol(tl(x,ce(e)),xl),getTableCellIds:Ht,getRowCount:zt,getRowIds:Pt,getSortedRowIds:Jt,getRow:(e,t)=>al(tl(tl(x,ce(e)),ce(t)),xl),getCellIds:Ot,getCell:_t,getValues:jt,getValueIds:Bt,getValue:Ft,hasTables:Wt,hasTable:Qt,hasTableCell:Kt,hasRow:Gt,hasCell:Ut,hasValues:Xt,hasValue:Yt,getTablesJson:()=>mt(x),getValuesJson:()=>mt(k),getJson:()=>mt([x,k]),getTablesSchemaJson:()=>mt(I),getValuesSchemaJson:()=>mt(C),getSchemaJson:()=>mt([I,C]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Vt(()=>{const t=Ze(e)?e():e;qe(t)&&(e=>{Ce(e,()=>ke(r[0],t=>fe(()=>t(Re(e))),()=>e),([e,t])=>{(it(e)?on:en)(e),(it(t)?hn:nn)(t)},Vl)})(t)}),setTables:en,setTable:(e,t)=>Vt(e=>xe(t,e)?Ue(e,t):0,e),setRow:(e,t,n)=>Vt((e,t)=>De(e,t,n)?Xe(e,ut(e),t,n):0,e,t),addRow:(e,t,n=!0)=>pn(()=>{let l;return De(e,l,t)&&(e=ce(e),Xe(e,ut(e),l=((e,t)=>{const[n]=tl(y,e);let l;do{l=n(t)}while(Fn(tl(x,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>Vt((e,t)=>{if(De(e,t,n,1)){const l=ut(e);at(n,(n,s)=>nt(e,l,t,s,n))}},e,t),setCell:tn,setValues:nn,setPartialValues:e=>Vt(()=>Ve(e,1)?at(e,(e,t)=>ot(t,e)):0),setValue:ln,applyChanges:e=>Vt(()=>Ce(e,()=>ke(r[13],t=>fe(()=>t(Re(e))),()=>e),e=>{at(e[0],(e,t)=>Te(e)?dn(t):at(e,(e,n)=>Te(e)?cn(t,n):at(e,(e,l)=>Fe(t,n,l,e,void 0,!0)))),at(e[1],(e,t)=>Ke(t,e))},Vl)),setTablesJson:sn,setValuesJson:e=>(He(()=>Qe(ht(e))),fn),setJson:e=>Vt(()=>He(()=>{const[t,n]=ht(e);je(t),Qe(n)},()=>sn(e))),setTablesSchema:rn,setValuesSchema:an,setSchema:(e,t)=>Vt(()=>{rn(e),an(t)}),delTables:on,delTable:dn,delRow:cn,delCell:un,delValues:hn,delValue:mn,delTablesSchema:gn,delValuesSchema:bn,delSchema:()=>Vt(()=>{gn(),bn()}),transaction:pn,startTransaction:vn,getTransactionChanges:()=>Rt(),getTransactionLog:()=>[!Wn(m),!Wn(b),il(m,Ml,Nl),il(p),al(b,Ml,Nl),al(v),al(i),ol(u),il(h),al(g)],finishTransaction:In,forEachTable:e=>Gn(x,(t,n)=>e(n,e=>Gn(t,(t,n)=>e(n,e=>nl(t,(t,n)=>e(t,xl(n))))))),forEachTableCell:(e,t)=>nl(tl(q,ce(e)),t),forEachRow:(e,t)=>Gn(tl(x,ce(e)),(e,n)=>t(n,t=>nl(e,(e,n)=>t(e,xl(n))))),forEachCell:(e,t,n)=>nl(tl(tl(x,ce(e)),ce(t)),(e,t)=>n(e,xl(t))),forEachValue:e=>nl(k,(t,n)=>e(t,xl(n))),addSortedRowIdsListener:(e,t,n,l,s,r,a)=>Ye(e)?Et(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):Et(e,t,[n,l,s],r,a),addStartTransactionListener:e=>be(e,me),addWillFinishTransactionListener:e=>be(e,ge[0]),addDidFinishTransactionListener:e=>be(e,ge[1]),callListener:e=>(Ie(e),fn),delListener:e=>(ve(e),fn),getListenerStats:()=>({hasTables:Dl(S),tables:Dl(D),tableIds:Dl(Z),hasTable:Dl(M),table:Dl(N),tableCellIds:Dl(L),hasTableCell:Dl(V,jn),rowCount:Dl(E),rowIds:Dl(R),sortedRowIds:Dl(A),hasRow:Dl($,jn),row:Dl(z,jn),cellIds:Dl(P,jn),hasCell:Dl(J,Bn),cell:Dl(F,Bn),invalidCell:Dl(Q,Bn),hasValues:Dl(oe),values:Dl(ie),valueIds:Dl(de),hasValue:Dl(ue),value:Dl(he),invalidValue:Dl(te),transaction:_n(me)+Dl(ge)}),isMergeable:()=>!1,_:[El,be,pe,(e,t,n,l,s)=>a=[e,t,n,l,s],(e,t,n,l,s,a,o,i,d,c,u,h,m,g,b)=>r=[e,t,n,l,s,a,o,i,d,c,u,h,m,g,b],Fe,Ke,()=>[il(x),al(k)],()=>Rt(!0)]};return at({[W+G]:[0,S,[],()=>[Wt()]],[G]:[0,D],[U]:[0,Z],[W+K]:[1,M,[$t],e=>[Qt(...e)]],[K]:[1,N,[$t]],[K+le]:[1,L,[$t]],[W+K+ne]:[2,V,[$t,Ht],e=>[Kt(...e)]],[Y]:[1,E,[$t]],[ee]:[1,R,[$t]],[W+X]:[2,$,[$t,Pt],e=>[Gt(...e)]],[X]:[2,z,[$t,Pt]],[le]:[2,P,[$t,Pt]],[W+ne]:[3,J,[$t,Pt,Ot],e=>[Ut(...e)]],[ne]:[3,F,[$t,Pt,Ot],e=>Sl(_t(...e))],InvalidCell:[3,Q],[W+re]:[0,oe,[],()=>[Xt()]],[re]:[0,ie],[ae]:[0,de],[W+se]:[1,ue,[Bt],e=>[Yt(...e)]],[se]:[1,he,[Bt],e=>Sl(Ft(e[0]))],InvalidValue:[1,te]},([e,t,n,l],s)=>{fn["add"+s+B]=(...s)=>be(s[e],t[s[e+1]?1:0],e>0?Ne(s,0,e):void 0,n,l)}),tt(fn)},Rl=({s:t})=>{const n=l(yt,t)??1,r=s(qt,()=>!0,[],t);return l(qt,t)?null:e("img",{onClick:r,title:vt,"data-position":n})},{Children:Al,Fragment:$l,PureComponent:Hl,createContext:zl,isValidElement:Pl,useCallback:Jl,useContext:Ol,useEffect:_l,useLayoutEffect:jl,useMemo:Bl,useRef:Fl,useState:Wl,useSyncExternalStore:Ql}=V,Kl=(e,...t)=>Te(e)?{}:e(...t),Gl="tinybase_uirc",Ul=me[Gl]?me[Gl]:me[Gl]=zl([]),Xl=(e,t)=>{const n=((e,t)=>{const n=Ol(Ul);return Te(e)?n[2*t]:De(e)?((e,t)=>ke(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return Te(e)||De(e)?n:e},Yl=[],es=[{},[],[Yl,void 0,Yl],{},void 0,void 0,!1,0],ts=(e,t)=>e===t||(Ye(e)||Me(e))&&ut(e)===ut(t),ns=[(e,t)=>dt(e,t,ts),Pe,([e,t,n],[l,s,r])=>t===s&&Pe(e,l)&&Pe(n,r),(e,t)=>dt(e,t,Je),Je,ts],ls=(e,t)=>e===t,ss=(e,t,n,l=Yl)=>{const s=Fl(es[n]),r=Jl(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??es[n];return(ns[n]??ls)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),a=Jl(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?W:R)+e,...l,s),[t,n,e,...l]);return Ql(a,r,r)},rs=(e,t,n,l,s,r,...a)=>((e,t,n,l=Yl,s=Ve,r=Yl,a,...o)=>Jl(l=>ke(e,e=>ke(n(l,e),n=>s(e[a+t](...as(o,e,l),n),n))),[e,t,...l,...r,a,...os(o)]))(ds(e),t,n,l,s,r,"set",...a),as=(e,t,n)=>Be(e,e=>Ze(e)?e(n,t):e),os=e=>{return t=e=>!Ze(e),e.filter(t);var t},is=(e,t,n=Ve,l=Yl,...s)=>{const r=ds(e);return Jl(e=>n(r?.["del"+t](...as(s,r,e))),[r,t,...l,...os(s)])},ds=e=>Xl(e,0),cs=(e,t)=>ss(K+le,ds(t),1,[e]),us=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>ss(te,ds(r),1,[e,t,n,l,s]))(...Ye(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),hs=(e,t,n,l)=>ss(ne,ds(l),5,[e,t,n]),ms=(e,t)=>ss(se,ds(t),5,[e]),gs=(e,t,n,l,s,r)=>rs(l,K,t,n,s,r,e),bs=(e,t,n,l,s,r,a)=>rs(s,X,n,l,r,a,e,t),ps=(e,t,n,l,s,r,a,o)=>rs(r,ne,l,s,a,o,e,t,n),vs=(e,t,n,l,s,r)=>rs(l,se,t,n,s,r,e),Is=(e,t,n,l)=>is(t,K,n,l,e),fs=(e,t,n,l,s)=>is(n,X,l,s,e,t),Cs=(e,t,n,l,s,r,a)=>is(s,ne,r,a,e,t,n,l),ws=(e,t,n,l)=>is(t,se,n,l,e),Ts=e=>Xl(e,2),ys=(e,t,n)=>ss("Slice"+ee,Ts(n),1,[e,t]),qs=e=>Xl(e,3),xs=e=>Xl(e,4),ks=(e,t)=>ss(F+K+le,xs(t),1,[e]),Ss=(e,t,n,l=0,s,r)=>ss(F+te,xs(r),1,[e,t,n,l,s]),Ds=(e,t)=>Bl(()=>({store:e,tableId:t}),[e,t]),Zs=(e,t)=>Bl(()=>({queries:e,queryId:t}),[e,t]),Ms=(e,t,n)=>{const l=Jl(e,t);return n?l:void 0},Ns=(...e)=>Bl(()=>e,e),Ls=(e,t,n)=>Bl(()=>{const l=t??e;return at(Me(l)?nt(Be(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...De(e)?{label:e}:e}))},[t,n,e]),Vs="editable",Es=(t=[],n,l=0)=>Be(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Rs(s,l))),Rs=(e,t)=>(t?">":"<")+e,As=(t=[],n=0)=>Be(t,({label:t},l)=>e("th",{className:de,children:t},Rs(l,n))),$s=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:Ms(()=>r?.(e),[r,e],r),className:Te(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[Te(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),Hs=({className:n,headerRow:l,idColumn:s,params:[r,a,o,i,d,c,u,h]})=>t("table",{className:n,children:[h?e("caption",{children:h}):null,!1===l?null:e("thead",{children:t("tr",{children:[As(i),!1===s?null:e($s,{sort:c??[],label:"Id",onClick:u}),rt(r,({label:t},n)=>e($s,{cellId:n,label:t,sort:c??[],onClick:u},n)),As(d,1)]})}),e("tbody",{children:Be(o,n=>{const l={...a,rowId:n};return t("tr",{children:[Es(i,l),qe(s)?null:e("th",{title:n,children:n}),rt(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...Kl(s,n,r),...l,cellId:r})},r)),Es(d,l,1)]},n)})})]}),zs=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:a=!0})=>{const[o,i]=Wl(),[d,c]=Wl(),[u,h]=Wl(),[m,g]=Wl(),[b,p]=Wl(),[v,I]=Wl("{}"),[f,C]=Wl("[]"),[w,T]=Wl(""),[y,q]=Wl("");d!==n&&(i(wl(n)),c(n),Ye(n)?I(ut(n)):Me(n)?C(ut(n)):(h(pe(n)),g(be(n)||0),p(ve(n))));const x=Jl((e,t)=>{t(e),c(e),l(e)},[l]),k=Jl((e,t,n,s)=>{t(e);try{const t=ht(e);n(t)&&(c(t),l(t),s(""))}catch{s("invalid")}},[l]),S=Jl(()=>{if(!r?.()){const e=kl(o,H,$,P,J,A),t=kl(e,u,m,b,$e(()=>ht(v),{}),$e(()=>ht(f),[]));i(e),c(t),l(t)}},[r,l,u,m,b,v,f,o]),D=kl(o,e("input",{value:u,onChange:Jl(e=>x(pe(e[oe][ie]),h),[x])},o),e("input",{type:"number",value:m,onChange:Jl(e=>x(be(e[oe][ie]||0),g),[x])},o),e("input",{type:"checkbox",checked:b,onChange:Jl(e=>x(ve(e[oe].checked),p),[x])},o),e("input",{value:v,className:w,onChange:Jl(e=>k(e[oe][ie],I,Ye,T),[k])},o),e("input",{value:f,className:y,onChange:Jl(e=>k(e[oe][ie],C,Me,q),[k])},o));return t("div",{className:s,children:[a&&D?e("button",{title:o,className:o,onClick:S,children:o}):null,D]})},Ps=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:a})=>{const[o,i]=((e,t,n,l)=>[hs(e,t,n,l),ps(e,t,n,Ee,[],l)])(t,n,l,s);return e(zs,{thing:o,onThingChange:i,className:r??Vs+ne,showType:a,hasSchema:ds(s)?.hasTablesSchema})},Js=({valueId:t,store:n,className:l,showType:s})=>{const[r,a]=((e,t)=>[ms(e,t),vs(e,Ee,[],t)])(t,n);return e(zs,{thing:r,onThingChange:a,className:l??Vs+se,showType:s,hasSchema:ds(n)?.hasValuesSchema})},Os=(e,t)=>Be(cs(e,t),t=>e+"."+t),_s=({localRowId:l,params:[s,r,a,o,i,d,c,u,h]})=>{const m=((e,t,n)=>ss("RemoteRowId",qs(n),5,[e,t]))(i,l,d),g={tableId:a??"",rowId:l,store:c};return t("tr",{children:[Es(u,g),qe(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),rt(r,({component:t,getComponentProps:n},s)=>{const[r,i]=((e,t="",n)=>e.split(t,n))(s,".",2),d=r===a?l:r===o?m:void 0;return Te(d)?null:e("td",{children:e(t,{...Kl(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),Es(h,g,1)]})},js=({relationshipId:l,relationships:s,editable:a,customCells:o,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,g,b,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(qs(s),l),v=Ls([...Os(b,g),...Os(p,g)],o,a?Ps:r),I=Ns(h,v,b,p,l,m,g,i,d);return t("table",{className:c,children:[qe(u)?null:e("thead",{children:t("tr",{children:[As(i),qe(h)?null:t(n,{children:[t("th",{children:[b,".Id"]}),t("th",{children:[p,".Id"]})]}),rt(v,({label:t},n)=>e("th",{children:t},n)),As(d,1)]})}),e("tbody",{children:Be((f=b,C=g,ss(ee,ds(C),1,[f])),t=>e(_s,{localRowId:t,params:I},t))})]});var f,C},Bs=(t,n=!1,l,s=0,r,a,o,i)=>{const[[d,c,u],h]=Wl([t,n,s]),m=Jl(e=>{h(e),i?.(e)},[i]),g=Ms(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),b=Jl(e=>m([d,c,e]),[m,d,c]),p=!0===o?Fs:o;return[[d,c,u],g,Bl(()=>qe(o)?null:e(p,{offset:u,limit:r,total:a,onChange:b}),[o,p,u,r,a,b])]},Fs=({onChange:l,total:s,offset:r=0,limit:a=s,singular:o="row",plural:i=o+"s"})=>{(r>s||r<0)&&(r=0,l(0));const d=Ms(()=>l(r-a),[l,r,a],r>0),c=Ms(()=>l(r+a),[l,r,a],r+a<s);return t(n,{children:[s>a&&t(n,{children:[e("button",{className:"previous",disabled:0==r,onClick:d,children:"←"}),e("button",{className:"next",disabled:r+a>=s,onClick:c,children:"→"}),r+1," to ",Ie(s,r+a)," of "]}),s," ",1!=s?i:o]})},Ws=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:o,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...g})=>{const[b,p,v]=Bs(n,l,i,s,r,((e,t)=>ss(F+Y,xs(t),7,[e]))(t,o),d,m);return e(Hs,{...g,params:Ns(Ls(ks(t,o),c,a),Zs(o,t),Ss(t,...b,r,o),u,h,b,p,v)})},Qs=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:a,extraCellsBefore:o,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Ts(l),t);return e(Hs,{...d,params:Ns(Ls(cs(h,u),a,s?Ps:r),Ds(u,h),ys(t,n,c),o,i)})},Ks=({tableId:t,cellId:n,descending:l,offset:s,limit:a,store:o,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:g,...b})=>{const[p,v,I]=Bs(n,l,d,s,a,((e,t)=>ss(Y,ds(t),7,[e]))(t,o),c,u);return e(Hs,{...b,params:Ns(Ls(cs(t,o),h,i?Ps:r),Ds(o,t),us(t,...p,a,o),m,g,p,v,I)})},Gs=(t=[],n,l=0)=>Be(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Rs(s,l))),Us=({store:n,editable:l=!1,valueComponent:s=(l?Js:o),getValueComponentProps:r,extraCellsBefore:a,extraCellsAfter:i,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[As(a),!1===u?null:e("th",{children:"Id"}),e("th",{children:se}),As(i,1)]})}),e("tbody",{children:Be((h=n,ss(ae,ds(h),1)),l=>{const o={valueId:l,store:n};return t("tr",{children:[Gs(a,o),qe(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{...Kl(r,l),...o})}),Gs(i,o,1)]},l)})})]});var h},Xs=({uniqueId:n,title:l,editable:s,handleEditable:r,children:a,s:o})=>{const c=!!i(ft,n,wt,o),u=d(ft,n,wt,e=>e[oe].open,[],o);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:l}),r?e("img",{onClick:r,className:s?"done":"edit",title:s?"Done editing":"Edit"}):null]}),e("div",{children:a})]})},Ys=(e,t)=>[!!i(ft,e,Tt,t),Jl(n=>{t.setCell(ft,e,Tt,e=>!e),n.preventDefault()},[t,e])],er=({indexes:t,indexesId:n,indexId:l,s:s})=>e(Xs,{uniqueId:kt("i",n,l),title:"Index: "+l,s:s,children:Be(h(l,t),r=>e(tr,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),tr=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const a=kt("i",n,l,s),[o,i]=Ys(a,r);return e(Xs,{uniqueId:a,title:"Slice: "+s,editable:o,handleEditable:i,s:r,children:e(Qs,{sliceId:s,indexId:l,indexes:t,editable:o})})},nr=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return Te(l)?null:e(Xs,{uniqueId:kt("i",t),title:"Indexes: "+(t??_),s:n,children:Fe(s)?"No indexes defined":St(s,s=>e(er,{indexes:l,indexesId:t,indexId:s,s:n},s))})},lr=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:b(l,n)})]}),sr=({metricsId:n,s:l})=>{const s=m(n),r=g(s);return Te(s)?null:e(Xs,{uniqueId:kt("m",n),title:"Metrics: "+(n??_),s:l,children:Fe(r)?"No metrics defined":t("table",{children:[t("thead",{children:[e("th",{children:"Metric Id"}),e("th",{children:"Table Id"}),e("th",{children:"Metric"})]}),e("tbody",{children:Be(r,t=>e(lr,{metrics:s,metricId:t},t))})]})})},rr=({queries:t,queriesId:n,queryId:l,s:s})=>{const r=kt("q",n,l),[a,o,c]=ht(i(ft,r,Ct,s)??"[]"),u=d(ft,r,Ct,mt,[],s);return e(Xs,{uniqueId:r,title:"Query: "+l,s:s,children:e(Ws,{queryId:l,queries:t,cellId:a,descending:o,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},ar=({queriesId:t,s:n})=>{const l=p(t),s=v(l);return Te(l)?null:e(Xs,{uniqueId:kt("q",t),title:"Queries: "+(t??_),s:n,children:Fe(s)?"No queries defined":St(s,s=>e(rr,{queries:l,queriesId:t,queryId:s,s:n},s))})},or=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=kt("r",n,l),[a,o]=Ys(r,s);return e(Xs,{uniqueId:r,title:"Relationship: "+l,editable:a,handleEditable:o,s:s,children:e(js,{relationshipId:l,relationships:t,editable:a})})},ir=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return Te(l)?null:e(Xs,{uniqueId:kt("r",t),title:"Relationships: "+(t??_),s:n,children:Fe(s)?"No relationships defined":St(s,s=>e(or,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},dr=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},cr=({actions:l,...s})=>{const[r,a]=Wl(),o=Jl(()=>a(void 0),[]);if(_l(()=>{if(!Te(r)){const e=e=>{Te(r)||"Escape"!==e.key||(e.preventDefault(),o())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,o]),Te(r))return l.map(([t,n],l)=>e("img",{title:n,className:t,onClick:()=>a(l)},l));{const[,,a]=l[r];return t(n,{children:[e(a,{onDone:o,...s}),e("img",{onClick:o,title:"Cancel",className:"cancel"})]})}},ur=({onDone:l,suggestedId:s,has:r,set:a,prompt:o="New Id"})=>{const[i,d]=Wl(s),[c,u]=Wl(!0),[h,m]=Wl(s),g=Jl(()=>{r(i)?u(!1):(a(i),l())},[l,u,r,a,i]),b=Jl(e=>{"Enter"===e.key&&(e.preventDefault(),g())},[g]);return s!=h&&(d(s),m(s)),t(n,{children:[o+": ",e("input",{type:"text",value:i,onChange:e=>{d(e.target.value),u(!r(e.target.value))},onKeyDown:b,autoFocus:!0})," ",e("img",{onClick:g,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},hr=({onClick:l,prompt:s="Delete"})=>{const r=Jl(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return _l(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},mr=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),gr=e=>{const t=ds(e);return Jl(e=>t?.hasTable(e)??!1,[t])},br=({onDone:t,store:n})=>{const l=gr(n);return e(ur,{onDone:t,suggestedId:dr("table",l),has:l,set:gs(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},pr=({onDone:t,store:n})=>{return e(hr,{onClick:(l=n,s=t,is(l,G,s,void 0)),prompt:"Delete all tables"});var l,s},vr=({store:t})=>{return e(mr,{left:e(cr,{actions:[["add","Add table",br]],store:t}),right:(n=t,ss(G,ds(n),6,[])?e(cr,{actions:[["delete","Delete all tables",pr]],store:t}):null)});var n},Ir=({onDone:t,tableId:n,store:l})=>{const s=yr(l,n);return e(ur,{onDone:t,suggestedId:dr("row",s),has:s,set:bs(n,e=>e,(e,t)=>nt(Be(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},fr=({onDone:t,tableId:n,store:l})=>{const s=ds(l),r=gr(s);return e(ur,{onDone:t,suggestedId:dr(n,r),has:r,set:gs(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},Cr=({onDone:t,tableId:n,store:l})=>e(hr,{onClick:Is(n,l,t),prompt:"Delete table"}),wr=({tableId:t,store:n})=>e(cr,{actions:[["add","Add row",Ir]],store:n,tableId:t}),Tr=({tableId:t,store:n})=>e(cr,{actions:[["clone","Clone table",fr],["delete","Delete table",Cr]],store:n,tableId:t}),yr=(e,t)=>{const n=ds(e);return Jl(e=>n?.hasRow(t,e)??!1,[n,t])},qr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ds(s),a=Jl(e=>r.hasCell(n,l,e),[r,n,l]);return e(ur,{onDone:t,suggestedId:dr("cell",a),has:a,set:ps(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},xr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ds(s),a=yr(r,n);return e(ur,{onDone:t,suggestedId:dr(l,a),has:a,set:bs(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},kr=({onDone:t,tableId:n,rowId:l,store:s})=>e(hr,{onClick:fs(n,l,s,t),prompt:"Delete row"}),Sr=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e(hr,{onClick:Cs(n,l,s,!0,r,t),prompt:"Delete cell"}),Dr=({tableId:t,rowId:n,cellId:l,store:s})=>e(cr,{actions:[["delete","Delete cell",Sr]],store:s,tableId:t,rowId:n,cellId:l}),Zr=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(cr,{actions:[["add","Add cell",qr],["clone","Clone row",xr],["delete","Delete row",kr]],store:l,tableId:t,rowId:n})}],Mr=l=>t(n,{children:[e(Ps,{...l}),T(l.tableId,l.rowId,l.cellId,l.store)&&e(Dr,{...l})]}),Nr=({tableId:n,store:l,storeId:s,s:a})=>{const o=kt("t",s,n),[c,u,h]=ht(i(ft,o,Ct,a)??"[]"),m=d(ft,o,Ct,mt,[],a),[g,b]=Ys(o,a),p=g?Mr:r;return t(Xs,{uniqueId:o,title:K+": "+n,editable:g,handleEditable:b,s:a,children:[e(Ks,{tableId:n,store:l,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:g,extraCellsAfter:g?Zr:[],customCells:nt(Be(w(n,l),e=>[e,{label:e,component:p}]))}),g?t("div",{className:"actions",children:[e("div",{children:e(wr,{tableId:n,store:l})}),e("div",{children:e(Tr,{tableId:n,store:l})})]}):null]})},Lr=({store:n,storeId:l,s:s})=>{const r=kt("ts",l),[a,o]=Ys(r,s),i=C(n);return t(Xs,{uniqueId:r,title:G,editable:a,handleEditable:o,s:s,children:[Fe(i)?e("p",{children:"No tables."}):St(i,t=>e(Nr,{store:n,storeId:l,tableId:t,s:s},t)),a?e(vr,{store:n}):null]})},Vr=e=>{const t=ds(e);return Jl(e=>t?.hasValue(e)??!1,[t])},Er=({onDone:t,store:n})=>{const l=Vr(n);return e(ur,{onDone:t,suggestedId:dr("value",l),has:l,set:vs(e=>e,()=>"",[],n),prompt:"Add value"})},Rr=({onDone:t,store:n})=>{return e(hr,{onClick:(l=n,s=t,is(l,re,s,void 0)),prompt:"Delete all values"});var l,s},Ar=({store:t})=>{return e(mr,{left:e(cr,{actions:[["add","Add value",Er]],store:t}),right:(n=t,ss(re,ds(n),6,[])?e(cr,{actions:[["delete","Delete all values",Rr]],store:t}):null)});var n},$r=({onDone:t,valueId:n,store:l})=>{const s=Vr(l);return e(ur,{onDone:t,suggestedId:dr(n,s),has:s,set:vs(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},Hr=({onDone:t,valueId:n,store:l})=>e(hr,{onClick:ws(n,l,t),prompt:"Delete value"}),zr=[{label:"",component:({valueId:t,store:n})=>e(cr,{actions:[["clone","Clone value",$r],["delete","Delete value",Hr]],store:n,valueId:t})}],Pr=({store:n,storeId:l,s:s})=>{const r=kt("v",l),[a,o]=Ys(r,s);return t(Xs,{uniqueId:r,title:re,editable:a,handleEditable:o,s:s,children:[Fe(y(n))?e("p",{children:"No values."}):e(Us,{store:n,editable:a,extraCellsAfter:a?zr:[]}),a?e(Ar,{store:n}):null]})},Jr=({storeId:n,s:l})=>{const s=q(n);return Te(s)?null:t(Xs,{uniqueId:kt("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??_),s:l,children:[e(Pr,{storeId:n,store:s,s:l}),e(Lr,{storeId:n,store:s,s:l})]})},Or=({s:n})=>{const l=Fl(null),s=Fl(0),[r,a]=Wl(!1),{scrollLeft:o,scrollTop:i}=x(n);jl(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=fe(o)+e.clientWidth&&e.scrollHeight>=fe(i)+e.clientHeight&&e.scrollTo(o,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,o,i]);const d=Jl(e=>{const{scrollLeft:t,scrollTop:l}=e[oe];var r;(e=>{globalThis.cancelIdleCallback?.(e)??clearTimeout(e)})(s.current),s.current=(r=()=>{a(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})},globalThis.requestIdleCallback?.(r)??setTimeout(()=>r(),0))},[n]),u=q(),h=k(),g=m(),b=S(),v=c(),f=D(),C=I(),w=Z(),T=p(),y=M();return Te(u)&&Fe(h)&&Te(g)&&Fe(b)&&Te(v)&&Fe(f)&&Te(C)&&Fe(w)&&Te(T)&&Fe(y)?e("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):t("article",{ref:l,onScroll:d,children:[e(Jr,{s:n}),Be(h,t=>e(Jr,{storeId:t,s:n},t)),e(sr,{s:n}),Be(b,t=>e(sr,{metricsId:t,s:n},t)),e(nr,{s:n}),Be(f,t=>e(nr,{indexesId:t,s:n},t)),e(ir,{s:n}),Be(w,t=>e(ir,{relationshipsId:t,s:n},t)),e(ar,{s:n}),Be(y,t=>e(ar,{queriesId:t,s:n},t))]})};class _r extends Hl{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?e("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const jr=({s:n})=>{const r=l(yt,n)??1,a=s(qt,()=>!1,[],n),o=s(yt,e=>be(e[oe].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:vt,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:vt}),Be(It,(t,n)=>n==r?null:e("img",{onClick:o,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:a,title:"Close"})]})},Br=({s:n})=>{const s=l(yt,n)??1;return l(qt,n)?t("main",{"data-position":s,children:[e(jr,{s:n}),e(_r,{children:e(Or,{s:n})})]}):null},Fr=({position:l="right",open:s=!1,hue:r=270})=>{const a=N(El);return L(a,e=>{return t=pt,n=sessionStorage,((e,t,n,l,s,r,a,o={},i=0,d=[])=>{let c,u,h,m=0,g=0,b=0;sl(Il,d,()=>0),sl(fl,d,()=>[]);const p=Yn(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[e],[t]])=>!it(e)||!it(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!it(e)||!it(t),t.setContent]:Ae("Store type not supported by this Persister"))(a,e,i),[T,y,q]=vl(()=>$),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&Me(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},S=async()=>{E()&&e.__?.[0]?.()&&await N()},D=async e=>(2!=m&&(x(1),g++,await A(async()=>{await He(async()=>{const n=await t();Me(n)?k(n):e?w(e):Ae("Content is not an array: "+n)},()=>{e&&w(e)}),x(0),await S()})),$),Z=async e=>(M(),await D(e),await He(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),g++,k(t??e),x(0),await S()):await D()}),r),$),M=async()=>(u&&(await He(()=>s(u),r),u=void 0),$),N=async e=>(1!=m&&(x(2),b++,await A(async()=>{await He(()=>n(I,e),r),x(0)})),$),L=async()=>(V(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&N(e)}),$),V=async()=>(h&&(e.delListener(h),h=void 0),$),E=()=>!Te(h),R=async(e=!1)=>{const[t,n]=e?[V,M]:[M,V];return await t(),await n(),$},A=async(...e)=>(We(tl(fl,d),...e),await(async()=>{if(!tl(Il,d)){for(ll(Il,d,1);!Te(c=Qe(tl(fl,d)));)await He(c,r);ll(Il,d,0)}})(),$),$={load:D,startAutoLoad:Z,stopAutoLoad:M,isAutoLoading:()=>!Te(u),save:N,startAutoSave:L,stopAutoSave:V,isAutoSaving:E,startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[L,Z]:[Z,L];return await n(e),await l(e),$},stopAutoPersisting:R,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:A,getStore:()=>e,destroy:()=>(tl(fl,d).splice(0,void 0),R()),getStats:()=>({loads:g,saves:b}),...o};return tt($)})(e,async()=>gt(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),ut(l,(e,t)=>Te(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&He(()=>e(gt(l.newValue)),e)};return ge.addEventListener(Cl,l),l},e=>ge.removeEventListener(Cl,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:xt(l),open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:pt,style:{"--hue":r},children:[e(Rl,{s:a}),e(Br,{s:a})]}),e("style",{children:Pn})]})};export{Fr as Inspector};
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useValue as l,useSetValueCallback as s,CellView as r,ResultCellView as o,ValueView as a,useCell as i,useSetCellCallback as d,useIndexes as c,useIndexIds as u,useSliceIds as h,useMetrics as m,useMetricIds as g,useMetric as b,useQueries as p,useQueryIds as v,useRelationships as I,useRelationshipIds as f,useTableIds as C,useTableCellIds as w,useHasCell as T,useValueIds as y,useStore as q,useValues as x,useStoreIds as k,useMetricsIds as S,useIndexesIds as D,useRelationshipsIds as Z,useQueriesIds as M,useCreateStore as N,useCreatePersister as L}from"../ui-react/index.js";import V from"react";const E=e=>typeof e,R="",A=E(R),$=E(!0),H=E(0),z=E(E),P="object",J="array",O="type",_="default",j="allowNull",B="Listener",F="Result",W="Has",Q="Ids",K="Table",G=K+"s",U=K+Q,X="Row",Y=X+"Count",ee=X+Q,te="Sorted"+X+Q,ne="Cell",le=ne+Q,se="Value",re=se+"s",oe=se+Q,ae="currentTarget",ie="value",de="extra",ce=e=>R+e,ue=Math,he=e=>(t,n,l)=>e(t)?l?.():n(t),me=globalThis,ge=me.window,be=Number,pe=String,ve=Boolean,Ie=ue.min,fe=ue.floor,Ce=isFinite,we=e=>null==e,Te=e=>void 0===e,ye=e=>null===e,qe=e=>!1===e,xe=he(we),ke=he(Te),Se=e=>e==A||e==$,De=e=>E(e)==A,Ze=e=>E(e)==z,Me=e=>Array.isArray(e),Ne=(e,t,n)=>e.slice(t,n),Le=e=>e.length,Ve=()=>{},Ee=e=>e,Re=me.structuredClone,Ae=e=>{throw Error(e)},$e=(e,t)=>{try{return e()}catch{return t}},He=async(e,t,n)=>{try{return await e()}catch(e){t?.(e)}},ze=(e,t)=>e.every(t),Pe=(e,t)=>Le(e)===Le(t)&&ze(e,(e,n)=>t[n]===e),Je=(e,t)=>Me(e)&&Me(t)?Pe(e,t):e===t,Oe=(e,t)=>e.sort(t),_e=(e,t)=>e.forEach(t),je=(e,t="")=>e.join(t),Be=(e,t)=>e.map(t),Fe=e=>0==Le(e),We=(e,...t)=>e.push(...t),Qe=e=>e.shift(),Ke=Object,Ge=e=>Ke.getPrototypeOf(e),Ue=Ke.isFrozen,Xe=Ke.entries,Ye=e=>!we(e)&&xe(Ge(e),e=>e==Ke.prototype||we(Ge(e)),()=>!0),et=Ke.keys,tt=Ke.freeze,nt=(e=[])=>Ke.fromEntries(e),lt=(e,t)=>t in e,st=(e,t)=>(delete e[t],e),rt=(e,t)=>Be(Xe(e),([e,n])=>t(n,e)),ot=(e,t)=>nt(rt(e,(e,n)=>[n,t(e,n)])),at=e=>Le(et(e)),it=e=>Ye(e)&&0==at(e),dt=(e,t,n=(e,t)=>e===t)=>{const l=Xe(e);return Le(l)===at(t)&&ze(l,([e,l])=>Ye(l)?!!Ye(t[e])&&dt(t[e],l,n):n(l,t[e]))},ct=(e,t,n,l=0)=>we(e)||!Ye(e)||!l&&it(e)||Ue(e)?(n?.(),!1):(((e,t)=>{_e(Xe(e),([e,n])=>t(n,e))})(e,(n,l)=>{t(n,l)||st(e,l)}),!!l||!it(e)),ut=JSON.stringify,ht=JSON.parse,mt=e=>ut(e,(e,t)=>t instanceof Map?Ke.fromEntries([...t]):t),gt=e=>bt(ht(e)),bt=e=>""===e?void 0:Me(e)?Be(e,bt):Ye(e)?ot(e,bt):e,pt="tinybaseInspector",vt="TinyBase Inspector",It=["left","top","bottom","right","full"],ft="state",Ct="sort",wt="open",Tt="editable",yt="position",qt=wt,xt=e=>{const t=It.indexOf(e);return-1==t?1:t},kt=(...e)=>mt(e),St=(e,t)=>Be(Oe([...e]),t),Dt='url("',Zt=(e,t="white")=>({content:Dt+`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960' fill='${t}'><path d='${e}' /></svg>")`}),Mt="v560h120v-560h-120Z",Nt="v560h360v-560h-360Z",Lt="v120h560v-120h-560Z",Vt="v360h560v-360h-560Z",Et={content:Dt+"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\")"},Rt=Be([`M200-760${Mt} M400-760${Nt}`,`M200-760${Lt} M200-560${Vt}`,`M200-760${Vt} M200-320${Lt}`,`M200-760${Nt} M640-760${Mt}`],e=>Zt("M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z"+e));We(Rt,Zt("M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"));const At=Zt("m336-280-56-56 144-144-144-143 56-56 144 144 143-144 56 56-144 143 144 144-56 56-143-144-144 144Z"),$t=Zt("M200-200h57l391-391-57-57-391 391v57Zm-80 80v-170l528-527q12-11 26.5-17t30.5-6q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L290-120H120Zm640-584-56-56 56 56Zm-141 85-28-29 57 57-29-28Z"),Ht=Zt("m622-453-56-56 82-82-57-57-82 82-56-56 195-195q12-12 26.5-17.5T705-840q16 0 31 6t26 18l55 56q12 11 17.5 26t5.5 30q0 16-5.5 30.5T817-647L622-453ZM200-200h57l195-195-28-29-29-28-195 195v57ZM792-56 509-338 290-120H120v-169l219-219L56-792l57-57 736 736-57 57Zm-32-648-56-56 56 56Zm-169 56 57 57-57-57ZM424-424l-29-28 57 57-28-29Z"),zt=Zt("M440-280h80v-160h160v-80H520v-160h-80v160H280v80h160v160ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"),Pt=Zt("M520-400h80v-120h120v-80H600v-120h-80v120H400v80h120v120ZM320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320Zm0-80h480v-480H320v480ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm160-720v480-480Z"),Jt=Zt("M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z"),Ot=Zt("m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(127,255,127)"),_t=Zt("m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z","rgb(255,255,127)"),jt=Zt("m336-280 144-144 144 144 56-56-144-144 144-144-56-56-144 144-144-144-56 56 144 144-144 144 56 56ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z","rgb(255,127,127)"),Bt=Zt("M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"),Ft=Zt("M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"),Wt="*::-webkit-scrollbar",Qt="background",Kt="width",Gt="max-"+Kt,Ut="min-"+Kt,Xt="height",Yt="border",en="radius",tn=Yt+"-"+en,nn="padding",ln="margin",sn="top",rn="bottom",on="left",an="right",dn="color",cn="position",un="box-shadow",hn="font-size",mn="display",gn="overflow",bn="cursor",pn="vertical-align",vn="text-align",In="justify-content",fn="white-space",Cn="text-overflow",wn="align-items",Tn="backdrop-filter",yn=ln+"-"+an,qn="z-index",xn="fixed",kn="revert",Sn="unset",Dn="none",Zn="flex",Mn="pointer",Nn="auto",Ln="hidden",Vn="nowrap",En=(e,t="% 0.01 "+Rn("hue"))=>`oklch(${e}${t})`,Rn=e=>`var(--${e})`,An=(...e)=>e.join("rem ")+"rem",$n=(...e)=>e.join("px ")+"px",Hn=(e=100)=>e+"vw",zn=(e=100)=>e+"vh",Pn=je(rt({"":{all:"initial",[hn]:An(.75),[cn]:xn,[qn]:999999,"font-family":"inter,sans-serif","--bg":En(20),"--bg2":En(15),"--bg3":En(25),"--bg4":En(30),"--fg":En(85),"--fg2":En(60),["--"+Yt]:$n(1)+" solid "+Rn("bg4"),["--"+un]:$n(0,1,2,0)+" #0007"},"*":{all:kn},"*::before":{all:kn},"*::after":{all:kn},[Wt]:{[Kt]:An(.5),[Xt]:An(.5)},[Wt+"-thumb"]:{[Qt]:Rn("bg4")},[Wt+"-thumb:hover"]:{[Qt]:Rn("bg4")},[Wt+"-corner"]:{[Qt]:Dn},[Wt+"-track"]:{[Qt]:Dn},img:{[Kt]:An(.8),[Xt]:An(.8),[pn]:"text-"+rn,[bn]:Mn,[ln]:$n(-2.5,2,-2.5,0),[nn]:$n(2),[Yt]:Rn(Yt),[Qt]:Rn("bg3"),[un]:Rn(un),[tn]:An(.25)},"img.flat":{[Yt]:Dn,[Qt]:Dn,[un]:Dn},">img":{[nn]:An(.25),[rn]:0,[an]:0,[cn]:xn,[Xt]:Sn,[ln]:0,...Et},...nt(Be([{[rn]:0,[on]:0},{[sn]:0,[an]:0}],(e,t)=>[`>img[data-position='${t}']`,e])),main:{[mn]:Zn,[dn]:Rn("fg"),[Qt]:Rn("bg"),[gn]:Ln,[cn]:xn,[un]:Rn(un),"flex-direction":"column"},...nt(Be([{[rn]:0,[on]:0,[Kt]:Hn(35),[Xt]:zn(),[Yt+"-"+an]:Rn(Yt)},{[sn]:0,[an]:0,[Kt]:Hn(),[Xt]:zn(30),[Yt+"-"+rn]:Rn(Yt)},{[rn]:0,[on]:0,[Kt]:Hn(),[Xt]:zn(30),[Yt+"-"+sn]:Rn(Yt)},{[sn]:0,[an]:0,[Kt]:Hn(35),[Xt]:zn(),[Yt+"-"+on]:Rn(Yt)},{[sn]:0,[an]:0,[Kt]:Hn(),[Xt]:zn()}],(e,t)=>[`main[data-position='${t}']`,e])),header:{[mn]:Zn,[nn]:An(.5),[un]:Rn(un),[Qt]:En(30,"% 0.008 var(--hue) / .5"),[Kt]:"calc(100% - .5rem)",[cn]:"absolute",[qn]:1,[Yt+"-"+rn]:Rn(Yt),[wn]:"center",[Tn]:"blur(4px)"},"header>img:nth-of-type(1)":{[Xt]:An(1),[Kt]:An(1),...Et},"header>img:nth-of-type(6)":At,...nt(Be(Rt,(e,t)=>[`header>img[data-id='${t}']`,e])),"header>span":{[gn]:Ln,[Zn]:1,"font-weight":800,[fn]:Vn,[Cn]:"ellipsis"},article:{[gn]:Nn,[Zn]:1,[nn+"-"+sn]:An(2)},details:{[ln]:An(.5),[Yt]:Rn(Yt),[tn]:An(.25)},summary:{[Qt]:Rn("bg3"),[ln]:$n(-1),[Yt]:Rn(Yt),[nn]:An(.25,.125),[mn]:Zn,[tn]:An(.25),"user-select":Dn,[In]:"space-between",[wn]:"center",[Tn]:"blur(4px)"},"summary>span::before":{[mn]:"inline-block",[pn]:"sub",[ln]:$n(2),[Kt]:An(1),[Xt]:An(1),...Ft},"details[open]>summary":{[Yt+"-"+rn+"-"+on+"-"+en]:0,[Yt+"-"+rn+"-"+an+"-"+en]:0,[ln+"-"+rn]:0},"details[open]>summary>span::before":Bt,"details>summary img":{[mn]:Dn},"details[open]>summary img":{[mn]:Sn,[ln+"-"+on]:An(.25)},"details>div":{[gn]:Nn},[`caption,#${pt} p`]:{[dn]:Rn("fg2"),[nn]:An(.25,.5),[vn]:on,[ln]:0,[fn]:Vn},"caption button":{[Kt]:An(1.5),[Yt]:Dn,[Qt]:Dn,[dn]:Rn("fg"),[nn]:0,[bn]:Mn},"caption button[disabled]":{[dn]:Rn("fg2")},".actions":{[nn]:An(.75,.5),[ln]:0,[mn]:Zn,[Yt+"-"+sn]:Rn(Yt),[In]:"space-between"},table:{[Ut]:"100%","border-collapse":"collapse","table-layout":xn},thead:{[Qt]:Rn("bg")},[`th,#${pt} td`]:{[gn]:Ln,[nn]:An(.25,.5),[Gt]:An(20),[Yt]:Rn(Yt),[Cn]:"ellipsis",[fn]:Vn,"border-width":$n(1,0,0),[vn]:on},"th:first-child":{[Kt]:An(3),[Ut]:An(3),[Gt]:An(3)},"th.sorted":{[Qt]:Rn("bg3")},"td.extra":{[vn]:an},"tbody button":{[Qt]:Dn,[Yt]:Dn,[hn]:0,[Kt]:An(.8),[Xt]:An(.8),[dn]:Rn("fg2"),[ln]:An(0,.25,0,-.25),"line-height":An(.8)},"tbody button:first-letter":{[hn]:An(.8)},input:{[Qt]:Rn("bg2"),[dn]:Sn,[nn]:$n(4),[Yt]:0,[ln]:$n(-4,0),[hn]:Sn,[Gt]:An(6)},"input:focus":{"outline-width":0},'input[type="number"]':{[Kt]:An(3)},'input[type="checkbox"]':{[pn]:$n(-2)},".editableCell":{[mn]:"inline-block",[yn]:$n(2)},"button.next":{[yn]:An(.5)},"img.add":zt,"img.clone":Pt,"img.delete":Jt,"img.done":Ht,"img.edit":$t,"img.ok":Ot,"img.okDis":_t,"img.cancel":jt,"span.warn":{[ln]:An(2,.25),[dn]:"#d81b60"}},(e,t)=>`#${pt} ${t}{${je(rt(e,(e,t)=>`${t}:${e};`))}}`)),Jn=e=>t=>{return n=(t,n)=>t+e(n),Qn(t).reduce(n,0);var n},On=e=>e?.size??0,_n=Jn(On),jn=Jn(_n),Bn=Jn(jn),Fn=(e,t)=>e?.has(t)??!1,Wn=e=>Te(e)||0==On(e),Qn=e=>[...e?.values()??[]],Kn=e=>e.clear(),Gn=(e,t)=>e?.forEach(t),Un=(e,t)=>e?.delete(t),Xn=Map,Yn=e=>new Xn(e),el=e=>[...e?.keys()??[]],tl=(e,t)=>e?.get(t),nl=(e,t)=>Gn(e,(e,n)=>t(n,e)),ll=(e,t,n)=>Te(n)?(Un(e,t),e):e?.set(t,n),sl=(e,t,n,l)=>(Fn(e,t)?l?.(tl(e,t)):ll(e,t,n()),tl(e,t)),rl=(e,t,n,l=ll)=>(ot(t,(t,l)=>n(e,l,t)),nl(e,n=>lt(t,n)?0:l(e,n)),e),ol=(e,t,n,l)=>{const s={};return Gn(e,(e,r)=>{if(!n?.(e,r)){const n=t?t(e,r):e;l?.(n)||(s[r]=n)}}),s},al=(e,t,n)=>ol(e,e=>ol(e,t,n),Wn,it),il=(e,t,n)=>ol(e,e=>al(e,t,n),Wn,it),dl=(e,t)=>{const n=Yn();return Gn(e,(e,l)=>n.set(l,t?.(e)??e)),n},cl=e=>dl(e,dl),ul=e=>dl(e,cl),hl=(e,t,n,l,s=0)=>ke((n?sl:tl)(e,t[s],s>Le(t)-2?n:Yn),r=>{if(s>Le(t)-2)return l?.(r)&&ll(e,t[s]),r;const o=hl(r,t,n,l,s+1);return Wn(r)&&ll(e,t[s]),o}),ml=/^\d+$/,gl=()=>{const e=[];let t=0;return[n=>(n?Qe(e):null)??R+t++,t=>{ml.test(t)&&Le(e)<1e3&&We(e,t)}]},bl=e=>new Set(Me(e)||Te(e)?e:[e]),pl=(e,t)=>e?.add(t),vl=e=>{let t;const[n,l]=gl(),s=Yn();return[(l,r,o,a=[],i=()=>[])=>{t??=e();const d=n(1);return ll(s,d,[l,r,o,a,i]),pl(hl(r,o??[R],bl),d),d},(e,n,...l)=>_e(((e,t=[R])=>{const n=[],l=(e,s)=>s==Le(t)?We(n,e):ye(t[s])?Gn(e,e=>l(e,s+1)):_e([t[s],null],t=>l(tl(e,t),s+1));return l(e,0),n})(e,n),e=>Gn(e,e=>tl(s,e)[0](t,...n??[],...l))),e=>ke(tl(s,e),([,t,n])=>(hl(t,n??[R],void 0,t=>(Un(t,e),Wn(t)?1:0)),ll(s,e),l(e),n)),e=>ke(tl(s,e),([e,,n=[],l,s])=>{const r=(...o)=>{const a=Le(o);a==Le(n)?e(t,...o,...s(o)):ye(n[a])?_e(l[a]?.(...o)??[],e=>r(...o,e)):r(...o,n[a])};r()})]},Il=Yn(),fl=Yn(),Cl="storage",wl=e=>{if(ye(e))return"null";if(Me(e))return J;if(Ye(e))return P;const t=E(e);return Se(t)||t==H&&Ce(e)?t:void 0},Tl=e=>e==P||e==J,yl=e=>Ye(e)||Me(e)?"�"+ut(e):e,ql=e=>De(e)&&"�"==e[0],xl=(e,t,n)=>!n&&ql(e)?ht(Ne(e,1)):e,kl=(e,t,n,l,s,r)=>e==A?t:e==H?n:e==$?l:e==P?s:e==J?r:null,Sl=e=>[e,e],Dl=(e,t=_n)=>t(e[0])+t(e[1]),Zl=()=>[Yn(),Yn()],Ml=e=>[...e],Nl=([e,t])=>e===t,Ll=(e,t,n)=>ll(e,t,tl(e,t)==-n?void 0:n),Vl=([e,t],[n,l])=>dt(e,n)&&dt(t,l),El=()=>{let e,t,n=!1,l=!1,s=0,r=[],o=[],a=0;const i=Yn(),d=Yn(),c=Yn(),u=Yn(),h=Yn(),m=Yn(),g=Yn(),b=Yn(),p=Yn(),v=bl(),I=Yn(),f=Yn(),C=Yn(),w=Yn(),T=Yn(),y=Yn(),q=bl(),x=Yn(),k=Yn(),S=Yn(),D=Yn(),Z=Zl(),M=Zl(),N=Zl(),L=Zl(),V=Zl(),E=Zl(),R=Zl(),A=Zl(),$=Zl(),z=Zl(),P=Zl(),J=Zl(),F=Zl(),Q=Zl(),te=Zl(),ae=Zl(),ie=Zl(),de=Zl(),ue=Zl(),he=Zl(),me=Zl(),ge=Zl(),be=Yn(),pe=Zl(),[ve,Ie,fe,Ce]=vl(()=>wn),we=e=>{const t=a;a=1;const n=e();return a=t,n},qe=(e,t,n,l=Object.is)=>ke(t(),t=>e===t||l(e,t)?n(t):we(()=>n(t))),xe=e=>{if(!ct(e,(e,t)=>[O,_,j].includes(t)))return!1;const t=e[O];if(!Se(t)&&t!=H&&!Tl(t))return!1;const n=e[_];return!(ye(n)&&!e[j]||(ye(n)||(wl(n)!=t?st(e,_):e[_]=yl(n)),0))},De=Me,Le=(t,n)=>(!e||Fn(C,n)||kt(n))&&ct(t,(e,t)=>Ve(n,t,e),()=>kt(n)),Ve=(e,t,n,l)=>ct(l?n:ze(n,e,t),(l,s)=>ke(Ee(e,t,s,l),e=>(n[s]=e,!0),()=>!1),()=>kt(e,t)),Ee=(t,n,l,s)=>e?ke(tl(tl(C,t),l),e=>ye(s)?e[j]?s:kt(t,n,l,s,e[_]):wl(s)===e[O]?yl(s):Tl(e[O])&&ql(s)?s:kt(t,n,l,s,e[_]),()=>kt(t,n,l,s)):Te(wl(s))?kt(t,n,l,s):yl(s),Ae=(e,t)=>ct(t?e:Je(e),(t,n)=>ke($e(n,t),t=>(e[n]=t,!0),()=>!1),()=>St()),$e=(e,n)=>t?ke(tl(T,e),t=>ye(n)?t[j]?n:St(e,n,t[_]):wl(n)===t[O]?yl(n):Tl(t[O])&&ql(n)?n:St(e,n,t[_]),()=>St(e,n)):Te(wl(n))?St(e,n):yl(n),ze=(e,t,n)=>(ke(tl(w,t),([l,s])=>{Gn(l,(l,s)=>{lt(e,s)||(e[s]=l,ke(n,e=>pl(sl(sl(g,t,Yn),e,bl),s)))}),Gn(s,l=>{lt(e,l)||kt(t,n,l)})}),e),Je=e=>(t&&(Gn(y,(t,n)=>{lt(e,n)||(e[n]=t,pl(v,n))}),Gn(q,t=>{lt(e,t)||St(t)})),e),je=e=>rl(C,e,(e,t,n)=>{const l=Yn(),s=bl();rl(sl(C,t,Yn),n,(e,t,n)=>{ll(e,t,n),ke(n[_],e=>ll(l,t,e),()=>pl(s,t))}),ll(w,t,[l,s])},(e,t)=>{ll(C,t),ll(w,t)}),Fe=e=>rl(T,e,(e,t,n)=>{ll(T,t,n),ke(n[_],e=>ll(y,t,e),()=>pl(q,t))},(e,t)=>{ll(T,t),ll(y,t),Un(q,t)}),Qe=e=>it(e)?cn():nn(e),Ke=(e,t,n,l,s,r)=>Te(l)?mn(e,t,n,!0,s):ln(e,t,n,l,s,r),Ge=e=>it(e)?gn():sn(e),Ue=(e,t,n)=>Te(t)?bn(e,n):rn(e,t,n),Xe=(e,t)=>qe(e,()=>t?e:ke(r[1],t=>we(()=>t(Re(e))),()=>e),e=>rl(S,e,(e,t,n)=>et(t,n),(e,t)=>pt(t)),dt),et=(e,t,n)=>qe(t,()=>n?t:ke(r[2],n=>we(()=>n(e,Re(t))),()=>t),t=>rl(sl(S,e,()=>(Ct(e,1),ll(x,e,gl()),ll(k,e,Yn()),Yn())),t,(t,n,l)=>nt(e,t,n,l),(t,n)=>vt(e,t,n)),dt),nt=(e,t,n,l,s)=>qe(l,()=>s?l:ke(r[3],t=>we(()=>t(e,n,Re(l))),()=>l),l=>rl(sl(t,n,()=>(wt(e,n,1),Yn())),l,(t,l,s)=>rt(e,n,t,l,s),(l,r)=>It(e,t,n,l,r,s)),dt),rt=(e,t,n,l,s,o)=>qe(s,()=>ke(o?void 0:r[4],n=>we(()=>n(e,t,l,s)),()=>s),s=>{Fn(n,l)||Tt(e,t,l,1);const r=tl(n,l);s!==r&&(yt(e,t,l,r,s),ll(n,l,s))}),at=(e,t,n,l,s,r)=>ke(tl(t,n),t=>rt(e,n,t,l,s,r),()=>{const o=Yn();ll(t,n,o),wt(e,n,1),ot(ze({[l]:s},e,n),(t,l)=>rt(e,n,o,l,t,r))}),ut=(e,t)=>qe(e,()=>t?e:ke(r[5],t=>we(()=>t(Re(e))),()=>e),e=>rl(D,e,(e,t,n)=>gt(t,n),(e,t)=>ft(t)),dt),gt=(e,t,n)=>qe(t,()=>ke(n?void 0:r[6],n=>we(()=>n(e,t)),()=>t),t=>{Fn(D,e)||qt(e,1);const n=tl(D,e);t!==n&&(xt(e,n,t),ll(D,e,t))}),bt=e=>sl(S,e,()=>(Ct(e,1),ll(x,e,gl()),ll(k,e,Yn()),Yn())),pt=e=>we(()=>r[8]?.(e))??1?et(e,{},!0):tl(S,e),vt=(e,t,n)=>{if(we(()=>r[9]?.(e,n))??1){const[,l]=tl(x,e);l(n),nt(e,t,n,{},!0)}},It=(e,t,n,l,s,o,a)=>{const i=tl(tl(w,e)?.[0],s);if(!Te(i)&&!o)return rt(e,n,l,s,i);if(a||(we(()=>r[10]?.(e,n,s))??1)){const r=t=>{yt(e,n,t,tl(l,t)),Tt(e,n,t,-1),ll(l,t)};Te(i)?r(s):nl(l,r),Wn(l)&&(wt(e,n,-1),Wn(ll(t,n))&&(Ct(e,-1),ll(S,e),ll(x,e),ll(k,e)))}},ft=(e,t)=>{const n=tl(y,e);if(!Te(n))return gt(e,n);(t||(we(()=>r[12]?.(e))??1))&&(xt(e,tl(D,e)),qt(e,-1),ll(D,e))},Ct=(e,t)=>Ll(i,e,t),wt=(e,t,n)=>Ll(sl(u,e,Yn),t,n)&&ll(c,e,sl(c,e,()=>0)+n),Tt=(e,t,n,l)=>{const s=tl(k,e),r=tl(s,n)??0;(0==r&&1==l||1==r&&-1==l)&&Ll(sl(d,e,Yn),n,l),ll(s,n,r!=-l?r+l:void 0),Ll(sl(sl(h,e,Yn),t,Yn),n,l)},yt=(e,t,n,l,s)=>{const r=Fn(tl(tl(g,e),t),n)&&Te(l)?1:0;sl(sl(sl(m,e,Yn),t,Yn),n,()=>[l,0])[1]=s,o[3]?.(e,t,n,s,a,r),Un(tl(tl(g,e),t),n)},qt=(e,t)=>Ll(b,e,t),xt=(e,t,n)=>{const l=Fn(v,e)&&Te(t)?1:0;sl(p,e,()=>[t,0])[1]=n,o[4]?.(e,n,a,l),Un(v,e)},kt=(e,t,n,l,s)=>(We(sl(sl(sl(I,e,Yn),t,Yn),n,()=>[]),l),s),St=(e,t,n)=>(We(sl(f,e,()=>[]),t),n),Dt=(e,t,n)=>ke(tl(tl(tl(m,e),t),n),([e,t])=>[!0,xl(e),xl(t)],()=>[!1,...Sl(Bt(e,t,n))]),Zt=e=>ke(tl(p,e),([e,t])=>[!0,xl(e),xl(t)],()=>[!1,...Sl(Qt(e))]),Mt=e=>Wn(I)||Wn(ae[e])?0:Gn(e?ul(I):I,(t,n)=>Gn(t,(t,l)=>Gn(t,(t,s)=>Ie(ae[e],[n,l,s],t)))),Nt=e=>Wn(f)||Wn(ie[e])?0:Gn(e?dl(f):f,(t,n)=>Ie(ie[e],[n],t)),Lt=(e,t,n,l)=>{if(!Wn(e))return Ie(t,l,()=>ol(e)),nl(e,(e,t)=>Ie(n,[...l??[],e],1==t)),1},Vt=e=>{const t=!Wn(Z[e]),l=!Wn(z[e]),s=!(Wn(F[e])&&Wn(Q[e])&&Wn($[e])&&Wn(P[e])&&Wn(E[e])&&Wn(R[e])&&Wn(A[e])&&!l&&Wn(N[e])&&Wn(L[e])),r=!(Wn(te[e])&&Wn(J[e])&&Wn(V[e])&&Wn(M[e]));if(t||s||r){const a=e?[dl(i),cl(d),dl(c),cl(u),ul(h),(o=m,dl(o,e=>dl(e,e=>dl(e,Ml))))]:[i,d,c,u,h,m];if(t){const t=Kt();t!=n&&Ie(Z[e],void 0,t)}if(s){Lt(a[0],N[e],L[e]),Gn(a[1],(t,n)=>Lt(t,E[e],R[e],[n])),Gn(a[2],(t,n)=>{0!=t&&Ie(A[e],[n],Jt(n))});const t=bl();Gn(a[3],(n,s)=>{Lt(n,$[e],P[e],[s])&&l&&(Ie(z[e],[s,null]),pl(t,s))}),l&&Gn(a[5],(n,l)=>{if(!Fn(t,l)){const t=bl();Gn(n,e=>Gn(e,([n,l],s)=>l!==n?pl(t,s):Un(e,s))),Gn(t,t=>Ie(z[e],[l,t]))}}),Gn(a[4],(t,n)=>Gn(t,(t,l)=>Lt(t,F[e],Q[e],[n,l])))}if(r){let t;Gn(a[5],(n,l)=>{let s;Gn(n,(n,r)=>{let o;Gn(n,([n,a],i)=>{a!==n&&(Ie(te[e],[l,r,i],xl(a),xl(n),Dt),t=s=o=1)}),o&&Ie(J[e],[l,r],Dt)}),s&&Ie(V[e],[l],Dt)}),t&&Ie(M[e],void 0,Dt)}}var o},Et=e=>{const t=!Wn(de[e]),n=!Wn(he[e])||!Wn(me[e]),s=!Wn(ge[e])||!Wn(ue[e]);if(t||n||s){const r=e?[dl(b),dl(p,Ml)]:[b,p];if(t){const t=en();t!=l&&Ie(de[e],void 0,t)}if(n&&Lt(r[0],he[e],me[e]),s){let t;Gn(r[1],([n,l],s)=>{l!==n&&(Ie(ge[e],[s],xl(l),xl(n),Zt),t=1)}),t&&Ie(ue[e],void 0,Zt)}}},Rt=(e,...t)=>(In(()=>e(...Be(t,ce))),wn),At=(e,t,n,l,s)=>{let r=_t(e,t,...n);return ve(()=>{const s=_t(e,t,...n);Pe(s,r)||(r=s,l(wn,e,t,...n,r))},z[s?1:0],[e,t],[zt])},$t=(e=!1)=>[ol(m,(t,n)=>-1===tl(i,n)?void 0:ol(t,(t,l)=>-1===tl(tl(u,n),l)?void 0:ol(t,([,t])=>xl(t,0,e),e=>Nl(e)),Wn,it),Wn,it),ol(p,([,t])=>xl(t,0,e),e=>Nl(e)),1],Ht=()=>il(S,xl),zt=()=>el(S),Pt=e=>el(tl(k,ce(e))),Jt=e=>On(tl(S,ce(e))),Ot=e=>el(tl(S,ce(e))),_t=(e,t,n,l=0,s)=>{return Ye(e)?_t(e.tableId,e.cellId,e.descending,e.offset,e.limit):Be(Ne(Oe((r=tl(S,ce(e)),o=(e,n)=>[Te(t)?n:tl(e,ce(t)),n],Be([...r?.entries()??[]],([e,t])=>o(t,e))),([e],[t])=>((e??0)<(t??0)?-1:1)*(n?-1:1)),l,Te(s)?s:l+s),([,e])=>e);var r,o},jt=(e,t)=>el(tl(tl(S,ce(e)),ce(t))),Bt=(e,t,n)=>xl(tl(tl(tl(S,ce(e)),ce(t)),ce(n))),Ft=()=>ol(D,xl),Wt=()=>el(D),Qt=e=>xl(tl(D,ce(e))),Kt=()=>!Wn(S),Gt=e=>Fn(S,ce(e)),Ut=(e,t)=>Fn(tl(k,ce(e)),ce(t)),Xt=(e,t)=>Fn(tl(S,ce(e)),ce(t)),Yt=(e,t,n)=>Fn(tl(tl(S,ce(e)),ce(t)),ce(n)),en=()=>!Wn(D),tn=e=>Fn(D,ce(e)),nn=e=>Rt(()=>(e=>ct(e,Le,kt))(e)?Xe(e):0),ln=(e,t,n,l,s,o)=>Rt((e,t,n)=>ke(Ee(e,t,n,Ze(l)?l(Bt(e,t,n)):l),l=>{const a=bt(e);ke(s||o||!r[14]?.()?void 0:r[3],r=>{const o=tl(a,t),i={...o?ol(o):{},[n]:l};ke(we(()=>r(e,t,Re(i))),n=>((e,t,n,l,s)=>{rl(sl(t,n,()=>(wt(e,n,1),Yn())),l,(t,l,r)=>ke(Ee(e,n,l,r),r=>rt(e,n,t,l,r,s)),(l,s)=>It(e,t,n,l,s,!0))})(e,a,t,n,s))},()=>at(e,a,t,n,l,s))}),e,t,n),sn=e=>Rt(()=>Ae(e)?ut(e):0),rn=(e,t,n)=>Rt(e=>ke($e(e,Ze(t)?t(Qt(e)):t),t=>gt(e,t,n)),e),on=e=>(He(()=>Qe(ht(e))),wn),an=t=>Rt(()=>{if((e=ct(t,e=>ct(e,xe)))&&(je(t),!Wn(S))){const e=Ht();cn(),nn(e)}}),dn=e=>Rt(()=>{if(t=(e=>ct(e,xe))(e)){const n=Ft();vn(),gn(),t=!0,Fe(e),sn(n)}}),cn=()=>Rt(()=>we(()=>r[7]?.())??1?Xe({},!0):0),un=e=>Rt(e=>Fn(S,e)?pt(e):0,e),hn=(e,t)=>Rt((e,t)=>ke(tl(S,e),n=>Fn(n,t)?vt(e,n,t):0),e,t),mn=(e,t,n,l,s)=>Rt((e,t,n)=>ke(tl(S,e),r=>ke(tl(r,t),o=>Fn(o,n)?It(e,r,t,o,n,l,s):0)),e,t,n),gn=()=>Rt(()=>we(()=>r[11]?.())??1?ut({},!0):0),bn=(e,t)=>Rt(e=>Fn(D,e)?ft(e,t):0,e),pn=()=>Rt(()=>{je({}),e=!1}),vn=()=>Rt(()=>{Fe({}),t=!1}),In=(e,t)=>{if(-1!=s){fn();const n=e();return Cn(t),n}},fn=()=>(-1!=s&&s++,1==s&&(o[0]?.(),Ie(be)),wn),Cn=e=>(s>0&&(s--,0==s&&(s=1,we(()=>{Mt(1),Wn(m)||Vt(1),Nt(1),Wn(p)||Et(1)}),e?.(wn)&&(Gn(m,(e,t)=>Gn(e,(e,n)=>Gn(e,([e],l)=>Ke(t,n,l,e,!0)))),Kn(m),Gn(p,([e],t)=>Ue(t,e,!0)),Kn(p)),Ie(pe[0],void 0),s=-1,Mt(0),Wn(m)||Vt(0),Nt(0),Wn(p)||Et(0),o[1]?.(),Ie(pe[1],void 0),o[2]?.(),s=0,n=Kt(),l=en(),_e([i,d,c,u,h,m,g,I,b,p,v,f],Kn))),wn),wn={getContent:()=>[Ht(),Ft()],getTables:Ht,getTableIds:zt,getTable:e=>al(tl(S,ce(e)),xl),getTableCellIds:Pt,getRowCount:Jt,getRowIds:Ot,getSortedRowIds:_t,getRow:(e,t)=>ol(tl(tl(S,ce(e)),ce(t)),xl),getCellIds:jt,getCell:Bt,getValues:Ft,getValueIds:Wt,getValue:Qt,hasTables:Kt,hasTable:Gt,hasTableCell:Ut,hasRow:Xt,hasCell:Yt,hasValues:en,hasValue:tn,getTablesJson:()=>mt(S),getValuesJson:()=>mt(D),getJson:()=>mt([S,D]),getTablesSchemaJson:()=>mt(C),getValuesSchemaJson:()=>mt(T),getSchemaJson:()=>mt([C,T]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:e=>Rt(()=>{const t=Ze(e)?e():e;De(t)&&(e=>{qe(e,()=>ke(r[0],t=>we(()=>t(Re(e))),()=>e),([e,t])=>{(it(e)?cn:nn)(e),(it(t)?gn:sn)(t)},Vl)})(t)}),setTables:nn,setTable:(e,t)=>Rt(e=>Le(t,e)?et(e,t):0,e),setRow:(e,t,n)=>Rt((e,t)=>Ve(e,t,n)?nt(e,bt(e),t,n):0,e,t),addRow:(e,t,n=!0)=>In(()=>{let l;return Ve(e,l,t)&&(e=ce(e),nt(e,bt(e),l=((e,t)=>{const[n]=tl(x,e);let l;do{l=n(t)}while(Fn(tl(S,e),l));return l})(e,n?1:0),t)),l}),setPartialRow:(e,t,n)=>Rt((e,t)=>{if(Ve(e,t,n,1)){const l=bt(e);ot(n,(n,s)=>at(e,l,t,s,n))}},e,t),setCell:ln,setValues:sn,setPartialValues:e=>Rt(()=>Ae(e,1)?ot(e,(e,t)=>gt(t,e)):0),setValue:rn,applyChanges:e=>Rt(()=>qe(e,()=>ke(r[13],t=>we(()=>t(Re(e))),()=>e),e=>{ot(e[0],(e,t)=>Te(e)?un(t):ot(e,(e,n)=>Te(e)?hn(t,n):ot(e,(e,l)=>Ke(t,n,l,e,void 0,!0)))),ot(e[1],(e,t)=>Ue(t,e))},Vl)),setTablesJson:on,setValuesJson:e=>(He(()=>Ge(ht(e))),wn),setJson:e=>Rt(()=>He(()=>{const[t,n]=ht(e);Qe(t),Ge(n)},()=>on(e))),setTablesSchema:an,setValuesSchema:dn,setSchema:(e,t)=>Rt(()=>{an(e),dn(t)}),delTables:cn,delTable:un,delRow:hn,delCell:mn,delValues:gn,delValue:bn,delTablesSchema:pn,delValuesSchema:vn,delSchema:()=>Rt(()=>{pn(),vn()}),transaction:In,startTransaction:fn,getTransactionChanges:()=>$t(),getTransactionLog:()=>[!Wn(m),!Wn(p),il(m,Ml,Nl),il(I),ol(p,Ml,Nl),ol(f),ol(i),al(u),il(h),ol(b)],finishTransaction:Cn,forEachTable:e=>Gn(S,(t,n)=>e(n,e=>Gn(t,(t,n)=>e(n,e=>nl(t,(t,n)=>e(t,xl(n))))))),forEachTableCell:(e,t)=>nl(tl(k,ce(e)),t),forEachRow:(e,t)=>Gn(tl(S,ce(e)),(e,n)=>t(n,t=>nl(e,(e,n)=>t(e,xl(n))))),forEachCell:(e,t,n)=>nl(tl(tl(S,ce(e)),ce(t)),(e,t)=>n(e,xl(t))),forEachValue:e=>nl(D,(t,n)=>e(t,xl(n))),addSortedRowIdsListener:(e,t,n,l,s,r,o)=>Ye(e)?At(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit],t,n):At(e,t,[n,l,s],r,o),addStartTransactionListener:e=>ve(e,be),addWillFinishTransactionListener:e=>ve(e,pe[0]),addDidFinishTransactionListener:e=>ve(e,pe[1]),callListener:e=>(Ce(e),wn),delListener:e=>(fe(e),wn),getListenerStats:()=>({hasTables:Dl(Z),tables:Dl(M),tableIds:Dl(N),hasTable:Dl(L),table:Dl(V),tableCellIds:Dl(E),hasTableCell:Dl(R,jn),rowCount:Dl(A),rowIds:Dl($),sortedRowIds:Dl(z),hasRow:Dl(P,jn),row:Dl(J,jn),cellIds:Dl(F,jn),hasCell:Dl(Q,Bn),cell:Dl(te,Bn),invalidCell:Dl(ae,Bn),hasValues:Dl(de),values:Dl(ue),valueIds:Dl(he),hasValue:Dl(me),value:Dl(ge),invalidValue:Dl(ie),transaction:_n(be)+Dl(pe)}),isMergeable:()=>!1,_:[El,ve,Ie,(e,t,n,l,s)=>o=[e,t,n,l,s],(e,t,n,l,s,o,a,i,d,c,u,h,m,g,b)=>r=[e,t,n,l,s,o,a,i,d,c,u,h,m,g,b],Ke,Ue,()=>[il(S),ol(D)],()=>$t(!0)]};return ot({[W+G]:[0,Z,[],()=>[Kt()]],[G]:[0,M],[U]:[0,N],[W+K]:[1,L,[zt],e=>[Gt(...e)]],[K]:[1,V,[zt]],[K+le]:[1,E,[zt]],[W+K+ne]:[2,R,[zt,Pt],e=>[Ut(...e)]],[Y]:[1,A,[zt]],[ee]:[1,$,[zt]],[W+X]:[2,P,[zt,Ot],e=>[Xt(...e)]],[X]:[2,J,[zt,Ot]],[le]:[2,F,[zt,Ot]],[W+ne]:[3,Q,[zt,Ot,jt],e=>[Yt(...e)]],[ne]:[3,te,[zt,Ot,jt],e=>Sl(Bt(...e))],InvalidCell:[3,ae],[W+re]:[0,de,[],()=>[en()]],[re]:[0,ue],[oe]:[0,he],[W+se]:[1,me,[Wt],e=>[tn(...e)]],[se]:[1,ge,[Wt],e=>Sl(Qt(e[0]))],InvalidValue:[1,ie]},([e,t,n,l],s)=>{wn["add"+s+B]=(...s)=>ve(s[e],t[s[e+1]?1:0],e>0?Ne(s,0,e):void 0,n,l)}),tt(wn)},Rl=({s:t})=>{const n=l(yt,t)??1,r=s(qt,()=>!0,[],t);return l(qt,t)?null:e("img",{onClick:r,title:vt,"data-position":n})},{Children:Al,Fragment:$l,PureComponent:Hl,createContext:zl,isValidElement:Pl,useCallback:Jl,useContext:Ol,useEffect:_l,useLayoutEffect:jl,useMemo:Bl,useRef:Fl,useState:Wl,useSyncExternalStore:Ql}=V,Kl=(e,...t)=>Te(e)?{}:e(...t),Gl="tinybase_uirc",Ul=me[Gl]?me[Gl]:me[Gl]=zl([]),Xl=(e,t)=>{const n=((e,t)=>{const n=Ol(Ul);return Te(e)?n[2*t]:De(e)?((e,t)=>ke(e,e=>e[t]))(n[2*t+1],e):e})(e,t);return Te(e)||De(e)?n:e},Yl=[],es=[{},[],[Yl,void 0,Yl],{},void 0,void 0,!1,0],ts=(e,t)=>e===t||(Ye(e)||Me(e))&&ut(e)===ut(t),ns=[(e,t)=>dt(e,t,ts),Pe,([e,t,n],[l,s,r])=>t===s&&Pe(e,l)&&Pe(n,r),(e,t)=>dt(e,t,Je),Je,ts],ls=(e,t)=>e===t,ss=(e,t,n,l=Yl)=>{const s=Fl(es[n]),r=Jl(()=>{const r=t?.[(6==n?"has":"get")+e]?.(...l)??es[n];return(ns[n]??ls)(r,s.current)?s.current:s.current=r},[t,n,e,...l]),o=Jl(s=>((e,t,...n)=>{const l=e?.["add"+t+B]?.(...n);return()=>e?.delListener?.(l)})(t,(6==n?W:R)+e,...l,s),[t,n,e,...l]);return Ql(o,r,r)},rs=(e,t,n,l,s,r,...o)=>((e,t,n,l=Yl,s=Ve,r=Yl,o,...a)=>Jl(l=>ke(e,e=>ke(n(l,e),n=>s(e[o+t](...os(a,e,l),n),n))),[e,t,...l,...r,o,...as(a)]))(ds(e),t,n,l,s,r,"set",...o),os=(e,t,n)=>Be(e,e=>Ze(e)?e(n,t):e),as=e=>{return t=e=>!Ze(e),e.filter(t);var t},is=(e,t,n=Ve,l=Yl,...s)=>{const r=ds(e);return Jl(e=>n(r?.["del"+t](...os(s,r,e))),[r,t,...l,...as(s)])},ds=e=>Xl(e,0),cs=(e,t)=>ss(K+le,ds(t),1,[e]),us=(e,t,n,l,s,r)=>((e,t,n,l,s,r)=>ss(te,ds(r),1,[e,t,n,l,s]))(...Ye(e)?[e.tableId,e.cellId,e.descending??!1,e.offset??0,e.limit,t]:[e,t,n,l,s,r]),hs=(e,t,n,l)=>ss(ne,ds(l),5,[e,t,n]),ms=(e,t)=>ss(se,ds(t),5,[e]),gs=(e,t,n,l,s,r)=>rs(l,K,t,n,s,r,e),bs=(e,t,n,l,s,r,o)=>rs(s,X,n,l,r,o,e,t),ps=(e,t,n,l,s,r,o,a)=>rs(r,ne,l,s,o,a,e,t,n),vs=(e,t,n,l,s,r)=>rs(l,se,t,n,s,r,e),Is=(e,t,n,l)=>is(t,K,n,l,e),fs=(e,t,n,l,s)=>is(n,X,l,s,e,t),Cs=(e,t,n,l,s,r,o)=>is(s,ne,r,o,e,t,n,l),ws=(e,t,n,l)=>is(t,se,n,l,e),Ts=e=>Xl(e,2),ys=(e,t,n)=>ss("Slice"+ee,Ts(n),1,[e,t]),qs=e=>Xl(e,3),xs=e=>Xl(e,4),ks=(e,t)=>ss(F+K+le,xs(t),1,[e]),Ss=(e,t,n,l=0,s,r)=>ss(F+te,xs(r),1,[e,t,n,l,s]),Ds=(e,t)=>Bl(()=>({store:e,tableId:t}),[e,t]),Zs=(e,t)=>Bl(()=>({queries:e,queryId:t}),[e,t]),Ms=(e,t,n)=>{const l=Jl(e,t);return n?l:void 0},Ns=(...e)=>Bl(()=>e,e),Ls=(e,t,n)=>Bl(()=>{const l=t??e;return ot(Me(l)?nt(Be(l,e=>[e,e])):l,(e,t)=>({label:t,component:n,...De(e)?{label:e}:e}))},[t,n,e]),Vs="editable",Es=(t=[],n,l=0)=>Be(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Rs(s,l))),Rs=(e,t)=>(t?">":"<")+e,As=(t=[],n=0)=>Be(t,({label:t},l)=>e("th",{className:de,children:t},Rs(l,n))),$s=({cellId:e,sort:[n,l],label:s=e??R,onClick:r})=>t("th",{onClick:Ms(()=>r?.(e),[r,e],r),className:Te(l)||n!=e?void 0:`sorted ${l?"de":"a"}scending`,children:[Te(l)||n!=e?null:(l?"↓":"↑")+" ",s]}),Hs=({className:n,headerRow:l,idColumn:s,params:[r,o,a,i,d,c,u,h]})=>t("table",{className:n,children:[h?e("caption",{children:h}):null,!1===l?null:e("thead",{children:t("tr",{children:[As(i),!1===s?null:e($s,{sort:c??[],label:"Id",onClick:u}),rt(r,({label:t},n)=>e($s,{cellId:n,label:t,sort:c??[],onClick:u},n)),As(d,1)]})}),e("tbody",{children:Be(a,n=>{const l={...o,rowId:n};return t("tr",{children:[Es(i,l),qe(s)?null:e("th",{title:n,children:n}),rt(r,({component:t,getComponentProps:s},r)=>e("td",{children:e(t,{...Kl(s,n,r),...l,cellId:r})},r)),Es(d,l,1)]},n)})})]}),zs=({thing:n,onThingChange:l,className:s,hasSchema:r,showType:o=!0})=>{const[a,i]=Wl(),[d,c]=Wl(),[u,h]=Wl(),[m,g]=Wl(),[b,p]=Wl(),[v,I]=Wl("{}"),[f,C]=Wl("[]"),[w,T]=Wl(""),[y,q]=Wl("");d!==n&&(i(wl(n)),c(n),Ye(n)?I(ut(n)):Me(n)?C(ut(n)):(h(pe(n)),g(be(n)||0),p(ve(n))));const x=Jl((e,t)=>{t(e),c(e),l(e)},[l]),k=Jl((e,t,n,s)=>{t(e);try{const t=ht(e);n(t)&&(c(t),l(t),s(""))}catch{s("invalid")}},[l]),S=Jl(()=>{if(!r?.()){const e=kl(a,H,$,P,J,A),t=kl(e,u,m,b,$e(()=>ht(v),{}),$e(()=>ht(f),[]));i(e),c(t),l(t)}},[r,l,u,m,b,v,f,a]),D=kl(a,e("input",{value:u,onChange:Jl(e=>x(pe(e[ae][ie]),h),[x])},a),e("input",{type:"number",value:m,onChange:Jl(e=>x(be(e[ae][ie]||0),g),[x])},a),e("input",{type:"checkbox",checked:b,onChange:Jl(e=>x(ve(e[ae].checked),p),[x])},a),e("input",{value:v,className:w,onChange:Jl(e=>k(e[ae][ie],I,Ye,T),[k])},a),e("input",{value:f,className:y,onChange:Jl(e=>k(e[ae][ie],C,Me,q),[k])},a));return t("div",{className:s,children:[o&&D?e("button",{title:a,className:a,onClick:S,children:a}):null,D]})},Ps=({tableId:t,rowId:n,cellId:l,store:s,className:r,showType:o})=>{const[a,i]=((e,t,n,l)=>[hs(e,t,n,l),ps(e,t,n,Ee,[],l)])(t,n,l,s);return e(zs,{thing:a,onThingChange:i,className:r??Vs+ne,showType:o,hasSchema:ds(s)?.hasTablesSchema})},Js=({valueId:t,store:n,className:l,showType:s})=>{const[r,o]=((e,t)=>[ms(e,t),vs(e,Ee,[],t)])(t,n);return e(zs,{thing:r,onThingChange:o,className:l??Vs+se,showType:s,hasSchema:ds(n)?.hasValuesSchema})},Os=(e,t)=>Be(cs(e,t),t=>e+"."+t),_s=({localRowId:l,params:[s,r,o,a,i,d,c,u,h]})=>{const m=((e,t,n)=>ss("RemoteRowId",qs(n),5,[e,t]))(i,l,d),g={tableId:o??"",rowId:l,store:c};return t("tr",{children:[Es(u,g),qe(s)?null:t(n,{children:[e("th",{title:l,children:l}),e("th",{title:m,children:m})]}),rt(r,({component:t,getComponentProps:n},s)=>{const[r,i]=((e,t="",n)=>e.split(t,n))(s,".",2),d=r===o?l:r===a?m:void 0;return Te(d)?null:e("td",{children:e(t,{...Kl(n,d,i),store:c,tableId:r,rowId:d,cellId:i})},s)}),Es(h,g,1)]})},js=({relationshipId:l,relationships:s,editable:o,customCells:a,extraCellsBefore:i,extraCellsAfter:d,className:c,headerRow:u,idColumn:h=!0})=>{const[m,g,b,p]=((e,t)=>[e,e?.getStore(),e?.getLocalTableId(t),e?.getRemoteTableId(t)])(qs(s),l),v=Ls([...Os(b,g),...Os(p,g)],a,o?Ps:r),I=Ns(h,v,b,p,l,m,g,i,d);return t("table",{className:c,children:[qe(u)?null:e("thead",{children:t("tr",{children:[As(i),qe(h)?null:t(n,{children:[t("th",{children:[b,".Id"]}),t("th",{children:[p,".Id"]})]}),rt(v,({label:t},n)=>e("th",{children:t},n)),As(d,1)]})}),e("tbody",{children:Be((f=b,C=g,ss(ee,ds(C),1,[f])),t=>e(_s,{localRowId:t,params:I},t))})]});var f,C},Bs=(t,n=!1,l,s=0,r,o,a,i)=>{const[[d,c,u],h]=Wl([t,n,s]),m=Jl(e=>{h(e),i?.(e)},[i]),g=Ms(e=>m([e,e==d&&!c,u]),[m,d,c,u],l),b=Jl(e=>m([d,c,e]),[m,d,c]),p=!0===a?Fs:a;return[[d,c,u],g,Bl(()=>qe(a)?null:e(p,{offset:u,limit:r,total:o,onChange:b}),[a,p,u,r,o,b])]},Fs=({onChange:l,total:s,offset:r=0,limit:o=s,singular:a="row",plural:i=a+"s"})=>{(r>s||r<0)&&(r=0,l(0));const d=Ms(()=>l(r-o),[l,r,o],r>0),c=Ms(()=>l(r+o),[l,r,o],r+o<s);return t(n,{children:[s>o&&t(n,{children:[e("button",{className:"previous",disabled:0==r,onClick:d,children:"←"}),e("button",{className:"next",disabled:r+o>=s,onClick:c,children:"→"}),r+1," to ",Ie(s,r+o)," of "]}),s," ",1!=s?i:a]})},Ws=({queryId:t,cellId:n,descending:l,offset:s,limit:r,queries:a,sortOnClick:i,paginator:d=!1,customCells:c,extraCellsBefore:u,extraCellsAfter:h,onChange:m,...g})=>{const[b,p,v]=Bs(n,l,i,s,r,((e,t)=>ss(F+Y,xs(t),7,[e]))(t,a),d,m);return e(Hs,{...g,params:Ns(Ls(ks(t,a),c,o),Zs(a,t),Ss(t,...b,r,a),u,h,b,p,v)})},Qs=({indexId:t,sliceId:n,indexes:l,editable:s,customCells:o,extraCellsBefore:a,extraCellsAfter:i,...d})=>{const[c,u,h]=((e,t)=>[e,e?.getStore(),e?.getTableId(t)])(Ts(l),t);return e(Hs,{...d,params:Ns(Ls(cs(h,u),o,s?Ps:r),Ds(u,h),ys(t,n,c),a,i)})},Ks=({tableId:t,cellId:n,descending:l,offset:s,limit:o,store:a,editable:i,sortOnClick:d,paginator:c=!1,onChange:u,customCells:h,extraCellsBefore:m,extraCellsAfter:g,...b})=>{const[p,v,I]=Bs(n,l,d,s,o,((e,t)=>ss(Y,ds(t),7,[e]))(t,a),c,u);return e(Hs,{...b,params:Ns(Ls(cs(t,a),h,i?Ps:r),Ds(a,t),us(t,...p,o,a),m,g,p,v,I)})},Gs=(t=[],n,l=0)=>Be(t,({component:t},s)=>e("td",{className:de,children:e(t,{...n})},Rs(s,l))),Us=({store:n,editable:l=!1,valueComponent:s=(l?Js:a),getValueComponentProps:r,extraCellsBefore:o,extraCellsAfter:i,className:d,headerRow:c,idColumn:u})=>{return t("table",{className:d,children:[!1===c?null:e("thead",{children:t("tr",{children:[As(o),!1===u?null:e("th",{children:"Id"}),e("th",{children:se}),As(i,1)]})}),e("tbody",{children:Be((h=n,ss(oe,ds(h),1)),l=>{const a={valueId:l,store:n};return t("tr",{children:[Gs(o,a),qe(u)?null:e("th",{title:l,children:l}),e("td",{children:e(s,{...Kl(r,l),...a})}),Gs(i,a,1)]},l)})})]});var h},Xs=({uniqueId:n,title:l,editable:s,handleEditable:r,children:o,s:a})=>{const c=!!i(ft,n,wt,a),u=d(ft,n,wt,e=>e[ae].open,[],a);return t("details",{open:c,onToggle:u,children:[t("summary",{children:[e("span",{children:l}),r?e("img",{onClick:r,className:s?"done":"edit",title:s?"Done editing":"Edit"}):null]}),e("div",{children:o})]})},Ys=(e,t)=>[!!i(ft,e,Tt,t),Jl(n=>{t.setCell(ft,e,Tt,e=>!e),n.preventDefault()},[t,e])],er=({indexes:t,indexesId:n,indexId:l,s:s})=>e(Xs,{uniqueId:kt("i",n,l),title:"Index: "+l,s:s,children:Be(h(l,t),r=>e(tr,{indexes:t,indexesId:n,indexId:l,sliceId:r,s:s},r))}),tr=({indexes:t,indexesId:n,indexId:l,sliceId:s,s:r})=>{const o=kt("i",n,l,s),[a,i]=Ys(o,r);return e(Xs,{uniqueId:o,title:"Slice: "+s,editable:a,handleEditable:i,s:r,children:e(Qs,{sliceId:s,indexId:l,indexes:t,editable:a})})},nr=({indexesId:t,s:n})=>{const l=c(t),s=u(l);return Te(l)?null:e(Xs,{uniqueId:kt("i",t),title:"Indexes: "+(t??_),s:n,children:Fe(s)?"No indexes defined":St(s,s=>e(er,{indexes:l,indexesId:t,indexId:s,s:n},s))})},lr=({metrics:n,metricId:l})=>t("tr",{children:[e("th",{title:l,children:l}),e("td",{children:n?.getTableId(l)}),e("td",{children:b(l,n)})]}),sr=({metricsId:n,s:l})=>{const s=m(n),r=g(s);return Te(s)?null:e(Xs,{uniqueId:kt("m",n),title:"Metrics: "+(n??_),s:l,children:Fe(r)?"No metrics defined":t("table",{children:[t("thead",{children:[e("th",{children:"Metric Id"}),e("th",{children:"Table Id"}),e("th",{children:"Metric"})]}),e("tbody",{children:Be(r,t=>e(lr,{metrics:s,metricId:t},t))})]})})},rr=({queries:t,queriesId:n,queryId:l,s:s})=>{const r=kt("q",n,l),[o,a,c]=ht(i(ft,r,Ct,s)??"[]"),u=d(ft,r,Ct,mt,[],s);return e(Xs,{uniqueId:r,title:"Query: "+l,s:s,children:e(Ws,{queryId:l,queries:t,cellId:o,descending:a,offset:c,limit:10,paginator:!0,sortOnClick:!0,onChange:u})})},or=({queriesId:t,s:n})=>{const l=p(t),s=v(l);return Te(l)?null:e(Xs,{uniqueId:kt("q",t),title:"Queries: "+(t??_),s:n,children:Fe(s)?"No queries defined":St(s,s=>e(rr,{queries:l,queriesId:t,queryId:s,s:n},s))})},ar=({relationships:t,relationshipsId:n,relationshipId:l,s:s})=>{const r=kt("r",n,l),[o,a]=Ys(r,s);return e(Xs,{uniqueId:r,title:"Relationship: "+l,editable:o,handleEditable:a,s:s,children:e(js,{relationshipId:l,relationships:t,editable:o})})},ir=({relationshipsId:t,s:n})=>{const l=I(t),s=f(l);return Te(l)?null:e(Xs,{uniqueId:kt("r",t),title:"Relationships: "+(t??_),s:n,children:Fe(s)?"No relationships defined":St(s,s=>e(ar,{relationships:l,relationshipsId:t,relationshipId:s,s:n},s))})},dr=(e,t)=>{let n,l=0;for(;t(n=e+(l>0?" (copy"+(l>1?" "+l:"")+")":""));)l++;return n},cr=({actions:l,...s})=>{const[r,o]=Wl(),a=Jl(()=>o(void 0),[]);if(_l(()=>{if(!Te(r)){const e=e=>{Te(r)||"Escape"!==e.key||(e.preventDefault(),a())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}},[r,a]),Te(r))return l.map(([t,n],l)=>e("img",{title:n,className:t,onClick:()=>o(l)},l));{const[,,o]=l[r];return t(n,{children:[e(o,{onDone:a,...s}),e("img",{onClick:a,title:"Cancel",className:"cancel"})]})}},ur=({onDone:l,suggestedId:s,has:r,set:o,prompt:a="New Id"})=>{const[i,d]=Wl(s),[c,u]=Wl(!0),[h,m]=Wl(s),g=Jl(()=>{r(i)?u(!1):(o(i),l())},[l,u,r,o,i]),b=Jl(e=>{"Enter"===e.key&&(e.preventDefault(),g())},[g]);return s!=h&&(d(s),m(s)),t(n,{children:[a+": ",e("input",{type:"text",value:i,onChange:e=>{d(e.target.value),u(!r(e.target.value))},onKeyDown:b,autoFocus:!0})," ",e("img",{onClick:g,title:c?"Confirm":"Id already exists",className:c?"ok":"okDis"})]})},hr=({onClick:l,prompt:s="Delete"})=>{const r=Jl(e=>{"Enter"===e.key&&(e.preventDefault(),l())},[l]);return _l(()=>(document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)),[r]),t(n,{children:[s,"? ",e("img",{onClick:l,title:"Confirm",className:"ok"})]})},mr=({left:n,right:l})=>t("div",{className:"actions",children:[e("div",{children:n}),e("div",{children:l})]}),gr=e=>{const t=ds(e);return Jl(e=>t?.hasTable(e)??!1,[t])},br=({onDone:t,store:n})=>{const l=gr(n);return e(ur,{onDone:t,suggestedId:dr("table",l),has:l,set:gs(e=>e,()=>({row:{cell:""}}),[],n),prompt:"Add table"})},pr=({onDone:t,store:n})=>{return e(hr,{onClick:(l=n,s=t,is(l,G,s,void 0)),prompt:"Delete all tables"});var l,s},vr=({store:t})=>{return e(mr,{left:e(cr,{actions:[["add","Add table",br]],store:t}),right:(n=t,ss(G,ds(n),6,[])?e(cr,{actions:[["delete","Delete all tables",pr]],store:t}):null)});var n},Ir=({onDone:t,tableId:n,store:l})=>{const s=yr(l,n);return e(ur,{onDone:t,suggestedId:dr("row",s),has:s,set:bs(n,e=>e,(e,t)=>nt(Be(t.getTableCellIds(n),e=>[e,""]))),prompt:"Add row"})},fr=({onDone:t,tableId:n,store:l})=>{const s=ds(l),r=gr(s);return e(ur,{onDone:t,suggestedId:dr(n,r),has:r,set:gs(e=>e,(e,t)=>t.getTable(n)),prompt:"Clone table to"})},Cr=({onDone:t,tableId:n,store:l})=>e(hr,{onClick:Is(n,l,t),prompt:"Delete table"}),wr=({tableId:t,store:n})=>e(cr,{actions:[["add","Add row",Ir]],store:n,tableId:t}),Tr=({tableId:t,store:n})=>e(cr,{actions:[["clone","Clone table",fr],["delete","Delete table",Cr]],store:n,tableId:t}),yr=(e,t)=>{const n=ds(e);return Jl(e=>n?.hasRow(t,e)??!1,[n,t])},qr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ds(s),o=Jl(e=>r.hasCell(n,l,e),[r,n,l]);return e(ur,{onDone:t,suggestedId:dr("cell",o),has:o,set:ps(n,l,e=>e,()=>"",[],r),prompt:"Add cell"})},xr=({onDone:t,tableId:n,rowId:l,store:s})=>{const r=ds(s),o=yr(r,n);return e(ur,{onDone:t,suggestedId:dr(l,o),has:o,set:bs(n,e=>e,(e,t)=>t.getRow(n,l),[l]),prompt:"Clone row to"})},kr=({onDone:t,tableId:n,rowId:l,store:s})=>e(hr,{onClick:fs(n,l,s,t),prompt:"Delete row"}),Sr=({onDone:t,tableId:n,rowId:l,cellId:s,store:r})=>e(hr,{onClick:Cs(n,l,s,!0,r,t),prompt:"Delete cell"}),Dr=({tableId:t,rowId:n,cellId:l,store:s})=>e(cr,{actions:[["delete","Delete cell",Sr]],store:s,tableId:t,rowId:n,cellId:l}),Zr=[{label:"",component:({tableId:t,rowId:n,store:l})=>e(cr,{actions:[["add","Add cell",qr],["clone","Clone row",xr],["delete","Delete row",kr]],store:l,tableId:t,rowId:n})}],Mr=l=>t(n,{children:[e(Ps,{...l}),T(l.tableId,l.rowId,l.cellId,l.store)&&e(Dr,{...l})]}),Nr=({tableId:n,store:l,storeId:s,s:o})=>{const a=kt("t",s,n),[c,u,h]=ht(i(ft,a,Ct,o)??"[]"),m=d(ft,a,Ct,mt,[],o),[g,b]=Ys(a,o),p=g?Mr:r;return t(Xs,{uniqueId:a,title:K+": "+n,editable:g,handleEditable:b,s:o,children:[e(Ks,{tableId:n,store:l,cellId:c,descending:u,offset:h,limit:10,paginator:!0,sortOnClick:!0,onChange:m,editable:g,extraCellsAfter:g?Zr:[],customCells:nt(Be(w(n,l),e=>[e,{label:e,component:p}]))}),g?t("div",{className:"actions",children:[e("div",{children:e(wr,{tableId:n,store:l})}),e("div",{children:e(Tr,{tableId:n,store:l})})]}):null]})},Lr=({store:n,storeId:l,s:s})=>{const r=kt("ts",l),[o,a]=Ys(r,s),i=C(n);return t(Xs,{uniqueId:r,title:G,editable:o,handleEditable:a,s:s,children:[Fe(i)?e("p",{children:"No tables."}):St(i,t=>e(Nr,{store:n,storeId:l,tableId:t,s:s},t)),o?e(vr,{store:n}):null]})},Vr=e=>{const t=ds(e);return Jl(e=>t?.hasValue(e)??!1,[t])},Er=({onDone:t,store:n})=>{const l=Vr(n);return e(ur,{onDone:t,suggestedId:dr("value",l),has:l,set:vs(e=>e,()=>"",[],n),prompt:"Add value"})},Rr=({onDone:t,store:n})=>{return e(hr,{onClick:(l=n,s=t,is(l,re,s,void 0)),prompt:"Delete all values"});var l,s},Ar=({store:t})=>{return e(mr,{left:e(cr,{actions:[["add","Add value",Er]],store:t}),right:(n=t,ss(re,ds(n),6,[])?e(cr,{actions:[["delete","Delete all values",Rr]],store:t}):null)});var n},$r=({onDone:t,valueId:n,store:l})=>{const s=Vr(l);return e(ur,{onDone:t,suggestedId:dr(n,s),has:s,set:vs(e=>e,(e,t)=>t.getValue(n)??"",[n],l),prompt:"Clone value to"})},Hr=({onDone:t,valueId:n,store:l})=>e(hr,{onClick:ws(n,l,t),prompt:"Delete value"}),zr=[{label:"",component:({valueId:t,store:n})=>e(cr,{actions:[["clone","Clone value",$r],["delete","Delete value",Hr]],store:n,valueId:t})}],Pr=({store:n,storeId:l,s:s})=>{const r=kt("v",l),[o,a]=Ys(r,s);return t(Xs,{uniqueId:r,title:re,editable:o,handleEditable:a,s:s,children:[Fe(y(n))?e("p",{children:"No values."}):e(Us,{store:n,editable:o,extraCellsAfter:o?zr:[]}),o?e(Ar,{store:n}):null]})},Jr=({storeId:n,s:l})=>{const s=q(n);return Te(s)?null:t(Xs,{uniqueId:kt("s",n),title:(s.isMergeable()?"Mergeable":"")+"Store: "+(n??_),s:l,children:[e(Pr,{storeId:n,store:s,s:l}),e(Lr,{storeId:n,store:s,s:l})]})},Or=({s:n})=>{const l=Fl(null),s=Fl(0),[r,o]=Wl(!1),{scrollLeft:a,scrollTop:i}=x(n);jl(()=>{const e=l.current;if(e&&!r){const t=new MutationObserver(()=>{e.scrollWidth>=fe(a)+e.clientWidth&&e.scrollHeight>=fe(i)+e.clientHeight&&e.scrollTo(a,i)});return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}},[r,a,i]);const d=Jl(e=>{const{scrollLeft:t,scrollTop:l}=e[ae];var r;(e=>{globalThis.cancelIdleCallback?.(e)??clearTimeout(e)})(s.current),s.current=(r=()=>{o(!0),n.setPartialValues({scrollLeft:t,scrollTop:l})},globalThis.requestIdleCallback?.(r)??setTimeout(()=>r(),0))},[n]),u=q(),h=k(),g=m(),b=S(),v=c(),f=D(),C=I(),w=Z(),T=p(),y=M();return Te(u)&&Fe(h)&&Te(g)&&Fe(b)&&Te(v)&&Fe(f)&&Te(C)&&Fe(w)&&Te(T)&&Fe(y)?e("span",{className:"warn",children:"There are no Stores or other objects to inspect. Make sure you placed the Inspector inside a Provider component."}):t("article",{ref:l,onScroll:d,children:[e(Jr,{s:n}),Be(h,t=>e(Jr,{storeId:t,s:n},t)),e(sr,{s:n}),Be(b,t=>e(sr,{metricsId:t,s:n},t)),e(nr,{s:n}),Be(f,t=>e(nr,{indexesId:t,s:n},t)),e(ir,{s:n}),Be(w,t=>e(ir,{relationshipsId:t,s:n},t)),e(or,{s:n}),Be(y,t=>e(or,{queriesId:t,s:n},t))]})};class _r extends Hl{constructor(e){super(e),this.state={e:0}}static getDerivedStateFromError(){return{e:1}}componentDidCatch=(e,t)=>console.error(e,t.componentStack);render(){return this.state.e?e("span",{className:"warn",children:"Inspector error: please see console for details."}):this.props.children}}const jr=({s:n})=>{const r=l(yt,n)??1,o=s(qt,()=>!1,[],n),a=s(yt,e=>be(e[ae].dataset.id),[],n);return t("header",{children:[e("img",{className:"flat",title:vt,onClick:()=>open("https://tinybase.org","_blank")}),e("span",{children:vt}),Be(It,(t,n)=>n==r?null:e("img",{onClick:a,"data-id":n,title:"Dock to "+t},n)),e("img",{className:"flat",onClick:o,title:"Close"})]})},Br=({s:n})=>{const s=l(yt,n)??1;return l(qt,n)?t("main",{"data-position":s,children:[e(jr,{s:n}),e(_r,{children:e(Or,{s:n})})]}):null},Fr=({position:l="right",open:s=!1,hue:r=270})=>{const o=N(El);return L(o,e=>{return t=pt,n=sessionStorage,((e,t,n,l,s,r,o,a={},i=0,d=[])=>{let c,u,h,m=0,g=0,b=0;sl(Il,d,()=>0),sl(fl,d,()=>[]);const p=Yn(),[v,I,f,C,w]=((e=1,t,n)=>1!=e&&t.isMergeable()?[1,t.__[1],()=>t.__[2](!n),([[e],[t]])=>!it(e)||!it(t),t.setDefaultContent]:2!=e?[0,t._[7],t._[8],([e,t])=>!it(e)||!it(t),t.setContent]:Ae("Store type not supported by this Persister"))(o,e,i),[T,y,q]=vl(()=>$),x=e=>{e!=m&&(m=e,y(p,void 0,m))},k=t=>{(v&&Me(t?.[0])?1===t?.[2]?e.applyMergeableChanges:e.setMergeableContent:1===t?.[2]?e.applyChanges:e.setContent)(t)},S=async()=>{E()&&e.__?.[0]?.()&&await N()},D=async e=>(2!=m&&(x(1),g++,await A(async()=>{await He(async()=>{const n=await t();Me(n)?k(n):Te(n)&&e?w(e):Te(n)||Ae("Content is not an array: "+n)},t=>{e&&w(e)}),x(0),await S()})),$),Z=async e=>(M(),await D(e),await He(async()=>u=await l(async(e,t)=>{t||e?2!=m&&(x(1),g++,k(t??e),x(0),await S()):await D()}),r),$),M=async()=>(u&&(await He(()=>s(u),r),u=void 0),$),N=async e=>(1!=m&&(x(2),b++,await A(async()=>{await He(()=>n(I,e),r),x(0)})),$),L=async()=>(V(),await N(),h=e.addDidFinishTransactionListener(()=>{const e=f();C(e)&&N(e)}),$),V=async()=>(h&&(e.delListener(h),h=void 0),$),E=()=>!Te(h),R=async(e=!1)=>{const[t,n]=e?[V,M]:[M,V];return await t(),await n(),$},A=async(...e)=>(We(tl(fl,d),...e),await(async()=>{if(!tl(Il,d)){for(ll(Il,d,1);!Te(c=Qe(tl(fl,d)));)await He(c,r);ll(Il,d,0)}})(),$),$={load:D,startAutoLoad:Z,stopAutoLoad:M,isAutoLoading:()=>!Te(u),save:N,startAutoSave:L,stopAutoSave:V,isAutoSaving:E,startAutoPersisting:async(e,t=!1)=>{const[n,l]=t?[L,Z]:[Z,L];return await n(e),await l(e),$},stopAutoPersisting:R,getStatus:()=>m,addStatusListener:e=>T(e,p),delListener:t=>(q(t),e),schedule:A,getStore:()=>e,destroy:()=>(tl(fl,d).splice(0,void 0),R()),getStats:()=>({loads:g,saves:b}),...a};return tt($)})(e,async()=>gt(n.getItem(t)),async e=>{return n.setItem(t,(l=e(),ut(l,(e,t)=>Te(t)?"":t)));var l},e=>{const l=l=>{l.storageArea===n&&l.key===t&&He(()=>e(gt(l.newValue)),e)};return ge.addEventListener(Cl,l),l},e=>ge.removeEventListener(Cl,e),void 0,3,{getStorageName:()=>t});var t,n},void 0,async e=>{await e.load([{},{position:xt(l),open:!!s}]),await e.startAutoSave()}),t(n,{children:[t("aside",{id:pt,style:{"--hue":r},children:[e(Rl,{s:o}),e(Br,{s:o})]}),e("style",{children:Pn})]})};export{Fr as Inspector};
Binary file