tinybase 6.1.0-beta.4 → 6.1.0-beta.5

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 (233) hide show
  1. package/@types/persisters/index.d.ts +82 -40
  2. package/@types/persisters/persister-automerge/index.d.ts +4 -4
  3. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
  4. package/@types/persisters/persister-browser/index.d.ts +4 -4
  5. package/@types/persisters/persister-browser/with-schemas/index.d.ts +4 -4
  6. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +3 -3
  7. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +3 -3
  8. package/@types/persisters/persister-electric-sql/index.d.ts +3 -3
  9. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +3 -3
  10. package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -3
  11. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +3 -3
  12. package/@types/persisters/persister-file/index.d.ts +2 -2
  13. package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
  14. package/@types/persisters/persister-indexed-db/index.d.ts +2 -2
  15. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -2
  16. package/@types/persisters/persister-libsql/index.d.ts +3 -3
  17. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +3 -3
  18. package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
  19. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
  20. package/@types/persisters/persister-pglite/index.d.ts +3 -3
  21. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +3 -3
  22. package/@types/persisters/persister-postgres/index.d.ts +3 -3
  23. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +3 -3
  24. package/@types/persisters/persister-powersync/index.d.ts +3 -3
  25. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +3 -3
  26. package/@types/persisters/persister-remote/index.d.ts +2 -2
  27. package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -2
  28. package/@types/persisters/persister-sqlite-bun/index.d.ts +3 -3
  29. package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +3 -3
  30. package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -3
  31. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +3 -3
  32. package/@types/persisters/persister-sqlite3/index.d.ts +3 -3
  33. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +3 -3
  34. package/@types/persisters/persister-yjs/index.d.ts +4 -4
  35. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
  36. package/@types/persisters/with-schemas/index.d.ts +86 -42
  37. package/@types/synchronizers/index.d.ts +18 -16
  38. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -3
  39. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -3
  40. package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
  41. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
  42. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -5
  43. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -5
  44. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +37 -37
  45. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +37 -37
  46. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +7 -7
  47. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +7 -7
  48. package/@types/synchronizers/with-schemas/index.d.ts +18 -16
  49. package/@types/ui-react/index.d.ts +2 -2
  50. package/@types/ui-react/with-schemas/index.d.ts +2 -2
  51. package/index.js +23 -17
  52. package/mergeable-store/index.js +23 -17
  53. package/mergeable-store/with-schemas/index.js +23 -17
  54. package/min/index.js +1 -1
  55. package/min/index.js.gz +0 -0
  56. package/min/mergeable-store/index.js +1 -1
  57. package/min/mergeable-store/index.js.gz +0 -0
  58. package/min/mergeable-store/with-schemas/index.js +1 -1
  59. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  60. package/min/persisters/index.js +1 -1
  61. package/min/persisters/index.js.gz +0 -0
  62. package/min/persisters/persister-automerge/index.js +1 -1
  63. package/min/persisters/persister-automerge/index.js.gz +0 -0
  64. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  65. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  66. package/min/persisters/persister-browser/index.js +1 -1
  67. package/min/persisters/persister-browser/index.js.gz +0 -0
  68. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  69. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  70. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  71. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  72. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  73. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  74. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  75. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  76. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  77. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  78. package/min/persisters/persister-electric-sql/index.js +1 -1
  79. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  80. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  81. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  82. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  83. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  84. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  85. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  86. package/min/persisters/persister-file/index.js +1 -1
  87. package/min/persisters/persister-file/index.js.gz +0 -0
  88. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  89. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  90. package/min/persisters/persister-indexed-db/index.js +1 -1
  91. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  92. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  93. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  94. package/min/persisters/persister-libsql/index.js +1 -1
  95. package/min/persisters/persister-libsql/index.js.gz +0 -0
  96. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  97. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  98. package/min/persisters/persister-partykit-client/index.js +1 -1
  99. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  100. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  101. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  102. package/min/persisters/persister-pglite/index.js +1 -1
  103. package/min/persisters/persister-pglite/index.js.gz +0 -0
  104. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  105. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  106. package/min/persisters/persister-postgres/index.js +1 -1
  107. package/min/persisters/persister-postgres/index.js.gz +0 -0
  108. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  109. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  110. package/min/persisters/persister-powersync/index.js +1 -1
  111. package/min/persisters/persister-powersync/index.js.gz +0 -0
  112. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  113. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  114. package/min/persisters/persister-remote/index.js +1 -1
  115. package/min/persisters/persister-remote/index.js.gz +0 -0
  116. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  117. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  118. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  119. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  120. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  121. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  122. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  123. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  124. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  125. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  126. package/min/persisters/persister-sqlite3/index.js +1 -1
  127. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  128. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  129. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  130. package/min/persisters/persister-yjs/index.js +1 -1
  131. package/min/persisters/persister-yjs/index.js.gz +0 -0
  132. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  133. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  134. package/min/persisters/with-schemas/index.js +1 -1
  135. package/min/persisters/with-schemas/index.js.gz +0 -0
  136. package/min/store/index.js +1 -1
  137. package/min/store/index.js.gz +0 -0
  138. package/min/store/with-schemas/index.js +1 -1
  139. package/min/store/with-schemas/index.js.gz +0 -0
  140. package/min/synchronizers/index.js +1 -1
  141. package/min/synchronizers/index.js.gz +0 -0
  142. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  143. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  144. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  145. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  146. package/min/synchronizers/synchronizer-local/index.js +1 -1
  147. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  148. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  149. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  150. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  151. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  152. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  153. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  154. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  155. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  156. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  157. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  158. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  159. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  160. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  161. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  162. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  163. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  164. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  165. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  166. package/min/synchronizers/with-schemas/index.js +1 -1
  167. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  168. package/min/ui-react-inspector/index.js +1 -1
  169. package/min/ui-react-inspector/index.js.gz +0 -0
  170. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  171. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  172. package/min/with-schemas/index.js +1 -1
  173. package/min/with-schemas/index.js.gz +0 -0
  174. package/package.json +8 -4
  175. package/persisters/index.js +293 -161
  176. package/persisters/persister-automerge/index.js +55 -50
  177. package/persisters/persister-automerge/with-schemas/index.js +55 -50
  178. package/persisters/persister-browser/index.js +56 -55
  179. package/persisters/persister-browser/with-schemas/index.js +56 -55
  180. package/persisters/persister-cr-sqlite-wasm/index.js +181 -134
  181. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +181 -134
  182. package/persisters/persister-durable-object-storage/index.js +58 -53
  183. package/persisters/persister-durable-object-storage/with-schemas/index.js +58 -53
  184. package/persisters/persister-electric-sql/index.js +181 -134
  185. package/persisters/persister-electric-sql/with-schemas/index.js +181 -134
  186. package/persisters/persister-expo-sqlite/index.js +181 -134
  187. package/persisters/persister-expo-sqlite/with-schemas/index.js +181 -134
  188. package/persisters/persister-file/index.js +55 -50
  189. package/persisters/persister-file/with-schemas/index.js +55 -50
  190. package/persisters/persister-indexed-db/index.js +82 -78
  191. package/persisters/persister-indexed-db/with-schemas/index.js +82 -78
  192. package/persisters/persister-libsql/index.js +182 -135
  193. package/persisters/persister-libsql/with-schemas/index.js +182 -135
  194. package/persisters/persister-partykit-client/index.js +56 -51
  195. package/persisters/persister-partykit-client/with-schemas/index.js +56 -51
  196. package/persisters/persister-pglite/index.js +299 -173
  197. package/persisters/persister-pglite/with-schemas/index.js +299 -173
  198. package/persisters/persister-postgres/index.js +296 -171
  199. package/persisters/persister-postgres/with-schemas/index.js +296 -171
  200. package/persisters/persister-powersync/index.js +189 -138
  201. package/persisters/persister-powersync/with-schemas/index.js +189 -138
  202. package/persisters/persister-remote/index.js +55 -50
  203. package/persisters/persister-remote/with-schemas/index.js +55 -50
  204. package/persisters/persister-sqlite-bun/index.js +182 -135
  205. package/persisters/persister-sqlite-bun/with-schemas/index.js +182 -135
  206. package/persisters/persister-sqlite-wasm/index.js +182 -135
  207. package/persisters/persister-sqlite-wasm/with-schemas/index.js +182 -135
  208. package/persisters/persister-sqlite3/index.js +181 -134
  209. package/persisters/persister-sqlite3/with-schemas/index.js +181 -134
  210. package/persisters/persister-yjs/index.js +55 -50
  211. package/persisters/persister-yjs/with-schemas/index.js +55 -50
  212. package/persisters/with-schemas/index.js +293 -161
  213. package/readme.md +2 -2
  214. package/releases.md +29 -1
  215. package/store/index.js +20 -15
  216. package/store/with-schemas/index.js +20 -15
  217. package/synchronizers/index.js +68 -63
  218. package/synchronizers/synchronizer-broadcast-channel/index.js +68 -63
  219. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +68 -63
  220. package/synchronizers/synchronizer-local/index.js +68 -63
  221. package/synchronizers/synchronizer-local/with-schemas/index.js +68 -63
  222. package/synchronizers/synchronizer-ws-client/index.js +68 -63
  223. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +68 -63
  224. package/synchronizers/synchronizer-ws-server/index.js +79 -70
  225. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +79 -70
  226. package/synchronizers/synchronizer-ws-server-durable-object/index.js +69 -51
  227. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +69 -51
  228. package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  229. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  230. package/synchronizers/with-schemas/index.js +68 -63
  231. package/ui-react-inspector/index.js +68 -60
  232. package/ui-react-inspector/with-schemas/index.js +68 -60
  233. package/with-schemas/index.js +23 -17
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,o=clearInterval,r=a=>null==a,c=(a,t,e)=>r(a)?e?.():t(a),l=t=>a(t)==s,w=a=>Array.isArray(a),u=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),v=a=>{throw Error(a)},p=(a,t)=>a.forEach(t),E=(a,t="")=>a.join(t),g=(a,t)=>a.map(t),A=a=>0==y(a),h=(a,t)=>a.filter(t),m=(a,...t)=>a.push(...t),f=a=>a.shift(),N=(a,t)=>a?.has(t)??!1,$=a=>r(a)||0==(a=>a?.size??0)(a),S=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),O=(a,t)=>a?.delete(t),T="_",I="_id",L="SELECT",b="WHERE",D="TABLE",R="ALTER "+D,M="DELETE FROM",_=L+"*FROM",P="pragma_",F="data_version",U="schema_version",j="pragma_table_",B=a=>`"${a.replace(/"/g,'""')}"`,J=(a,t=[1])=>E(g(a,(()=>"$"+t[0]++)),n),Y=Object,k=a=>Y.getPrototypeOf(a),x=Y.entries,z=Y.keys,G=Y.freeze,H=(a=[])=>Y.fromEntries(a),K=(...a)=>Y.assign({},...a),Q=(a,t)=>(delete a[t],a),V=(a,t)=>g(x(a),(([a,e])=>t(e,a))),W=(a,t)=>H(V(a,((a,e)=>[e,t(a,e)]))),X=a=>Y.values(a),q=a=>y(z(a)),Z=a=>(a=>!r(a)&&c(k(a),(a=>a==Y.prototype||r(k(a))),(()=>!0)))(a)&&0==q(a),aa=a=>new Map(a),ta=(a,t)=>a?.get(t),ea=(a,t)=>g([...a?.entries()??[]],(([a,e])=>t(e,a))),na=(a,t,e)=>r(e)?(O(a,t),a):a?.set(t,e),sa=(a,t,e,n)=>(N(a,t)?n?.(ta(a,t)):na(a,t,e()),ta(a,t)),ia=(a,t,e,n,s=0)=>c((e?sa:ta)(a,t[s],s>y(t)-2?e:aa),(i=>{if(s>y(t)-2)return n?.(i)&&na(a,t[s]),i;const o=ia(i,t,e,n,s+1);return $(i)&&na(a,t[s]),o})),oa=a=>new Set(w(a)||r(a)?a:[a]),ra=(a,t)=>a?.add(t),ca="ColumnName",la="store",wa="json",ua=la+"TableName",ya=la+"Id"+ca,da=la+ca,va="autoLoadIntervalSeconds",pa="rowId"+ca,Ea="tableId",ga="tableName",Aa="deleteEmptyColumns",ha="deleteEmptyTable",ma={mode:wa,[va]:1},fa={load:0,save:0,[ga]:t+"_values"},Na=(a,t,e,n,s)=>{const i=aa();return W(a,((a,o)=>{const c=u(X(K(t,l(a)?{[e]:a}:a)),0,q(t));r(c[0])||n(o,c[0])||(s(o,c[0]),na(i,o,c))})),i},$a=JSON.stringify,Sa=JSON.parse,Ca=/^\d+$/,Oa=aa(),Ta=aa(),Ia=(a,t,n,s,i,o,l,u={},d=0,E=[])=>{let g,A,h,N=0,S=0,T=0;sa(Oa,E,(()=>0)),sa(Ta,E,(()=>[]));const I=aa(),[L,b,D,R,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!Z(a)||!Z(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!Z(a)||!Z(t),t.setContent]:v("Store type not supported by this Persister"))(l,a,d),[_,P,F]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?f(a):null)??e+t++,t=>{Ca.test(t)&&y(a)<1e3&&m(a,t)}]})(),s=aa();return[(n,i,o,r=[],c=()=>[])=>{a??=z;const l=t(1);return na(s,l,[n,i,o,r,c]),ra(ia(i,o??[e],oa),l),l},(t,n,...i)=>p(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?m(n,a):null===t[e]?C(a,(a=>s(a,e+1))):p([t[e],null],(t=>s(ta(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>ta(s,t)[0](a,...n??[],...i))))),a=>c(ta(s,a),(([,t,i])=>(ia(t,i??[e],void 0,(t=>(O(t,a),$(t)?1:0))),na(s,a),n(a),i))),t=>c(ta(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const c=y(o);c==y(e)?t(a,...o,...s(o)):r(e[c])?p(n[c]?.(...o)??[],(a=>i(...o,a))):i(...o,e[c])};i()}))]})(),U=a=>{a!=N&&(N=a,P(I,void 0,N))},j=t=>{(L&&w(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=N&&(U(1),S++,await x((async()=>{try{const e=await t();w(e)?j(e):a?M(a):v("Content is not an array: "+e)}catch(t){o?.(t),a&&M(a)}U(0)}))),z),J=()=>(A&&(i(A),A=void 0),z),Y=async a=>(1!=N&&(U(2),T++,await x((async()=>{try{await n(b,a)}catch(a){o?.(a)}U(0)}))),z),k=()=>(h&&(a.delListener(h),h=void 0),z),x=async(...a)=>(m(ta(Ta,E),...a),await(async()=>{if(!ta(Oa,E)){for(na(Oa,E,1);!r(g=f(ta(Ta,E)));)try{await g()}catch(a){o?.(a)}na(Oa,E,0)}})(),z),z={load:B,startAutoLoad:async a=>{J(),await B(a);try{A=await s((async(a,t)=>{t||a?2!=N&&(U(1),S++,j(t??a),U(0)):await B()}))}catch(a){o?.(a)}return z},stopAutoLoad:J,isAutoLoading:()=>!r(A),save:Y,startAutoSave:async()=>(k(),await Y(),h=a.addDidFinishTransactionListener((()=>{const a=D();R(a)&&Y(a)})),z),stopAutoSave:k,isAutoSaving:()=>!r(h),getStatus:()=>N,addStatusListener:a=>_(a,I),delListener:t=>(F(t),a),schedule:x,getStore:()=>a,destroy:()=>(ta(Ta,E).splice(0,void 0),J().stopAutoSave()),getStats:()=>({loads:S,saves:T}),...u};return G(z)},La=(a,t,e,s,i,o=ba,c,l)=>{const w=aa();return[async()=>{w.clear(),g(await e(a,t),(({tn:a,cn:t})=>ra(sa(w,a,oa),t)))},async(t,e)=>((a,t)=>N(ta(w,a),t))(t,e)?H(h(g(await a(_+B(t)),(a=>[a[e],l?W(Q(a,e),l):Q(a,e)])),(([a,t])=>!r(a)&&!Z(t)))):{},async(t,e,s,l,u,y=!1)=>{const v=oa();W(s??{},(a=>g(z(a??{}),(a=>ra(v,a)))));const p=S(v);if(!y&&u&&A(p)&&N(w,t))return await a("DROP "+D+B(t)),void na(w,t);const f=ta(w,t),$=oa(S(f));if(A(p)||(N(w,t)?await d(g([e,...p],(async(n,s)=>{O($,n)||(await a(R+B(t)+"ADD"+B(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+B(t)+`(${B(e)})`),ra(f,n))}))):(await a("CREATE "+D+B(t)+`(${B(e)}${i} PRIMARY KEY${E(g(p,(a=>n+B(a)+i)))});`),na(w,t,oa([e,...p])))),await d([...!y&&l?g(S($),(async n=>{n!=e&&(await a(R+B(t)+"DROP"+B(n)),O(f,n))})):[]]),y)r(s)?await a(M+B(t)+b+" true"):await d(V(s,(async(n,s)=>{r(n)?await a(M+B(t)+b+B(e)+"=$1",[s]):A(p)||await o(a,t,e,z(n),{[s]:c?g(X(n),c):X(n)},f)})));else if(A(p))N(w,t)&&await a(M+B(t)+b+" true");else{const n=h(S(ta(w,t)),(a=>a!=e)),i={},r=[];W(s??{},((a,t)=>{i[t]=g(n,(t=>c?c(a?.[t]):a?.[t])),m(r,t)})),await o(a,t,e,n,i),await a(M+B(t)+b+B(e)+`NOT IN(${J(r)})`,r)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},ba=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+B(t)+"("+((...a)=>E(g(a,B),n))(e,...s)+")VALUES"+E(V(i,(a=>"($"+o[0]+++","+J(a,o)+")")),n)+"ON CONFLICT("+B(e)+")DO UPDATE SET"+E(g(s,(a=>B(a)+"=excluded."+B(a))),n),V(i,((a,t)=>[t,...g(a,(a=>a??null))])).flat())},Da=(a,t,e,n,s,i,o,[r,c,l],w,u,y,d,v,p)=>{const[E,g,A,h]=La(t,w,u,s,v,p),m=Ia(a,(async()=>await h((async()=>{return await E(),a=(await g(r,c))[T]?.[l]??"null",Sa(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await h((async()=>{var t;await E(),await A(r,c,{[T]:{[l]:(t=a()??null,$a(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>y,destroy:()=>(m.stopAutoLoad().stopAutoSave(),i(),m)},0,y);return m},Ra=(a,t,e,n,s,i,o,[c,l,[w,u,y]],v,p,E,g,A,m,f,N)=>{const[$,S,C,O]=La(t,v,p,s,A,m,f,N),L=async(a,t)=>await d(ea(l,(async([e,n,s,i],o)=>{t&&!(o in a)||await C(e,n,a[o],s,i,t)}))),b=async(a,t)=>u?await C(y,I,{[T]:a},!0,!0,t):null,D=Ia(a,(async()=>await O((async()=>{await $();const a=await(async()=>H(h(await d(ea(c,(async([a,t],e)=>[a,await S(e,t)]))),(a=>!Z(a[1])))))(),t=await(async()=>w?(await S(y,I))[T]:{})();return Z(a)&&r(t)?void 0:[a,t]}))),(async(a,t)=>await O((async()=>{if(await $(),r(t)){const[t,e]=a();await L(t),await b(e)}else await L(t[0],!0),await b(t[1],!0)}))),e,n,s,o,{[g]:()=>E,destroy:()=>(D.stopAutoLoad().stopAutoSave(),i(),D)},0,E);return D},Ma=(a,n,s,i,r,c,w,y,d,v,p="getDb",E)=>{let g,A,h;const m=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,c),[f,$,C,O]=(a=>{const e=(a=>K(ma,l(a)?{[ua]:a}:a??{}))(a),n=e[va];if(e.mode==wa){const a=e[ua]??t;return[1,n,[a,e[ya]??I,e[da]??la],oa(a)]}const{tables:{load:s={},save:i={}}={},values:o={}}=e,r=u(X(K(fa,o)),0,q(fa)),c=r[2],w=oa(c),y=oa(c);return[0,n,[Na(s,{[Ea]:null,[pa]:I},Ea,(a=>N(y,a)),(a=>ra(w,a))),Na(i,{[ga]:null,[pa]:I,[Aa]:0,[ha]:0},ga,((a,t)=>N(y,t)),((a,t)=>ra(w,t))),r],w]})(n);return(f?Da:Ra)(a,m,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await m(`${L} ${F} d,${U} s,TOTAL_CHANGES() c FROM ${P}${F} JOIN ${P}${U}`);t==g&&e==A&&n==h||(null!=g&&a(),g=t,A=e,h=n)}catch{}}),1e3*$),n=()=>{g=A=h=null,o(t)},s=i((t=>{O.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(s)}}),(a=>a()),w,y,d,C,S(O),(async(a,t)=>await a(`${L} t.name tn,c.name cn FROM ${j}list()t,${j}info(t.name)c ${b} t.schema='main'AND t.type IN('table','view')AND t.name IN(${J(t)})ORDER BY t.name,c.name`,t)),v,p,e,E,(a=>!0===a?1:!1===a?0:a),void 0)},_a="change",Pa=(a,t,e,n,s)=>Ma(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new i(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(_a,e),e}),(a=>t.off(_a,a)),n,s,(()=>0),3,t);export{Pa as createSqlite3Persister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",o=(a,t,e)=>a.replace(t,e),r=Promise,c=clearInterval,l=a=>null==a,w=(a,t,e)=>l(a)?e?.():t(a),u=t=>a(t)==s,y=a=>Array.isArray(a),d=(a,t,e)=>a.slice(t,e),v=a=>a.length,p=()=>{},E=async a=>r.all(a),g=a=>{throw Error(a)},A=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},N=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),$=(a,t)=>a.map(t),f=a=>0==v(a),S=(a,t)=>a.filter(t),h=(a,...t)=>a.push(...t),C=a=>a.shift(),T=(a,t)=>a?.has(t)??!1,L=a=>l(a)||0==(a=>a?.size??0)(a),O=a=>[...a?.values()??[]],b=(a,t)=>a?.forEach(t),D=(a,t)=>a?.delete(t),I="_",R="_id",M="SELECT",_="WHERE",P="TABLE",F="ALTER "+P,U="FROM",j="DELETE "+U,B=M+"*"+U,J="pragma_",Y="data_version",k="schema_version",x="pragma_table_",z="CREATE "+P,G=a=>`"${o(a,/"/g,'""')}"`,H=(a,t=[1])=>m($(a,(()=>"$"+t[0]++)),n),K=(a,t=i)=>_+`(${o(t,"$tableName",G(a))})`,Q=Object,V=a=>Q.getPrototypeOf(a),W=Q.entries,X=Q.keys,q=Q.freeze,Z=(a=[])=>Q.fromEntries(a),aa=(...a)=>Q.assign({},...a),ta=(a,t)=>(delete a[t],a),ea=(a,t)=>$(W(a),(([a,e])=>t(e,a))),na=(a,t)=>Z(ea(a,((a,e)=>[e,t(a,e)]))),sa=a=>Q.values(a),ia=a=>v(X(a)),oa=a=>(a=>!l(a)&&w(V(a),(a=>a==Q.prototype||l(V(a))),(()=>!0)))(a)&&0==ia(a),ra=a=>new Map(a),ca=(a,t)=>a?.get(t),la=(a,t)=>$([...a?.entries()??[]],(([a,e])=>t(e,a))),wa=(a,t,e)=>l(e)?(D(a,t),a):a?.set(t,e),ua=(a,t,e,n)=>(T(a,t)?n?.(ca(a,t)):wa(a,t,e()),ca(a,t)),ya=(a,t,e,n,s=0)=>w((e?ua:ca)(a,t[s],s>v(t)-2?e:ra),(i=>{if(s>v(t)-2)return n?.(i)&&wa(a,t[s]),i;const o=ya(i,t,e,n,s+1);return L(i)&&wa(a,t[s]),o})),da=a=>new Set(y(a)||l(a)?a:[a]),va=(a,t)=>a?.add(t),pa="ColumnName",Ea="store",ga="json",Aa=Ea+"TableName",Na=Ea+"Id"+pa,ma=Ea+pa,$a="autoLoadIntervalSeconds",fa="rowId"+pa,Sa="tableId",ha="tableName",Ca="deleteEmptyColumns",Ta="deleteEmptyTable",La="condition",Oa={mode:ga,[$a]:1},ba={load:0,save:0,[ha]:t+"_values"},Da=(a,t,e,n,s)=>{const i=ra();return na(a,((a,o)=>{const r=d(sa(aa(t,u(a)?{[e]:a}:a)),0,ia(t));l(r[0])||n(o,r[0])||(s(o,r[0]),wa(i,o,r))})),i},Ia=JSON.stringify,Ra=JSON.parse,Ma=/^\d+$/,_a=ra(),Pa=ra(),Fa=(a,t,n,s,i,o,r,c={},u=0,d=[])=>{let p,E,m,$=0,f=0,S=0;ua(_a,d,(()=>0)),ua(Pa,d,(()=>[]));const T=ra(),[O,I,R,M,_]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!oa(a)||!oa(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!oa(a)||!oa(t),t.setContent]:g("Store type not supported by this Persister"))(r,a,u),[P,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?C(a):null)??e+t++,t=>{Ma.test(t)&&v(a)<1e3&&h(a,t)}]})(),s=ra();return[(n,i,o,r=[],c=()=>[])=>{a??=G;const l=t(1);return wa(s,l,[n,i,o,r,c]),va(ya(i,o??[e],da),l),l},(t,n,...i)=>N(((a,t=[e])=>{const n=[],s=(a,e)=>e==v(t)?h(n,a):null===t[e]?b(a,(a=>s(a,e+1))):N([t[e],null],(t=>s(ca(a,t),e+1)));return s(a,0),n})(t,n),(t=>b(t,(t=>ca(s,t)[0](a,...n??[],...i))))),a=>w(ca(s,a),(([,t,i])=>(ya(t,i??[e],void 0,(t=>(D(t,a),L(t)?1:0))),wa(s,a),n(a),i))),t=>w(ca(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const r=v(o);r==v(e)?t(a,...o,...s(o)):l(e[r])?N(n[r]?.(...o)??[],(a=>i(...o,a))):i(...o,e[r])};i()}))]})(),j=a=>{a!=$&&($=a,F(T,void 0,$))},B=t=>{(O&&y(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},J=async a=>(2!=$&&(j(1),f++,await z((async()=>{await A((async()=>{const e=await t();y(e)?B(e):a?_(a):g("Content is not an array: "+e)}),(()=>{a&&_(a)})),j(0)}))),G),Y=async()=>(E&&(await A((()=>i(E)),o),E=void 0),G),k=async a=>(1!=$&&(j(2),S++,await z((async()=>{await A((()=>n(I,a)),o),j(0)}))),G),x=async()=>(m&&(a.delListener(m),m=void 0),G),z=async(...a)=>(h(ca(Pa,d),...a),await(async()=>{if(!ca(_a,d)){for(wa(_a,d,1);!l(p=C(ca(Pa,d)));)await A(p,o);wa(_a,d,0)}})(),G),G={load:J,startAutoLoad:async a=>(Y(),await J(a),await A((async()=>E=await s((async(a,t)=>{t||a?2!=$&&(j(1),f++,B(t??a),j(0)):await J()}))),o),G),stopAutoLoad:Y,isAutoLoading:()=>!l(E),save:k,startAutoSave:async()=>(x(),await k(),m=a.addDidFinishTransactionListener((()=>{const a=R();M(a)&&k(a)})),G),stopAutoSave:x,isAutoSaving:()=>!l(m),getStatus:()=>$,addStatusListener:a=>P(a,T),delListener:t=>(U(t),a),schedule:z,getStore:()=>a,destroy:async()=>(ca(Pa,d).splice(0,void 0),await G.stopAutoLoad(),await G.stopAutoSave()),getStats:()=>({loads:f,saves:S}),...c};return q(G)},Ua=(a,t,e,s,o,r=ja,c,w)=>{const u=ra();return[async()=>{u.clear(),$(await e(a,t),(({tn:a,cn:t})=>va(ua(u,a,da),t)))},async(t,e,n)=>((a,t)=>T(ca(u,a),t))(t,e)?Z(S($(await a(B+G(t)+K(t,n)),(a=>[a[e],w?na(ta(a,e),w):ta(a,e)])),(([a,t])=>!l(a)&&!oa(t)))):{},async(t,e,s,w,y,d=!1,v=i)=>{const p=da();na(s??{},(a=>$(X(a??{}),(a=>va(p,a)))));const g=O(p);if(!d&&y&&v==i&&f(g)&&T(u,t))return await a("DROP "+P+G(t)),void wa(u,t);const A=ca(u,t),N=da(O(A));if(f(g)||(T(u,t)?await E($([e,...g],(async(n,s)=>{D(N,n)||(await a(F+G(t)+"ADD"+G(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+G(t)+`(${G(e)})`),va(A,n))}))):(await a(z+G(t)+`(${G(e)}${o} PRIMARY KEY${m($(g,(a=>n+G(a)+o)))});`),wa(u,t,da([e,...g])))),await E([...!d&&w?$(O(N),(async n=>{n!=e&&(await a(F+G(t)+"DROP"+G(n)),D(A,n))})):[]]),d)l(s)?await a(j+G(t)+K(t,v)):await E(ea(s,(async(n,s)=>{l(n)?await a(j+G(t)+K(t,v)+`AND(${G(e)}=$1)`,[s]):f(g)||await r(a,t,e,X(n),{[s]:c?$(sa(n),c):sa(n)},A)})));else if(f(g))T(u,t)&&await a(j+G(t)+K(t,v));else{const n=S(O(ca(u,t)),(a=>a!=e)),i={},o=[];na(s??{},((a,t)=>{i[t]=$(n,(t=>c?c(a?.[t]):a?.[t])),h(o,t)})),await r(a,t,e,n,i),await a(j+G(t)+K(t,v)+`AND${G(e)}NOT IN(${H(o)})`,o)}},async t=>{let e;return await a("BEGIN"),await A((async()=>e=await t()),s),await a("END"),e}]},ja=async(a,t,e,s,i)=>{const o=[1];await a("INSERT INTO"+G(t)+"("+((...a)=>m($(a,G),n))(e,...s)+")VALUES"+m(ea(i,(a=>"($"+o[0]+++","+H(a,o)+")")),n)+"ON CONFLICT("+G(e)+")DO UPDATE SET"+m($(s,(a=>G(a)+"=excluded."+G(a))),n),ea(i,((a,t)=>[t,...$(a,(a=>a??null))])).flat())},Ba=(a,t,e,n,s,i,o,[r,c,l],w,u,y,d,v,p)=>{const[E,g,A,N]=Ua(t,w,u,s,v,p),m=Fa(a,(()=>N((async()=>{return await E(),a=(await g(r,c))[I]?.[l]??"null",Ra(a,((a,t)=>""===t?void 0:t));var a}))),(a=>N((async()=>{var t;await E(),await A(r,c,{[I]:{[l]:(t=a()??null,Ia(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,o,{[d]:()=>y,destroy:async()=>(await m.stopAutoLoad(),await m.stopAutoSave(),i(),m)},0,y);return m},Ja=(a,t,e,n,s,i,o,[r,c,[w,u,y]],d,v,p,g,A,N,m,$)=>{const[f,h,C,T]=Ua(t,d,v,s,A,N,m,$),L=(a,t)=>E(la(c,(async([e,n,s,i,o],r)=>{t&&!(r in a)||await C(e,n,a[r],s,i,t,o)}))),O=async(a,t)=>u?await C(y,R,{[I]:a},!0,!0,t):null,b=Fa(a,(()=>T((async()=>{await f();const a=await(async()=>Z(S(await E(la(r,(async([a,t,e],n)=>[a,await h(n,t,e)]))),(a=>!oa(a[1])))))(),t=await(async()=>w?(await h(y,R))[I]:{})();return oa(a)&&l(t)?void 0:[a,t]}))),((a,t)=>T((async()=>{if(await f(),l(t)){const[t,e]=a();await L(t),await O(e)}else await L(t[0],!0),await O(t[1],!0)}))),e,n,s,o,{[g]:()=>p,destroy:async()=>(await b.stopAutoLoad(),await b.stopAutoSave(),i(),b)},0,p);return b},Ya=(a,n,s,o,r,l,w,y,v,p,E="getDb",g)=>{let N,m,$;const f=((a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a)(s,l),[S,h,C,L]=(a=>{const e=(a=>aa(Oa,u(a)?{[Aa]:a}:a??{}))(a),n=e[$a];if(e.mode==ga){const a=e[Aa]??t;return[1,n,[a,e[Na]??R,e[ma]??Ea],da(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,c=d(sa(aa(ba,r)),0,ia(ba)),l=c[2],w=da(l),y=da(l),v=Da(s,{[Sa]:null,[fa]:R,[La]:i},Sa,(a=>T(y,a)),(a=>va(w,a))),p=Da(o,{[ha]:null,[fa]:R,[Ca]:0,[Ta]:0,[La]:null},ha,((a,t)=>T(y,t)),((a,t)=>va(w,t)));var E;return E=(a,t)=>t[4]??=ca(v,t[0])?.[2]??i,b(p,((a,t)=>E(0,a))),[0,n,[v,p,c],w]})(n);return(S?Ba:Ja)(a,f,(a=>{let t;const e=()=>t=setInterval((()=>A((async()=>{const[{d:t,s:e,c:n}]=await f(M+` ${Y} d,${k} s,TOTAL_CHANGES() c FROM ${J}${Y} JOIN ${J}${k}`);t==N&&e==m&&n==$||(null!=N&&a(),N=t,m=e,$=n)}))),1e3*h),n=()=>{N=m=$=null,c(t)},s=o((t=>{L.has(t)&&(n(),a(),e())}));return e(),()=>{n(),r(s)}}),(a=>a()),w,y,v,C,O(L),(async(a,t)=>await a(M+` t.name tn,c.name cn FROM ${x}list()t,${x}info(t.name)c ${_} t.schema='main'AND t.type IN('table','view')AND t.name IN(${H(t)})ORDER BY t.name,c.name`,t)),p,E,e,g,(a=>!0===a?1:!1===a?0:a),void 0)},ka="change",xa=(a,t,e,n,s)=>Ya(a,e,(async(a,e=[])=>{return await(n=(n,s)=>t.all(a,e,((a,t)=>a?s(a):n(t))),new r(n));var n}),(a=>{const e=(t,e,n)=>a(n);return t.on(ka,e),e}),(a=>t.off(ka,a)),n,s,p,3,t);export{xa as createSqlite3Persister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",n="v",a=t=>null==t,s=(t,e,n)=>a(t)?n?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=(t,e)=>t.forEach(e),l=(t,...e)=>t.push(...e),g=t=>t.shift(),u=t=>a(t)||0==(t=>t?.size??0)(t),d=(t,e)=>t?.forEach(e),y=(t,e)=>t?.delete(e),p=Object,h=t=>p.getPrototypeOf(t),v=p.entries,w=p.keys,S=p.freeze,f=(t=[])=>p.fromEntries(t),C=(t,e)=>e in t,b=(t,e)=>f(((t,e)=>((t,e)=>t.map(e))(v(t),(([t,n])=>e(n,t))))(t,((t,n)=>[n,e(t,n)]))),A=t=>(t=>!a(t)&&s(h(t),(t=>t==p.prototype||a(h(t))),(()=>!0)))(t)&&0==(t=>r(w(t)))(t),M=(t,e,n)=>(C(t,e)||(t[e]=n()),t[e]),O=t=>new Map(t),L=(t,e)=>t?.get(e),J=(t,e)=>d(t,((t,n)=>e(n,t))),N=(t,e,n)=>a(n)?(y(t,e),t):t?.set(e,n),z=(t,e,n,a)=>{var s,o;return s=t,o=e,s?.has(o)?a?.(L(t,e)):N(t,e,n()),L(t,e)},D=(t,e,n,a,o=0)=>s((n?z:L)(t,e[o],o>r(e)-2?n:O),(s=>{if(o>r(e)-2)return a?.(s)&&N(t,e[o]),s;const i=D(s,e,n,a,o+1);return u(s)&&N(t,e[o]),i})),E=/^\d+$/,m=t=>new Set(o(t)||a(t)?t:[t]),T=O(),j=O(),k=(t,e,n,p,h,v,w,f={},C=0,b=[])=>{let M,J,k,P=0,x=0,F=0;z(T,b,(()=>0)),z(j,b,(()=>[]));const Y=O(),[$,q,B,G,H]=((t=1,e,n)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!n),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:i("Store type not supported by this Persister"))(w,t,C),[I,K,Q]=(()=>{let t;const[e,n]=(()=>{const t=[];let e=0;return[n=>(n?g(t):null)??""+e++,e=>{E.test(e)&&r(t)<1e3&&l(t,e)}]})(),o=O();return[(n,a,s,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return N(o,c,[n,a,s,r,i]),l=D(a,s??[""],m),g=c,l?.add(g),c},(e,n,...a)=>c(((t,e=[""])=>{const n=[],a=(t,s)=>s==r(e)?l(n,t):null===e[s]?d(t,(t=>a(t,s+1))):c([e[s],null],(e=>a(L(t,e),s+1)));return a(t,0),n})(e,n),(e=>d(e,(e=>L(o,e)[0](t,...n??[],...a))))),t=>s(L(o,t),(([,e,a])=>(D(e,a??[""],void 0,(e=>(y(e,t),u(e)?1:0))),N(o,t),n(t),a))),e=>s(L(o,e),(([e,,n=[],s,o])=>{const i=(...l)=>{const g=r(l);g==r(n)?e(t,...l,...o(l)):a(n[g])?c(s[g]?.(...l)??[],(t=>i(...l,t))):i(...l,n[g])};i()}))]})(),R=t=>{t!=P&&(P=t,K(Y,void 0,P))},U=e=>{($&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},V=async t=>(2!=P&&(R(1),x++,await _((async()=>{try{const n=await e();o(n)?U(n):t?H(t):i("Content is not an array: "+n)}catch(e){v?.(e),t&&H(t)}R(0)}))),tt),W=()=>(J&&(h(J),J=void 0),tt),X=async t=>(1!=P&&(R(2),F++,await _((async()=>{try{await n(q,t)}catch(t){v?.(t)}R(0)}))),tt),Z=()=>(k&&(t.delListener(k),k=void 0),tt),_=async(...t)=>(l(L(j,b),...t),await(async()=>{if(!L(T,b)){for(N(T,b,1);!a(M=g(L(j,b)));)try{await M()}catch(t){v?.(t)}N(T,b,0)}})(),tt),tt={load:V,startAutoLoad:async t=>{W(),await V(t);try{J=await p((async(t,e)=>{e||t?2!=P&&(R(1),x++,U(e??t),R(0)):await V()}))}catch(t){v?.(t)}return tt},stopAutoLoad:W,isAutoLoading:()=>!a(J),save:X,startAutoSave:async()=>(Z(),await X(),k=t.addDidFinishTransactionListener((()=>{const t=B();G(t)&&X(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!a(k),getStatus:()=>P,addStatusListener:t=>I(t,Y),delListener:e=>(Q(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(j,b).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:x,saves:F}),...f};return S(tt)},P="delete",x=t=>[t.get(e),t.get(n)],F=(e,n,s,o)=>{const r=a(n)?e:e.get(n)??e.set(n,new t);let i;return b(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{C(s,e)||(r.delete(e),i=1)})),a(n)||r.size||e.delete(n),i},Y=(o,i,l="tinybase",u)=>{const d=i.getMap(l);return k(o,(async()=>d.size?[d.get(e).toJSON(),d.get(n).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(n,new t));const[c,l]=x(o),g=()=>{u=1};let u=1;if(s(i,(([t,e])=>{u=0,b(t,((t,e)=>u?0:a(t)?c.delete(e):s(c.get(e),(e=>b(t,((t,n)=>u?0:a(t)?e.delete(n):s(e.get(n),(e=>b(t,((t,n)=>a(t)?e.delete(n):e.set(n,t)))),g)))),g))),b(e,((t,e)=>u?0:a(t)?l.delete(e):l.set(e,t)))})),u){const[t,e]=r();F(c,void 0,t,((t,e,n)=>F(c,e,n,((t,e,n)=>F(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),F(l,void 0,e,((t,e,n)=>{l.get(e)!==n&&l.set(e,n)}))}})(d,o,r)))),(t=>{const a=a=>t(void 0,((t,a)=>{if(1==r(a)&&(o=a[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(n).toJSON(),1];var o;const[i,l]=x(t),u={},d={};return c(a,(({path:t,changes:{keys:n}})=>g(t)==e?s(g(t),(e=>{const a=M(u,e,f),o=i.get(e);s(g(t),(t=>{const e=M(a,t,f),s=o.get(t);J(n,((t,{action:n})=>e[t]=n==P?null:s.get(t)))}),(()=>J(n,((t,{action:e})=>a[t]=e==P?null:o.get(t)?.toJSON()))))}),(()=>J(n,((t,{action:e})=>u[t]=e==P?null:i.get(t)?.toJSON())))):J(n,((t,{action:e})=>d[t]=e==P?null:l.get(t))))),[u,d,1]})(d,a));return d.observeDeep(a),a}),(t=>{d.unobserveDeep(t)}),u,1,{getYDoc:()=>i})};export{Y as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},l=(t,e)=>t.forEach(e),g=(t,...e)=>t.push(...e),u=t=>t.shift(),d=t=>n(t)||0==(t=>t?.size??0)(t),y=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),h=w.entries,S=w.keys,f=w.freeze,C=(t=[])=>w.fromEntries(t),b=(t,e)=>e in t,A=(t,e)=>C(((t,e)=>((t,e)=>t.map(e))(h(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),L=t=>(t=>!n(t)&&s(v(t),(t=>t==w.prototype||n(v(t))),(()=>!0)))(t)&&0==(t=>r(S(t)))(t),M=(t,e,a)=>(b(t,e)||(t[e]=a()),t[e]),O=t=>new Map(t),J=(t,e)=>t?.get(e),N=(t,e)=>y(t,((t,a)=>e(a,t))),z=(t,e,a)=>n(a)?(p(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(J(t,e)):z(t,e,a()),J(t,e)},E=(t,e,a,n,o=0)=>s((a?D:J)(t,e[o],o>r(e)-2?a:O),(s=>{if(o>r(e)-2)return n?.(s)&&z(t,e[o]),s;const i=E(s,e,a,n,o+1);return d(s)&&z(t,e[o]),i})),m=/^\d+$/,T=t=>new Set(o(t)||n(t)?t:[t]),j=O(),k=O(),P=(t,e,a,w,v,h,S,C={},b=0,A=[])=>{let M,N,P,x=0,F=0,Y=0;D(j,A,(()=>0)),D(k,A,(()=>[]));const $=O(),[q,B,G,H,I]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!L(t)||!L(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!L(t)||!L(e),e.setContent]:i("Store type not supported by this Persister"))(S,t,b),[K,Q,R]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?u(t):null)??""+e++,e=>{m.test(e)&&r(t)<1e3&&g(t,e)}]})(),o=O();return[(a,n,s,r=[],i=()=>[])=>{t??=et;const c=e(1);var l,g;return z(o,c,[a,n,s,r,i]),l=E(n,s??[""],T),g=c,l?.add(g),c},(e,a,...n)=>l(((t,e=[""])=>{const a=[],n=(t,s)=>s==r(e)?g(a,t):null===e[s]?y(t,(t=>n(t,s+1))):l([e[s],null],(e=>n(J(t,e),s+1)));return n(t,0),a})(e,a),(e=>y(e,(e=>J(o,e)[0](t,...a??[],...n))))),t=>s(J(o,t),(([,e,n])=>(E(e,n??[""],void 0,(e=>(p(e,t),d(e)?1:0))),z(o,t),a(t),n))),e=>s(J(o,e),(([e,,a=[],s,o])=>{const i=(...c)=>{const g=r(c);g==r(a)?e(t,...c,...o(c)):n(a[g])?l(s[g]?.(...c)??[],(t=>i(...c,t))):i(...c,a[g])};i()}))]})(),U=t=>{t!=x&&(x=t,Q($,void 0,x))},V=e=>{(q&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=x&&(U(1),F++,await tt((async()=>{await c((async()=>{const a=await e();o(a)?V(a):t?I(t):i("Content is not an array: "+a)}),(()=>{t&&I(t)})),U(0)}))),et),X=async()=>(N&&(await c((()=>v(N)),h),N=void 0),et),Z=async t=>(1!=x&&(U(2),Y++,await tt((async()=>{await c((()=>a(B,t)),h),U(0)}))),et),_=async()=>(P&&(t.delListener(P),P=void 0),et),tt=async(...t)=>(g(J(k,A),...t),await(async()=>{if(!J(j,A)){for(z(j,A,1);!n(M=u(J(k,A)));)await c(M,h);z(j,A,0)}})(),et),et={load:W,startAutoLoad:async t=>(X(),await W(t),await c((async()=>N=await w((async(t,e)=>{e||t?2!=x&&(U(1),F++,V(e??t),U(0)):await W()}))),h),et),stopAutoLoad:X,isAutoLoading:()=>!n(N),save:Z,startAutoSave:async()=>(_(),await Z(),P=t.addDidFinishTransactionListener((()=>{const t=G();H(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!n(P),getStatus:()=>x,addStatusListener:t=>K(t,$),delListener:e=>(R(e),t),schedule:tt,getStore:()=>t,destroy:async()=>(J(k,A).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:F,saves:Y}),...C};return f(et)},x="delete",F=t=>[t.get(e),t.get(a)],Y=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return A(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{b(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},$=(o,i,c="tinybase",g)=>{const d=i.getMap(c);return P(o,(async()=>d.size?[d.get(e).toJSON(),d.get(a).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,l]=F(o),g=()=>{u=1};let u=1;if(s(i,(([t,e])=>{u=0,A(t,((t,e)=>u?0:n(t)?c.delete(e):s(c.get(e),(e=>A(t,((t,a)=>u?0:n(t)?e.delete(a):s(e.get(a),(e=>A(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),g)))),g))),A(e,((t,e)=>u?0:n(t)?l.delete(e):l.set(e,t)))})),u){const[t,e]=r();Y(c,void 0,t,((t,e,a)=>Y(c,e,a,((t,e,a)=>Y(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),Y(l,void 0,e,((t,e,a)=>{l.get(e)!==a&&l.set(e,a)}))}})(d,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==r(n)&&(o=n[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var o;const[i,c]=F(t),g={},d={};return l(n,(({path:t,changes:{keys:a}})=>u(t)==e?s(u(t),(e=>{const n=M(g,e,C),o=i.get(e);s(u(t),(t=>{const e=M(n,t,C),s=o.get(t);N(a,((t,{action:a})=>e[t]=a==x?null:s.get(t)))}),(()=>N(a,((t,{action:e})=>n[t]=e==x?null:o.get(t)?.toJSON()))))}),(()=>N(a,((t,{action:e})=>g[t]=e==x?null:i.get(t)?.toJSON())))):N(a,((t,{action:e})=>d[t]=e==x?null:c.get(t))))),[g,d,1]})(d,n));return d.observeDeep(n),n}),(t=>{d.unobserveDeep(t)}),g,1,{getYDoc:()=>i})};export{$ as createYjsPersister};
@@ -1 +1 @@
1
- import{Map as t}from"yjs";const e="t",n="v",a=t=>null==t,s=(t,e,n)=>a(t)?n?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=(t,e)=>t.forEach(e),l=(t,...e)=>t.push(...e),g=t=>t.shift(),u=t=>a(t)||0==(t=>t?.size??0)(t),d=(t,e)=>t?.forEach(e),y=(t,e)=>t?.delete(e),p=Object,h=t=>p.getPrototypeOf(t),v=p.entries,w=p.keys,S=p.freeze,f=(t=[])=>p.fromEntries(t),C=(t,e)=>e in t,b=(t,e)=>f(((t,e)=>((t,e)=>t.map(e))(v(t),(([t,n])=>e(n,t))))(t,((t,n)=>[n,e(t,n)]))),A=t=>(t=>!a(t)&&s(h(t),(t=>t==p.prototype||a(h(t))),(()=>!0)))(t)&&0==(t=>r(w(t)))(t),M=(t,e,n)=>(C(t,e)||(t[e]=n()),t[e]),O=t=>new Map(t),L=(t,e)=>t?.get(e),J=(t,e)=>d(t,((t,n)=>e(n,t))),N=(t,e,n)=>a(n)?(y(t,e),t):t?.set(e,n),z=(t,e,n,a)=>{var s,o;return s=t,o=e,s?.has(o)?a?.(L(t,e)):N(t,e,n()),L(t,e)},D=(t,e,n,a,o=0)=>s((n?z:L)(t,e[o],o>r(e)-2?n:O),(s=>{if(o>r(e)-2)return a?.(s)&&N(t,e[o]),s;const i=D(s,e,n,a,o+1);return u(s)&&N(t,e[o]),i})),E=/^\d+$/,m=t=>new Set(o(t)||a(t)?t:[t]),T=O(),j=O(),k=(t,e,n,p,h,v,w,f={},C=0,b=[])=>{let M,J,k,P=0,x=0,F=0;z(T,b,(()=>0)),z(j,b,(()=>[]));const Y=O(),[$,q,B,G,H]=((t=1,e,n)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!n),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:i("Store type not supported by this Persister"))(w,t,C),[I,K,Q]=(()=>{let t;const[e,n]=(()=>{const t=[];let e=0;return[n=>(n?g(t):null)??""+e++,e=>{E.test(e)&&r(t)<1e3&&l(t,e)}]})(),o=O();return[(n,a,s,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return N(o,c,[n,a,s,r,i]),l=D(a,s??[""],m),g=c,l?.add(g),c},(e,n,...a)=>c(((t,e=[""])=>{const n=[],a=(t,s)=>s==r(e)?l(n,t):null===e[s]?d(t,(t=>a(t,s+1))):c([e[s],null],(e=>a(L(t,e),s+1)));return a(t,0),n})(e,n),(e=>d(e,(e=>L(o,e)[0](t,...n??[],...a))))),t=>s(L(o,t),(([,e,a])=>(D(e,a??[""],void 0,(e=>(y(e,t),u(e)?1:0))),N(o,t),n(t),a))),e=>s(L(o,e),(([e,,n=[],s,o])=>{const i=(...l)=>{const g=r(l);g==r(n)?e(t,...l,...o(l)):a(n[g])?c(s[g]?.(...l)??[],(t=>i(...l,t))):i(...l,n[g])};i()}))]})(),R=t=>{t!=P&&(P=t,K(Y,void 0,P))},U=e=>{($&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},V=async t=>(2!=P&&(R(1),x++,await _((async()=>{try{const n=await e();o(n)?U(n):t?H(t):i("Content is not an array: "+n)}catch(e){v?.(e),t&&H(t)}R(0)}))),tt),W=()=>(J&&(h(J),J=void 0),tt),X=async t=>(1!=P&&(R(2),F++,await _((async()=>{try{await n(q,t)}catch(t){v?.(t)}R(0)}))),tt),Z=()=>(k&&(t.delListener(k),k=void 0),tt),_=async(...t)=>(l(L(j,b),...t),await(async()=>{if(!L(T,b)){for(N(T,b,1);!a(M=g(L(j,b)));)try{await M()}catch(t){v?.(t)}N(T,b,0)}})(),tt),tt={load:V,startAutoLoad:async t=>{W(),await V(t);try{J=await p((async(t,e)=>{e||t?2!=P&&(R(1),x++,U(e??t),R(0)):await V()}))}catch(t){v?.(t)}return tt},stopAutoLoad:W,isAutoLoading:()=>!a(J),save:X,startAutoSave:async()=>(Z(),await X(),k=t.addDidFinishTransactionListener((()=>{const t=B();G(t)&&X(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!a(k),getStatus:()=>P,addStatusListener:t=>I(t,Y),delListener:e=>(Q(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(j,b).splice(0,void 0),W().stopAutoSave()),getStats:()=>({loads:x,saves:F}),...f};return S(tt)},P="delete",x=t=>[t.get(e),t.get(n)],F=(e,n,s,o)=>{const r=a(n)?e:e.get(n)??e.set(n,new t);let i;return b(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{C(s,e)||(r.delete(e),i=1)})),a(n)||r.size||e.delete(n),i},Y=(o,i,l="tinybase",u)=>{const d=i.getMap(l);return k(o,(async()=>d.size?[d.get(e).toJSON(),d.get(n).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(n,new t));const[c,l]=x(o),g=()=>{u=1};let u=1;if(s(i,(([t,e])=>{u=0,b(t,((t,e)=>u?0:a(t)?c.delete(e):s(c.get(e),(e=>b(t,((t,n)=>u?0:a(t)?e.delete(n):s(e.get(n),(e=>b(t,((t,n)=>a(t)?e.delete(n):e.set(n,t)))),g)))),g))),b(e,((t,e)=>u?0:a(t)?l.delete(e):l.set(e,t)))})),u){const[t,e]=r();F(c,void 0,t,((t,e,n)=>F(c,e,n,((t,e,n)=>F(t,e,n,((t,e,n)=>{if(t.get(e)!==n)return t.set(e,n),1})))))),F(l,void 0,e,((t,e,n)=>{l.get(e)!==n&&l.set(e,n)}))}})(d,o,r)))),(t=>{const a=a=>t(void 0,((t,a)=>{if(1==r(a)&&(o=a[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(n).toJSON(),1];var o;const[i,l]=x(t),u={},d={};return c(a,(({path:t,changes:{keys:n}})=>g(t)==e?s(g(t),(e=>{const a=M(u,e,f),o=i.get(e);s(g(t),(t=>{const e=M(a,t,f),s=o.get(t);J(n,((t,{action:n})=>e[t]=n==P?null:s.get(t)))}),(()=>J(n,((t,{action:e})=>a[t]=e==P?null:o.get(t)?.toJSON()))))}),(()=>J(n,((t,{action:e})=>u[t]=e==P?null:i.get(t)?.toJSON())))):J(n,((t,{action:e})=>d[t]=e==P?null:l.get(t))))),[u,d,1]})(d,a));return d.observeDeep(a),a}),(t=>{d.unobserveDeep(t)}),u,1,{getYDoc:()=>i})};export{Y as createYjsPersister};
1
+ import{Map as t}from"yjs";const e="t",a="v",n=t=>null==t,s=(t,e,a)=>n(t)?a?.():e(t),o=t=>Array.isArray(t),r=t=>t.length,i=t=>{throw Error(t)},c=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},l=(t,e)=>t.forEach(e),g=(t,...e)=>t.push(...e),u=t=>t.shift(),d=t=>n(t)||0==(t=>t?.size??0)(t),y=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),h=w.entries,S=w.keys,f=w.freeze,C=(t=[])=>w.fromEntries(t),b=(t,e)=>e in t,A=(t,e)=>C(((t,e)=>((t,e)=>t.map(e))(h(t),(([t,a])=>e(a,t))))(t,((t,a)=>[a,e(t,a)]))),L=t=>(t=>!n(t)&&s(v(t),(t=>t==w.prototype||n(v(t))),(()=>!0)))(t)&&0==(t=>r(S(t)))(t),M=(t,e,a)=>(b(t,e)||(t[e]=a()),t[e]),O=t=>new Map(t),J=(t,e)=>t?.get(e),N=(t,e)=>y(t,((t,a)=>e(a,t))),z=(t,e,a)=>n(a)?(p(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(J(t,e)):z(t,e,a()),J(t,e)},E=(t,e,a,n,o=0)=>s((a?D:J)(t,e[o],o>r(e)-2?a:O),(s=>{if(o>r(e)-2)return n?.(s)&&z(t,e[o]),s;const i=E(s,e,a,n,o+1);return d(s)&&z(t,e[o]),i})),m=/^\d+$/,T=t=>new Set(o(t)||n(t)?t:[t]),j=O(),k=O(),P=(t,e,a,w,v,h,S,C={},b=0,A=[])=>{let M,N,P,x=0,F=0,Y=0;D(j,A,(()=>0)),D(k,A,(()=>[]));const $=O(),[q,B,G,H,I]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!L(t)||!L(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!L(t)||!L(e),e.setContent]:i("Store type not supported by this Persister"))(S,t,b),[K,Q,R]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?u(t):null)??""+e++,e=>{m.test(e)&&r(t)<1e3&&g(t,e)}]})(),o=O();return[(a,n,s,r=[],i=()=>[])=>{t??=et;const c=e(1);var l,g;return z(o,c,[a,n,s,r,i]),l=E(n,s??[""],T),g=c,l?.add(g),c},(e,a,...n)=>l(((t,e=[""])=>{const a=[],n=(t,s)=>s==r(e)?g(a,t):null===e[s]?y(t,(t=>n(t,s+1))):l([e[s],null],(e=>n(J(t,e),s+1)));return n(t,0),a})(e,a),(e=>y(e,(e=>J(o,e)[0](t,...a??[],...n))))),t=>s(J(o,t),(([,e,n])=>(E(e,n??[""],void 0,(e=>(p(e,t),d(e)?1:0))),z(o,t),a(t),n))),e=>s(J(o,e),(([e,,a=[],s,o])=>{const i=(...c)=>{const g=r(c);g==r(a)?e(t,...c,...o(c)):n(a[g])?l(s[g]?.(...c)??[],(t=>i(...c,t))):i(...c,a[g])};i()}))]})(),U=t=>{t!=x&&(x=t,Q($,void 0,x))},V=e=>{(q&&o(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=x&&(U(1),F++,await tt((async()=>{await c((async()=>{const a=await e();o(a)?V(a):t?I(t):i("Content is not an array: "+a)}),(()=>{t&&I(t)})),U(0)}))),et),X=async()=>(N&&(await c((()=>v(N)),h),N=void 0),et),Z=async t=>(1!=x&&(U(2),Y++,await tt((async()=>{await c((()=>a(B,t)),h),U(0)}))),et),_=async()=>(P&&(t.delListener(P),P=void 0),et),tt=async(...t)=>(g(J(k,A),...t),await(async()=>{if(!J(j,A)){for(z(j,A,1);!n(M=u(J(k,A)));)await c(M,h);z(j,A,0)}})(),et),et={load:W,startAutoLoad:async t=>(X(),await W(t),await c((async()=>N=await w((async(t,e)=>{e||t?2!=x&&(U(1),F++,V(e??t),U(0)):await W()}))),h),et),stopAutoLoad:X,isAutoLoading:()=>!n(N),save:Z,startAutoSave:async()=>(_(),await Z(),P=t.addDidFinishTransactionListener((()=>{const t=G();H(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!n(P),getStatus:()=>x,addStatusListener:t=>K(t,$),delListener:e=>(R(e),t),schedule:tt,getStore:()=>t,destroy:async()=>(J(k,A).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:F,saves:Y}),...C};return f(et)},x="delete",F=t=>[t.get(e),t.get(a)],Y=(e,a,s,o)=>{const r=n(a)?e:e.get(a)??e.set(a,new t);let i;return A(s,((t,e)=>{o(r,e,t)&&(i=1)})),r.forEach(((t,e)=>{b(s,e)||(r.delete(e),i=1)})),n(a)||r.size||e.delete(a),i},$=(o,i,c="tinybase",g)=>{const d=i.getMap(c);return P(o,(async()=>d.size?[d.get(e).toJSON(),d.get(a).toJSON()]:void 0),(async(o,r)=>i.transact((()=>((o,r,i)=>{o.size||(o.set(e,new t),o.set(a,new t));const[c,l]=F(o),g=()=>{u=1};let u=1;if(s(i,(([t,e])=>{u=0,A(t,((t,e)=>u?0:n(t)?c.delete(e):s(c.get(e),(e=>A(t,((t,a)=>u?0:n(t)?e.delete(a):s(e.get(a),(e=>A(t,((t,a)=>n(t)?e.delete(a):e.set(a,t)))),g)))),g))),A(e,((t,e)=>u?0:n(t)?l.delete(e):l.set(e,t)))})),u){const[t,e]=r();Y(c,void 0,t,((t,e,a)=>Y(c,e,a,((t,e,a)=>Y(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),Y(l,void 0,e,((t,e,a)=>{l.get(e)!==a&&l.set(e,a)}))}})(d,o,r)))),(t=>{const n=n=>t(void 0,((t,n)=>{if(1==r(n)&&(o=n[0].path,0==r(o)))return[t.get(e).toJSON(),t.get(a).toJSON(),1];var o;const[i,c]=F(t),g={},d={};return l(n,(({path:t,changes:{keys:a}})=>u(t)==e?s(u(t),(e=>{const n=M(g,e,C),o=i.get(e);s(u(t),(t=>{const e=M(n,t,C),s=o.get(t);N(a,((t,{action:a})=>e[t]=a==x?null:s.get(t)))}),(()=>N(a,((t,{action:e})=>n[t]=e==x?null:o.get(t)?.toJSON()))))}),(()=>N(a,((t,{action:e})=>g[t]=e==x?null:i.get(t)?.toJSON())))):N(a,((t,{action:e})=>d[t]=e==x?null:c.get(t))))),[g,d,1]})(d,n));return d.observeDeep(n),n}),(t=>{d.unobserveDeep(t)}),g,1,{getYDoc:()=>i})};export{$ as createYjsPersister};
@@ -1 +1 @@
1
- const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i=Promise,r=clearInterval,o=a=>null==a,c=(a,t,e)=>o(a)?e?.():t(a),l=t=>a(t)==s,E=a=>Array.isArray(a),w=(a,t,e)=>a.slice(t,e),y=a=>a.length,d=async a=>i.all(a),u=a=>{throw Error(a)},R=(a,t)=>a.forEach(t),A=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),N=a=>0==y(a),g=(a,t)=>a.filter(t),O=(a,...t)=>a.push(...t),$=a=>a.shift(),p=(a,t)=>a?.has(t)??!1,m=a=>o(a)||0==(a=>a?.size??0)(a),v=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),L=(a,t)=>a?.delete(t),I=Object,S=a=>I.getPrototypeOf(a),_=I.entries,h=I.keys,b=I.freeze,f=(a=[])=>I.fromEntries(a),D=(...a)=>I.assign({},...a),M=(a,t)=>(delete a[t],a),P=(a,t)=>T(_(a),(([a,e])=>t(e,a))),F=(a,t)=>f(P(a,((a,e)=>[e,t(a,e)]))),U=a=>I.values(a),G=a=>y(h(a)),B=a=>(a=>!o(a)&&c(S(a),(a=>a==I.prototype||o(S(a))),(()=>!0)))(a)&&0==G(a),j=a=>new Map(a),Y=(a,t)=>a?.get(t),x=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),H=(a,t,e)=>o(e)?(L(a,t),a):a?.set(t,e),X=(a,t,e,n)=>(p(a,t)?n?.(Y(a,t)):H(a,t,e()),Y(a,t)),J=(a,t,e,n,s=0)=>c((e?X:Y)(a,t[s],s>y(t)-2?e:j),(i=>{if(s>y(t)-2)return n?.(i)&&H(a,t[s]),i;const r=J(i,t,e,n,s+1);return m(i)&&H(a,t[s]),r})),W=/^\d+$/,k=a=>new Set(E(a)||o(a)?a:[a]),q=(a,t)=>a?.add(t),z={Idle:0,Loading:1,Saving:2},K={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},V=j(),Q=j(),Z=(a,t,n,s,i,r,l,w={},d=0,A=[])=>{let T,N,g,p=0,v=0,I=0;X(V,A,(()=>0)),X(Q,A,(()=>[]));const S=j(),[_,h,f,D,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!B(a)||!B(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!B(a)||!B(t),t.setContent]:u("Store type not supported by this Persister"))(l,a,d),[P,F,U]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?$(a):null)??e+t++,t=>{W.test(t)&&y(a)<1e3&&O(a,t)}]})(),s=j();return[(n,i,r,o=[],c=()=>[])=>{a??=ea;const l=t(1);return H(s,l,[n,i,r,o,c]),q(J(i,r??[e],k),l),l},(t,n,...i)=>R(((a,t=[e])=>{const n=[],s=(a,e)=>e==y(t)?O(n,a):null===t[e]?C(a,(a=>s(a,e+1))):R([t[e],null],(t=>s(Y(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>Y(s,t)[0](a,...n??[],...i))))),a=>c(Y(s,a),(([,t,i])=>(J(t,i??[e],void 0,(t=>(L(t,a),m(t)?1:0))),H(s,a),n(a),i))),t=>c(Y(s,t),(([t,,e=[],n,s])=>{const i=(...r)=>{const c=y(r);c==y(e)?t(a,...r,...s(r)):o(e[c])?R(n[c]?.(...r)??[],(a=>i(...r,a))):i(...r,e[c])};i()}))]})(),G=a=>{a!=p&&(p=a,F(S,void 0,p))},x=t=>{(_&&E(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},z=async a=>(2!=p&&(G(1),v++,await ta((async()=>{try{const e=await t();E(e)?x(e):a?M(a):u("Content is not an array: "+e)}catch(t){r?.(t),a&&M(a)}G(0)}))),ea),K=()=>(N&&(i(N),N=void 0),ea),Z=async a=>(1!=p&&(G(2),I++,await ta((async()=>{try{await n(h,a)}catch(a){r?.(a)}G(0)}))),ea),aa=()=>(g&&(a.delListener(g),g=void 0),ea),ta=async(...a)=>(O(Y(Q,A),...a),await(async()=>{if(!Y(V,A)){for(H(V,A,1);!o(T=$(Y(Q,A)));)try{await T()}catch(a){r?.(a)}H(V,A,0)}})(),ea),ea={load:z,startAutoLoad:async a=>{K(),await z(a);try{N=await s((async(a,t)=>{t||a?2!=p&&(G(1),v++,x(t??a),G(0)):await z()}))}catch(a){r?.(a)}return ea},stopAutoLoad:K,isAutoLoading:()=>!o(N),save:Z,startAutoSave:async()=>(aa(),await Z(),g=a.addDidFinishTransactionListener((()=>{const a=f();D(a)&&Z(a)})),ea),stopAutoSave:aa,isAutoSaving:()=>!o(g),getStatus:()=>p,addStatusListener:a=>P(a,S),delListener:t=>(U(t),a),schedule:ta,getStore:()=>a,destroy:()=>(Y(Q,A).splice(0,void 0),K().stopAutoSave()),getStats:()=>({loads:v,saves:I}),...w};return b(ea)},aa=JSON.stringify,ta=JSON.parse,ea="_",na="_id",sa="SELECT",ia="WHERE",ra="TABLE",oa="ALTER "+ra,ca="DELETE FROM",la=sa+"*FROM",Ea="pragma_",wa="data_version",ya="schema_version",da="pragma_table_",ua=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,Ra=a=>`"${a.replace(/"/g,'""')}"`,Aa=(a,t=[1])=>A(T(a,(()=>"$"+t[0]++)),n),Ta="ColumnName",Na="store",ga="json",Oa=Na+"TableName",$a=Na+"Id"+Ta,pa=Na+Ta,ma="autoLoadIntervalSeconds",va="rowId"+Ta,Ca="tableId",La="tableName",Ia="deleteEmptyColumns",Sa="deleteEmptyTable",_a={mode:ga,[ma]:1},ha={load:0,save:0,[La]:t+"_values"},ba=(a,t,e,n,s)=>{const i=j();return F(a,((a,r)=>{const c=w(U(D(t,l(a)?{[e]:a}:a)),0,G(t));o(c[0])||n(r,c[0])||(s(r,c[0]),H(i,r,c))})),i},fa=a=>{const e=(a=>D(_a,l(a)?{[Oa]:a}:a??{}))(a),n=e[ma];if(e.mode==ga){const a=e[Oa]??t;return[1,n,[a,e[$a]??na,e[pa]??Na],k(a)]}const{tables:{load:s={},save:i={}}={},values:r={}}=e,o=w(U(D(ha,r)),0,G(ha)),c=o[2],E=k(c),y=k(c);return[0,n,[ba(s,{[Ca]:null,[va]:na},Ca,(a=>p(y,a)),(a=>q(E,a))),ba(i,{[La]:null,[va]:na,[Ia]:0,[Sa]:0},La,((a,t)=>p(y,t)),((a,t)=>q(E,t))),o],E]},Da=(a,t,e,s,i,r=Ma,c,l)=>{const E=j();return[async()=>{E.clear(),T(await e(a,t),(({tn:a,cn:t})=>q(X(E,a,k),t)))},async(t,e)=>((a,t)=>p(Y(E,a),t))(t,e)?f(g(T(await a(la+Ra(t)),(a=>[a[e],l?F(M(a,e),l):M(a,e)])),(([a,t])=>!o(a)&&!B(t)))):{},async(t,e,s,l,w,y=!1)=>{const u=k();F(s??{},(a=>T(h(a??{}),(a=>q(u,a)))));const R=v(u);if(!y&&w&&N(R)&&p(E,t))return await a("DROP "+ra+Ra(t)),void H(E,t);const $=Y(E,t),m=k(v($));if(N(R)||(p(E,t)?await d(T([e,...R],(async(n,s)=>{L(m,n)||(await a(oa+Ra(t)+"ADD"+Ra(n)+i),0==s&&await a("CREATE UNIQUE INDEX pk ON "+Ra(t)+`(${Ra(e)})`),q($,n))}))):(await a("CREATE "+ra+Ra(t)+`(${Ra(e)}${i} PRIMARY KEY${A(T(R,(a=>n+Ra(a)+i)))});`),H(E,t,k([e,...R])))),await d([...!y&&l?T(v(m),(async n=>{n!=e&&(await a(oa+Ra(t)+"DROP"+Ra(n)),L($,n))})):[]]),y)o(s)?await a(ca+Ra(t)+ia+" true"):await d(P(s,(async(n,s)=>{o(n)?await a(ca+Ra(t)+ia+Ra(e)+"=$1",[s]):N(R)||await r(a,t,e,h(n),{[s]:c?T(U(n),c):U(n)},$)})));else if(N(R))p(E,t)&&await a(ca+Ra(t)+ia+" true");else{const n=g(v(Y(E,t)),(a=>a!=e)),i={},o=[];F(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),O(o,t)})),await r(a,t,e,n,i),await a(ca+Ra(t)+ia+Ra(e)+`NOT IN(${Aa(o)})`,o)}},async t=>{let e;await a("BEGIN");try{e=await t()}catch(a){s?.(a)}return await a("END"),e}]},Ma=async(a,t,e,s,i)=>{const r=[1];await a("INSERT INTO"+Ra(t)+"("+((...a)=>A(T(a,Ra),n))(e,...s)+")VALUES"+A(P(i,(a=>"($"+r[0]+++","+Aa(a,r)+")")),n)+"ON CONFLICT("+Ra(e)+")DO UPDATE SET"+A(T(s,(a=>Ra(a)+"=excluded."+Ra(a))),n),P(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Pa=(a,t,e,n,s,i,r,[o,c,l],E,w,y,d,u,R)=>{const[A,T,N,g]=Da(t,E,w,s,u,R),O=Z(a,(async()=>await g((async()=>{return await A(),a=(await T(o,c))[ea]?.[l]??"null",ta(a,((a,t)=>""===t?void 0:t));var a}))),(async a=>await g((async()=>{var t;await A(),await N(o,c,{[ea]:{[l]:(t=a()??null,aa(t,((a,t)=>void 0===t?"":t)))}},!0,!0)}))),e,n,s,r,{[d]:()=>y,destroy:()=>(O.stopAutoLoad().stopAutoSave(),i(),O)},0,y);return O},Fa=(a,t,e,n,s,i,r,[c,l,[E,w,y]],u,R,A,T,N,O,$,p)=>{const[m,v,C,L]=Da(t,u,R,s,N,O,$,p),I=async(a,t)=>await d(x(l,(async([e,n,s,i],r)=>{t&&!(r in a)||await C(e,n,a[r],s,i,t)}))),S=async(a,t)=>w?await C(y,na,{[ea]:a},!0,!0,t):null,_=Z(a,(async()=>await L((async()=>{await m();const a=await(async()=>f(g(await d(x(c,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!B(a[1])))))(),t=await(async()=>E?(await v(y,na))[ea]:{})();return B(a)&&o(t)?void 0:[a,t]}))),(async(a,t)=>await L((async()=>{if(await m(),o(t)){const[t,e]=a();await I(t),await S(e)}else await I(t[0],!0),await S(t[1],!0)}))),e,n,s,r,{[T]:()=>A,destroy:()=>(_.stopAutoLoad().stopAutoSave(),i(),_)},0,A);return _},Ua=t,Ga=/^([cd]:)(.+)/,Ba=t+"_data",ja=t+"_table",Ya=(a,t,e,n,s,i,r,o,l,E,w="getDb")=>{const y=ua(e,i),[u,,R,A]=fa(t),N=async a=>{await y(`CREATE OR REPLACE TRIGGER ${Ra(Ba+"_"+a)} AFTER INSERT OR UPDATE OR DELETE ON ${Ra(a)} EXECUTE FUNCTION ${Ba}()`)};return(u?Pa:Fa)(a,y,(async a=>{await y(`CREATE OR REPLACE FUNCTION ${ja}()RETURNS event_trigger AS $t2$ DECLARE row record; BEGIN FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()WHERE command_tag='CREATE TABLE' LOOP PERFORM pg_notify('${Ua}','c:'||SPLIT_PART(row.object_identity,'.',2));END LOOP;END;$t2$ LANGUAGE plpgsql;`);try{await y(`CREATE EVENT TRIGGER ${ja} ON ddl_command_end WHEN TAG IN('CREATE TABLE')EXECUTE FUNCTION ${ja}();`)}catch{}return await y(`CREATE OR REPLACE FUNCTION ${Ba}()RETURNS trigger AS $t1$ BEGIN PERFORM pg_notify('${Ua}','d:'||TG_TABLE_NAME);RETURN NULL;END;$t1$ LANGUAGE plpgsql;`),await d(T(v(A),(async a=>{await y(`CREATE TABLE IF NOT EXISTS ${Ra(a)}("_id"text PRIMARY KEY)`),await N(a)}))),await n(Ua,(async t=>{return await c((e=t,n=Ga,e?.match(n)),(async([,t,e])=>{p(A,e)&&("c:"==t&&await N(e),a())}));var e,n}))}),s,r,o,l,R,v(A),(async(a,t)=>await a(`${sa} table_name tn,column_name cn FROM information_schema.columns ${ia} table_schema='public'AND table_name IN(${Aa(t)})`,t)),E,w,"text",void 0,(a=>aa(a)),(a=>ta(a)))},xa=(a,t,n,s,i,o,c,l,E,w,y="getDb",d)=>{let u,R,A;const T=ua(n,o),[N,g,O,$]=fa(t);return(N?Pa:Fa)(a,T,(a=>{let t;const e=()=>t=setInterval((async()=>{try{const[{d:t,s:e,c:n}]=await T(`${sa} ${wa} d,${ya} s,TOTAL_CHANGES() c FROM ${Ea}${wa} JOIN ${Ea}${ya}`);t==u&&e==R&&n==A||(null!=u&&a(),u=t,R=e,A=n)}catch{}}),1e3*g),n=()=>{u=R=A=null,r(t)},o=s((t=>{$.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),c,l,E,O,v($),(async(a,t)=>await a(`${sa} t.name tn,c.name cn FROM ${da}list()t,${da}info(t.name)c ${ia} t.schema='main'AND t.type IN('table','view')AND t.name IN(${Aa(t)})ORDER BY t.name,c.name`,t)),w,y,e,d,(a=>!0===a?1:!1===a?0:a),void 0)};export{K as Persists,z as Status,Z as createCustomPersister,Ya as createCustomPostgreSqlPersister,xa as createCustomSqlitePersister};
1
+ const a=a=>typeof a,t="tinybase",e="",n=",",s=a(e),i="true",o=(a,t,e)=>a.replace(t,e),r=Promise,c=globalThis,l=clearInterval,w=a=>null==a,d=(a,t,e)=>w(a)?e?.():t(a),y=t=>a(t)==s,u=a=>Array.isArray(a),E=(a,t,e)=>a.slice(t,e),N=a=>a.length,$=async a=>r.all(a),A=a=>{throw Error(a)},g=async(a,t,e)=>{try{return await a()}catch(a){t?.(a)}},O=(a,t)=>a.forEach(t),m=(a,t="")=>a.join(t),T=(a,t)=>a.map(t),p=a=>0==N(a),v=(a,t)=>a.filter(t),R=(a,...t)=>a.push(...t),S=a=>a.shift(),I=(a,t)=>a?.has(t)??!1,_=a=>w(a)||0==(a=>a?.size??0)(a),L=a=>[...a?.values()??[]],C=(a,t)=>a?.forEach(t),b=(a,t)=>a?.delete(t),D=Object,f=a=>D.getPrototypeOf(a),h=D.entries,M=D.keys,F=D.freeze,P=(a=[])=>D.fromEntries(a),U=(...a)=>D.assign({},...a),G=(a,t)=>(delete a[t],a),j=(a,t)=>T(h(a),(([a,e])=>t(e,a))),x=(a,t)=>P(j(a,((a,e)=>[e,t(a,e)]))),B=a=>D.values(a),H=a=>N(M(a)),W=a=>(a=>!w(a)&&d(f(a),(a=>a==D.prototype||w(f(a))),(()=>!0)))(a)&&0==H(a),Y=a=>new Map(a),X=(a,t)=>a?.get(t),J=(a,t)=>T([...a?.entries()??[]],(([a,e])=>t(e,a))),k=(a,t,e)=>w(e)?(b(a,t),a):a?.set(t,e),z=(a,t,e,n)=>(I(a,t)?n?.(X(a,t)):k(a,t,e()),X(a,t)),K=(a,t,e,n,s=0)=>d((e?z:X)(a,t[s],s>N(t)-2?e:Y),(i=>{if(s>N(t)-2)return n?.(i)&&k(a,t[s]),i;const o=K(i,t,e,n,s+1);return _(i)&&k(a,t[s]),o})),V=/^\d+$/,q=a=>new Set(u(a)||w(a)?a:[a]),Q=(a,t)=>a?.add(t),Z={Idle:0,Loading:1,Saving:2},aa={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ta=Y(),ea=Y(),na=(a,t,n,s,i,o,r,c={},l=0,y=[])=>{let E,$,m,T=0,p=0,v=0;z(ta,y,(()=>0)),z(ea,y,(()=>[]));const I=Y(),[L,D,f,h,M]=((a=1,t,e)=>1!=a&&t.isMergeable()?[1,t.getMergeableContent,()=>t.getTransactionMergeableChanges(!e),([[a],[t]])=>!W(a)||!W(t),t.setDefaultContent]:2!=a?[0,t.getContent,t.getTransactionChanges,([a,t])=>!W(a)||!W(t),t.setContent]:A("Store type not supported by this Persister"))(r,a,l),[P,U,G]=(()=>{let a;const[t,n]=(()=>{const a=[];let t=0;return[n=>(n?S(a):null)??e+t++,t=>{V.test(t)&&N(a)<1e3&&R(a,t)}]})(),s=Y();return[(n,i,o,r=[],c=()=>[])=>{a??=na;const l=t(1);return k(s,l,[n,i,o,r,c]),Q(K(i,o??[e],q),l),l},(t,n,...i)=>O(((a,t=[e])=>{const n=[],s=(a,e)=>e==N(t)?R(n,a):null===t[e]?C(a,(a=>s(a,e+1))):O([t[e],null],(t=>s(X(a,t),e+1)));return s(a,0),n})(t,n),(t=>C(t,(t=>X(s,t)[0](a,...n??[],...i))))),a=>d(X(s,a),(([,t,i])=>(K(t,i??[e],void 0,(t=>(b(t,a),_(t)?1:0))),k(s,a),n(a),i))),t=>d(X(s,t),(([t,,e=[],n,s])=>{const i=(...o)=>{const r=N(o);r==N(e)?t(a,...o,...s(o)):w(e[r])?O(n[r]?.(...o)??[],(a=>i(...o,a))):i(...o,e[r])};i()}))]})(),j=a=>{a!=T&&(T=a,U(I,void 0,T))},x=t=>{(L&&u(t?.[0])?1===t?.[2]?a.applyMergeableChanges:a.setMergeableContent:1===t?.[2]?a.applyChanges:a.setContent)(t)},B=async a=>(2!=T&&(j(1),p++,await aa((async()=>{await g((async()=>{const e=await t();u(e)?x(e):a?M(a):A("Content is not an array: "+e)}),(()=>{a&&M(a)})),j(0)}))),na),H=async()=>($&&(await g((()=>i($)),o),$=void 0),na),J=async a=>(1!=T&&(j(2),v++,await aa((async()=>{await g((()=>n(D,a)),o),j(0)}))),na),Z=async()=>(m&&(a.delListener(m),m=void 0),na),aa=async(...a)=>(R(X(ea,y),...a),await(async()=>{if(!X(ta,y)){for(k(ta,y,1);!w(E=S(X(ea,y)));)await g(E,o);k(ta,y,0)}})(),na),na={load:B,startAutoLoad:async a=>(H(),await B(a),await g((async()=>$=await s((async(a,t)=>{t||a?2!=T&&(j(1),p++,x(t??a),j(0)):await B()}))),o),na),stopAutoLoad:H,isAutoLoading:()=>!w($),save:J,startAutoSave:async()=>(Z(),await J(),m=a.addDidFinishTransactionListener((()=>{const a=f();h(a)&&J(a)})),na),stopAutoSave:Z,isAutoSaving:()=>!w(m),getStatus:()=>T,addStatusListener:a=>P(a,I),delListener:t=>(G(t),a),schedule:aa,getStore:()=>a,destroy:async()=>(X(ea,y).splice(0,void 0),await na.stopAutoLoad(),await na.stopAutoSave()),getStats:()=>({loads:p,saves:v}),...c};return F(na)},sa=new c.TextEncoder,ia=JSON.stringify,oa=JSON.parse,ra=a=>ia(a,((a,t)=>void 0===t?"":t)),ca="_",la="_id",wa="SELECT",da="WHERE",ya="TABLE",ua="INSERT",Ea="DELETE",Na="UPDATE",$a="ALTER "+ya,Aa="FROM",ga=Ea+" "+Aa,Oa=wa+"*"+Aa,ma="pragma_",Ta="data_version",pa="schema_version",va="pragma_table_",Ra="CREATE ",Sa=Ra+ya,Ia="OR REPLACE ",_a="FUNCTION",La="$tableName",Ca=(a,t)=>t?async(e,n)=>(t(e,n),await a(e,n)):a,ba=a=>`"${o(a,/"/g,'""')}"`,Da=(...a)=>ba(m(a,"_")),fa=(a,t=[1])=>m(T(a,(()=>"$"+t[0]++)),n),ha=(a,t=i)=>da+`(${o(t,La,ba(a))})`,Ma="ColumnName",Fa="store",Pa="json",Ua=Fa+"TableName",Ga=Fa+"Id"+Ma,ja=Fa+Ma,xa="autoLoadIntervalSeconds",Ba="rowId"+Ma,Ha="tableId",Wa="tableName",Ya="deleteEmptyColumns",Xa="deleteEmptyTable",Ja="condition",ka={mode:Pa,[xa]:1},za={load:0,save:0,[Wa]:t+"_values"},Ka=(a,t,e,n,s)=>{const i=Y();return x(a,((a,o)=>{const r=E(B(U(t,y(a)?{[e]:a}:a)),0,H(t));w(r[0])||n(o,r[0])||(s(o,r[0]),k(i,o,r))})),i},Va=a=>{const e=(a=>U(ka,y(a)?{[Ua]:a}:a??{}))(a),n=e[xa];if(e.mode==Pa){const a=e[Ua]??t;return[1,n,[a,e[Ga]??la,e[ja]??Fa],q(a)]}const{tables:{load:s={},save:o={}}={},values:r={}}=e,c=E(B(U(za,r)),0,H(za)),l=c[2],w=q(l),d=q(l),u=Ka(s,{[Ha]:null,[Ba]:la,[Ja]:i},Ha,(a=>I(d,a)),(a=>Q(w,a))),N=Ka(o,{[Wa]:null,[Ba]:la,[Ya]:0,[Xa]:0,[Ja]:null},Wa,((a,t)=>I(d,t)),((a,t)=>Q(w,t)));var $;return $=(a,t)=>t[4]??=X(u,t[0])?.[2]??i,C(N,((a,t)=>$(0,a))),[0,n,[u,N,c],w]},qa=(a,t,e,s,o,r=Qa,c,l)=>{const d=Y();return[async()=>{d.clear(),T(await e(a,t),(({tn:a,cn:t})=>Q(z(d,a,q),t)))},async(t,e,n)=>((a,t)=>I(X(d,a),t))(t,e)?P(v(T(await a(Oa+ba(t)+ha(t,n)),(a=>[a[e],l?x(G(a,e),l):G(a,e)])),(([a,t])=>!w(a)&&!W(t)))):{},async(t,e,s,l,y,u=!1,E=i)=>{const N=q();x(s??{},(a=>T(M(a??{}),(a=>Q(N,a)))));const A=L(N);if(!u&&y&&E==i&&p(A)&&I(d,t))return await a("DROP "+ya+ba(t)),void k(d,t);const g=X(d,t),O=q(L(g));if(p(A)||(I(d,t)?await $(T([e,...A],(async(n,s)=>{b(O,n)||(await a($a+ba(t)+"ADD"+ba(n)+o),0==s&&await a("CREATE UNIQUE INDEX pk ON "+ba(t)+`(${ba(e)})`),Q(g,n))}))):(await a(Sa+ba(t)+`(${ba(e)}${o} PRIMARY KEY${m(T(A,(a=>n+ba(a)+o)))});`),k(d,t,q([e,...A])))),await $([...!u&&l?T(L(O),(async n=>{n!=e&&(await a($a+ba(t)+"DROP"+ba(n)),b(g,n))})):[]]),u)w(s)?await a(ga+ba(t)+ha(t,E)):await $(j(s,(async(n,s)=>{w(n)?await a(ga+ba(t)+ha(t,E)+`AND(${ba(e)}=$1)`,[s]):p(A)||await r(a,t,e,M(n),{[s]:c?T(B(n),c):B(n)},g)})));else if(p(A))I(d,t)&&await a(ga+ba(t)+ha(t,E));else{const n=v(L(X(d,t)),(a=>a!=e)),i={},o=[];x(s??{},((a,t)=>{i[t]=T(n,(t=>c?c(a?.[t]):a?.[t])),R(o,t)})),await r(a,t,e,n,i),await a(ga+ba(t)+ha(t,E)+`AND${ba(e)}NOT IN(${fa(o)})`,o)}},async t=>{let e;return await a("BEGIN"),await g((async()=>e=await t()),s),await a("END"),e}]},Qa=async(a,t,e,s,i)=>{const o=[1];await a(ua+" INTO"+ba(t)+"("+((...a)=>m(T(a,ba),n))(e,...s)+")VALUES"+m(j(i,(a=>"($"+o[0]+++","+fa(a,o)+")")),n)+"ON CONFLICT("+ba(e)+`)DO ${Na} SET`+m(T(s,(a=>ba(a)+"=excluded."+ba(a))),n),j(i,((a,t)=>[t,...T(a,(a=>a??null))])).flat())},Za=(a,t,e,n,s,i,o,[r,c,l],w,d,y,u,E,N)=>{const[$,A,g,O]=qa(t,w,d,s,E,N),m=na(a,(()=>O((async()=>{return await $(),a=(await A(r,c))[ca]?.[l]??"null",oa(a,((a,t)=>""===t?void 0:t));var a}))),(a=>O((async()=>{await $(),await g(r,c,{[ca]:{[l]:ra(a()??null)}},!0,!0)}))),e,n,s,o,{[u]:()=>y,destroy:async()=>(await m.stopAutoLoad(),await m.stopAutoSave(),i(),m)},0,y);return m},at=(a,t,e,n,s,i,o,[r,c,[l,d,y]],u,E,N,A,g,O,m,T)=>{const[p,R,S,I]=qa(t,u,E,s,g,O,m,T),_=(a,t)=>$(J(c,(async([e,n,s,i,o],r)=>{t&&!(r in a)||await S(e,n,a[r],s,i,t,o)}))),L=async(a,t)=>d?await S(y,la,{[ca]:a},!0,!0,t):null,C=na(a,(()=>I((async()=>{await p();const a=await(async()=>P(v(await $(J(r,(async([a,t,e],n)=>[a,await R(n,t,e)]))),(a=>!W(a[1])))))(),t=await(async()=>l?(await R(y,la))[ca]:{})();return W(a)&&w(t)?void 0:[a,t]}))),((a,t)=>I((async()=>{if(await p(),w(t)){const[t,e]=a();await _(t),await L(e)}else await _(t[0],!0),await L(t[1],!0)}))),e,n,s,o,{[A]:()=>N,destroy:async()=>(await C.stopAutoLoad(),await C.stopAutoSave(),i(),C)},0,N);return C},tt=/^([cd]:)(.+)/,et=(a,n,s,r,c,l,w,y,u,E,N="getDb")=>{const A=Ca(s,l),[g,,p,v]=Va(n),R=e+(a=>{let t=2166136261;return O(sa.encode(a),(a=>{t^=a,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)})),t>>>0})(ra(p)),S=t+"_"+R,_=async(a,e,n="",s="")=>{const i=Da(t,a,R);return await A(Ra+Ia+_a+i+`()RETURNS ${n}trigger AS $$ ${s}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),i},C=async(a,t,e,n)=>(await A(Ra+a+"TRIGGER"+t+e+"EXECUTE "+_a+n+"()"),t),b=a=>`PERFORM pg_notify('${S}',${a});`,D=(a,t)=>g?i:2===t?D(a,0)+" OR "+D(a,1):o(X(p[0],a)?.[2]??i,La,0==t?"NEW":"OLD"),f=(a,e)=>$(T([ua,Ea,Na],((n,s)=>C(Ia,Da(t,"d",R,a,n),`AFTER ${n} ON${ba(a)}FOR EACH ROW WHEN(${D(a,s)})`,e))));return(g?Za:at)(a,A,(async a=>{const e=await _("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${da} command_tag='${Sa}' LOOP ${b("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");await C("EVENT ",Da(t,"c",R),`ON ddl_command_end WHEN TAG IN('${Sa}')`,e);const n=await _("d",b("'d:'||TG_TABLE_NAME")+"RETURN NULL;");return await $(T(L(v),(async a=>(await A(Sa+` IF NOT EXISTS${ba(a)}("_id"text PRIMARY KEY)`),await f(a,n))))),[await r(S,(t=>{return d((e=t,s=tt,e?.match(s)),(async([,t,e])=>{I(v,e)&&("c:"==t&&await f(e,n),a())}));var e,s})),[e,n]]}),(async([a,t])=>{c(a),await A(`DROP FUNCTION IF EXISTS${m(t,",")}CASCADE`)}),w,y,u,p,L(v),(async(a,t)=>await a(wa+` table_name tn,column_name cn FROM information_schema.columns ${da} table_schema='public'AND table_name IN(${fa(t)})`,t)),E,N,"text",void 0,(a=>ia(a)),(a=>oa(a)))},nt=(a,t,n,s,i,o,r,c,w,d,y="getDb",u)=>{let E,N,$;const A=Ca(n,o),[O,m,T,p]=Va(t);return(O?Za:at)(a,A,(a=>{let t;const e=()=>t=setInterval((()=>g((async()=>{const[{d:t,s:e,c:n}]=await A(wa+` ${Ta} d,${pa} s,TOTAL_CHANGES() c FROM ${ma}${Ta} JOIN ${ma}${pa}`);t==E&&e==N&&n==$||(null!=E&&a(),E=t,N=e,$=n)}))),1e3*m),n=()=>{E=N=$=null,l(t)},o=s((t=>{p.has(t)&&(n(),a(),e())}));return e(),()=>{n(),i(o)}}),(a=>a()),r,c,w,T,L(p),(async(a,t)=>await a(wa+` t.name tn,c.name cn FROM ${va}list()t,${va}info(t.name)c ${da} t.schema='main'AND t.type IN('table','view')AND t.name IN(${fa(t)})ORDER BY t.name,c.name`,t)),d,y,e,u,(a=>!0===a?1:!1===a?0:a),void 0)};export{aa as Persists,Z as Status,na as createCustomPersister,et as createCustomPostgreSqlPersister,nt as createCustomSqlitePersister};
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==a,p=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},P=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),k=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),A=e=>t=>{return s=(t,s)=>t+e(s),$(t).reduce(s,0);var s},N=e=>e?.size??0,j=A(N),x=A(j),D=A(x),H=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==N(e),$=e=>[...e?.values()??[]],q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),K=Object,Q=e=>K.getPrototypeOf(e),U=K.entries,X=K.isFrozen,Y=e=>!m(e)&&y(Q(e),(e=>e==K.prototype||m(Q(e))),(()=>!0)),Z=K.keys,_=K.freeze,ee=(e,t)=>t in e,te=(e,t)=>(delete e[t],e),se=(e,t)=>((e=[])=>K.fromEntries(e))(((e,t)=>O(U(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ae=e=>Y(e)&&0==(e=>E(Z(e)))(e),le=(e,t,s,a=0)=>m(e)||!Y(e)||!a&&ae(e)||X(e)?(s?.(),!1):(((e,t)=>{F(U(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||te(e,a)})),!!a||!ae(e)),ne=e=>new Map(e),oe=e=>[...e?.keys()??[]],re=(e,t)=>e?.get(t),ie=(e,t)=>B(e,((e,s)=>t(s,e))),ce=(e,t,s)=>m(s)?(G(e,t),e):e?.set(t,s),de=(e,t,s,a)=>(H(e,t)?a?.(re(e,t)):ce(e,t,s()),re(e,t)),ue=(e,t,s,a=ce)=>(se(t,((t,a)=>s(e,a,t))),ie(e,(s=>ee(t,s)?0:a(e,s))),e),he=(e,t,s,a)=>{const l={};return B(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},fe=(e,t,s)=>he(e,(e=>he(e,t,s)),W,ae),ge=(e,t,s)=>he(e,(e=>fe(e,t,s)),W,ae),Te=(e,t)=>{const s=ne();return B(e,((e,a)=>s.set(a,t?.(e)??e))),s},be=e=>Te(e,Te),ve=e=>Te(e,be),Ce=(e,t,s,a,l=0)=>y((s?de:re)(e,t[l],l>E(t)-2?s:ne),(n=>{if(l>E(t)-2)return a?.(n)&&ce(e,t[l]),n;const o=Ce(n,t,s,a,l+1);return W(n)&&ce(e,t[l]),o})),Ve=JSON.stringify,we=JSON.parse,Se=e=>Ve(e,((e,t)=>t instanceof Map?K.fromEntries([...t]):t)),Ie=/^\d+$/,me=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ie.test(t)&&E(e)<1e3&&z(e,t)}]},ye=e=>new Set(L(e)||m(e)?e:[e]),Re=(e,t)=>e?.add(t),pe=e=>[e,e],Le=(e,t=j)=>t(e[0])+t(e[1]),Je=()=>[ne(),ne()],Ee=e=>[...e],Fe=([e,t])=>e===t,Oe=(e,t,s)=>ce(e,t,re(e,t)==-s?void 0:s),ze=()=>{let e,s,a=!1,n=!1,c=0,I=[];const A=ne(),$=ne(),K=ne(),Q=ne(),U=ne(),X=ne(),Y=ne(),Z=ne(),Ve=ne(),Ie=ne(),Me=ne(),Pe=ne(),ke=ne(),Ae=ne(),Ne=ye(),je=ne(),xe=ne(),De=ne(),He=ne(),We=Je(),$e=Je(),qe=Je(),Be=Je(),Ge=Je(),Ke=Je(),Qe=Je(),Ue=Je(),Xe=Je(),Ye=Je(),Ze=Je(),_e=Je(),et=Je(),tt=Je(),st=Je(),at=Je(),lt=Je(),nt=Je(),ot=Je(),rt=Je(),it=Je(),ct=Je(),dt=ne(),ut=Je(),[ht,ft,gt,Tt]=(()=>{let e;const[s,a]=me(),l=ne();return[(a,n,o,r=[],i=()=>[])=>{e??=ks;const c=s(1);return ce(l,c,[a,n,o,r,i]),Re(Ce(n,o??[t],ye),c),c},(s,a,...n)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?B(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(re(e,s),t+1)));return l(e,0),a})(s,a),(t=>B(t,(t=>re(l,t)[0](e,...a??[],...n))))),e=>y(re(l,e),(([,s,n])=>(Ce(s,n??[t],void 0,(t=>(G(t,e),W(t)?1:0))),ce(l,e),a(e),n))),t=>y(re(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!le(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(M(e[r])!=t&&te(e,r),0))},vt=L,Ct=(t,s)=>(!e||H(Me,s)||Kt(s))&&le(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>le(a?s:mt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),wt=(t,s,a,l)=>e?y(re(re(Me,t),a),(e=>M(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):m(M(l))?Kt(t,s,a,l):l,St=(e,t)=>le(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),It=(e,t)=>s?y(re(ke,e),(s=>M(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):m(M(t))?Qt(e,t):t,mt=(e,t,s)=>(y(re(Pe,t),(([a,l])=>{B(a,((t,s)=>{ee(e,s)||(e[s]=t)})),B(l,(a=>{ee(e,a)||Kt(t,s,a)}))})),e),yt=e=>(s&&(B(Ae,((t,s)=>{ee(e,s)||(e[s]=t)})),B(Ne,(t=>{ee(e,t)||Qt(t)}))),e),Rt=e=>ue(Me,e,((e,t,s)=>{const a=ne(),l=ye();ue(de(Me,t,ne),s,((e,t,s)=>{ce(e,t,s),y(s[r],(e=>ce(a,t,e)),(()=>Re(l,t)))})),ce(Pe,t,[a,l])}),((e,t)=>{ce(Me,t),ce(Pe,t)})),pt=e=>ue(ke,e,((e,t,s)=>{ce(ke,t,s),y(s[r],(e=>ce(Ae,t,e)),(()=>Re(Ne,t)))}),((e,t)=>{ce(ke,t),ce(Ae,t),G(Ne,t)})),Lt=e=>ae(e)?ps():Ss(e),Jt=e=>ue(De,e,((e,t,s)=>Et(t,s)),((e,t)=>Nt(t))),Et=(e,t)=>ue(de(De,e,(()=>(Ht(e,1),ce(je,e,me()),ce(xe,e,ne()),ne()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>jt(e,t,s))),Ft=(e,t,s,a,l)=>ue(de(t,s,(()=>(Wt(e,s,1),ne()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>xt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{H(s,a)||$t(e,t,a,1);const n=re(s,a);l!==n&&(qt(e,t,a,n,l),ce(s,a,l))},zt=(e,t,s,a,l)=>y(re(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,mt({[a]:l},e,s)))),Mt=e=>ae(e)?Es():Is(e),Pt=e=>ue(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Dt(t))),kt=(e,t)=>{H(He,e)||Bt(e,1);const s=re(He,e);t!==s&&(Gt(e,s,t),ce(He,e,t))},At=e=>re(De,e)??Et(e,{}),Nt=e=>Et(e,{}),jt=(e,t,s)=>{const[,a]=re(je,e);a(s),Ft(e,t,s,{},!0)},xt=(e,t,s,a,l,n)=>{const o=re(re(Pe,e)?.[0],l);if(!m(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,re(a,t)),$t(e,s,t,-1),ce(a,t)};m(o)?r(l):ie(a,r),W(a)&&(Wt(e,s,-1),W(ce(t,s))&&(Ht(e,-1),ce(De,e),ce(je,e),ce(xe,e)))},Dt=e=>{const t=re(Ae,e);if(!m(t))return kt(e,t);Gt(e,re(He,e)),Bt(e,-1),ce(He,e)},Ht=(e,t)=>Oe(A,e,t),Wt=(e,t,s)=>Oe(de(Q,e,ne),t,s)&&ce(K,e,de(K,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=re(xe,e),n=re(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Oe(de($,e,ne),s,a),ce(l,s,n!=-a?n+a:null),Oe(de(de(U,e,ne),t,ne),s,a)},qt=(e,t,s,a,l)=>{de(de(de(X,e,ne),t,ne),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Oe(Y,e,t),Gt=(e,t,s)=>{de(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(de(de(de(Ve,e,ne),t,ne),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(de(Ie,e,(()=>[])),t),s),Ut=(e,t,s)=>y(re(re(re(X,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(ds(e,t,s))])),Xt=e=>y(re(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(fs(e))])),Yt=e=>W(Ve)||W(at[e])?0:B(e?ve(Ve):Ve,((t,s)=>B(t,((t,a)=>B(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>W(Ie)||W(lt[e])?0:B(e?Te(Ie):Ie,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!W(e))return ft(t,a,(()=>he(e))),ie(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(We[e],void 0,t);const s=W(Ye[e]),l=W(et[e])&&W(tt[e])&&W(Xe[e])&&W(Ze[e])&&W(Ke[e])&&W(Qe[e])&&W(Ue[e])&&s&&W(qe[e])&&W(Be[e]),n=W(st[e])&&W(_e[e])&&W(Ge[e])&&W($e[e]);if(!l||!n){const t=e?[Te(A),be($),Te(K),be(Q),ve(U),ve(X)]:[A,$,K,Q,U,X];if(!l){_t(t[0],qe[e],Be[e]),B(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),B(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=ye();B(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),Re(a,l))})),s||B(t[5],((t,s)=>{if(!H(a,s)){const a=ye();B(t,(e=>B(e,(([t,s],l)=>s!==t?Re(a,l):G(e,l))))),B(a,(t=>ft(Ye[e],[s,t])))}})),B(t[4],((t,s)=>B(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;B(t[5],((t,a)=>{let l;B(t,((t,n)=>{let o;B(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Ut),s=l=o=1)})),o&&ft(_e[e],[a,n],Ut)})),l&&ft(Ge[e],[a],Ut)})),s&&ft($e[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=n&&ft(nt[e],void 0,t);const s=W(rt[e])&&W(it[e]),a=W(ct[e])&&W(ot[e]);if(!s||!a){const t=e?[Te(Y),Te(Z)]:[Y,Z];if(s||_t(t[0],rt[e],it[e]),!a){let s;B(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Xt),s=1)})),s&&ft(ot[e],void 0,Xt)}}},ss=(e,...t)=>(zs((()=>e(...O(t,S)))),ks),as=()=>ge(De),ls=()=>oe(De),ns=e=>oe(re(xe,S(e))),os=e=>N(re(De,S(e))),rs=e=>oe(re(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=re(De,S(e)),r=(e,s)=>[m(t)?s:re(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>oe(re(re(De,S(e)),S(t))),ds=(e,t,s)=>re(re(re(De,S(e)),S(t)),S(s)),us=()=>he(He),hs=()=>oe(He),fs=e=>re(He,S(e)),gs=()=>!W(De),Ts=e=>H(De,S(e)),bs=(e,t)=>H(re(xe,S(e)),S(t)),vs=(e,t)=>H(re(De,S(e)),S(t)),Cs=(e,t,s)=>H(re(re(De,S(e)),S(t)),S(s)),Vs=()=>!W(He),ws=e=>H(He,S(e)),Ss=e=>ss((()=>(e=>le(e,Ct,Kt))(e)?Jt(e):0)),Is=e=>ss((()=>St(e)?Pt(e):0)),ms=e=>{try{Lt(we(e))}catch{}return ks},ys=t=>ss((()=>{if((e=le(t,(e=>le(e,bt))))&&(Rt(t),!W(De))){const e=as();ps(),Ss(e)}})),Rs=e=>ss((()=>{if(s=(e=>le(e,bt))(e)){const t=us();Os(),Es(),s=!0,pt(e),Is(t)}})),ps=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>H(De,e)?Nt(e):0),e),Js=(e,t)=>ss(((e,t)=>y(re(De,e),(s=>H(s,t)?jt(e,s,t):0))),e,t),Es=()=>ss((()=>Pt({}))),Fs=()=>ss((()=>{Rt({}),e=!1})),Os=()=>ss((()=>{pt({}),s=!1})),zs=(e,t)=>{if(-1!=c){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=c&&c++,1==c&&(I[0]?.(),ft(dt)),ks),Ps=e=>(c>0&&(c--,0==c&&(c=1,Yt(1),W(X)||es(1),Zt(1),W(Z)||ts(1),e?.(ks)&&(B(X,((e,t)=>B(e,((e,s)=>B(e,(([e],a)=>P(ks,t,s,a,e))))))),q(X),B(Z,(([e],t)=>k(ks,t,e))),q(Z)),ft(ut[0],void 0),c=-1,Yt(0),W(X)||es(0),Zt(0),W(Z)||ts(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),c=0,a=gs(),n=Vs(),F([A,$,K,Q,U,X,Ve,Y,Z,Ie],q))),ks),ks={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>fe(re(De,S(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>he(re(re(De,S(e)),S(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:ws,getTablesJson:()=>Se(De),getValuesJson:()=>Se(He),getJson:()=>Se([De,He]),getTablesSchemaJson:()=>Se(Me),getValuesSchemaJson:()=>Se(ke),getSchemaJson:()=>Se([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ss((()=>{const t=p(e)?e():e;vt(t)&&(([e,t])=>{(ae(e)?ps:Ss)(e),(ae(t)?Es:Is)(t)})(t)})),setTables:Ss,setTable:(e,t)=>ss((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>Vt(e,t,s)?Ft(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,At(e),a=((e,t)=>{const[s]=re(je,e);let a;do{a=s(t)}while(H(re(De,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(Vt(e,t,s,1)){const a=At(e);se(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>y(wt(e,t,s,p(a)?a(ds(e,t,s)):a),(a=>zt(e,At(e),t,s,a)))),e,t,s),setValues:Is,setPartialValues:e=>ss((()=>St(e,1)?se(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>ss((e=>y(It(e,p(t)?t(fs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>ss((()=>{se(e[0],((e,t)=>m(e)?Ls(t):se(e,((e,s)=>m(e)?Js(t,s):se(e,((e,a)=>P(ks,t,s,a,e))))))),se(e[1],((e,t)=>k(ks,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{Mt(we(e))}catch{}return ks},setJson:e=>ss((()=>{try{const[t,s]=we(e);Lt(t),Mt(s)}catch{ms(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ss((()=>{ys(e),Rs(t)})),delTables:ps,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>y(re(De,e),(l=>y(re(l,t),(n=>H(n,s)?xt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>H(He,e)?Dt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[he(X,((e,t)=>-1===re(A,t)?void 0:he(e,((e,s)=>-1===re(re(Q,t),s)?void 0:he(e,(([,e])=>e),(e=>Fe(e)))),W,ae)),W,ae),he(Z,(([,e])=>e),(e=>Fe(e))),1],getTransactionLog:()=>[!W(X),!W(Z),ge(X,Ee,Fe),ge(Ve),he(Z,Ee,Fe),he(Ie),he(A),fe(Q),ge(U),he(Y)],finishTransaction:Ps,forEachTable:e=>B(De,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(re(xe,S(e)),t),forEachRow:(e,t)=>B(re(De,S(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(re(re(De,S(e)),S(t)),s),forEachValue:e=>ie(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(ks,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ls])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),ks),delListener:e=>(gt(e),ks),getListenerStats:()=>({hasTables:Le(We),tables:Le($e),tableIds:Le(qe),hasTable:Le(Be),table:Le(Ge),tableCellIds:Le(Ke),hasTableCell:Le(Qe,x),rowCount:Le(Ue),rowIds:Le(Xe),sortedRowIds:Le(Ye),hasRow:Le(Ze,x),row:Le(_e,x),cellIds:Le(et,x),hasCell:Le(tt,D),cell:Le(st,D),invalidCell:Le(at,D),hasValues:Le(nt),values:Le(ot),valueIds:Le(rt),hasValue:Le(it),value:Le(ct),invalidValue:Le(lt),transaction:j(dt)+Le(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return se({[i+u]:[0,We,[],()=>[gs()]],[u]:[0,$e],[h]:[0,qe],[i+d]:[1,Be,[ls],e=>[Ts(...e)]],[d]:[1,Ge,[ls]],[d+v]:[1,Ke,[ls]],[i+d+b]:[2,Qe,[ls,ns],e=>[bs(...e)]],[g]:[1,Ue,[ls]],[T]:[1,Xe,[ls]],[i+f]:[2,Ze,[ls,rs],e=>[vs(...e)]],[f]:[2,_e,[ls,rs]],[v]:[2,et,[ls,rs]],[i+b]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[b]:[3,st,[ls,rs,cs],e=>pe(ds(...e))],InvalidCell:[3,at],[i+V]:[0,nt,[],()=>[Vs()]],[V]:[0,ot],[w]:[0,rt],[i+C]:[1,it,[hs],e=>[ws(...e)]],[C]:[1,ct,[hs],e=>pe(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{ks["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),_(ks)};export{ze as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),p=e=>e==s||e==a,y=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),M=(e,...t)=>e.push(...t),P=t=>{const s=e(t);return p(s)||s==l&&I(t)?s:void 0},k=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),A=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),N=e=>t=>{return s=(t,s)=>t+e(s),q(t).reduce(s,0);var s},j=e=>e?.size??0,x=N(j),D=N(x),H=N(D),W=(e,t)=>e?.has(t)??!1,$=e=>m(e)||0==j(e),q=e=>[...e?.values()??[]],B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=Object,U=e=>Q.getPrototypeOf(e),X=Q.entries,Y=Q.isFrozen,Z=e=>!m(e)&&R(U(e),(e=>e==Q.prototype||m(U(e))),(()=>!0)),_=Q.keys,ee=Q.freeze,te=(e,t)=>t in e,se=(e,t)=>(delete e[t],e),ae=(e,t)=>((e=[])=>Q.fromEntries(e))(((e,t)=>z(X(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),le=e=>Z(e)&&0==(e=>E(_(e)))(e),ne=(e,t,s,a=0)=>m(e)||!Z(e)||!a&&le(e)||Y(e)?(s?.(),!1):(((e,t)=>{O(X(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||se(e,a)})),!!a||!le(e)),oe=e=>new Map(e),re=e=>[...e?.keys()??[]],ie=(e,t)=>e?.get(t),ce=(e,t)=>G(e,((e,s)=>t(s,e))),de=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),ue=(e,t,s,a)=>(W(e,t)?a?.(ie(e,t)):de(e,t,s()),ie(e,t)),he=(e,t,s,a=de)=>(ae(t,((t,a)=>s(e,a,t))),ce(e,(s=>te(t,s)?0:a(e,s))),e),fe=(e,t,s,a)=>{const l={};return G(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},ge=(e,t,s)=>fe(e,(e=>fe(e,t,s)),$,le),Te=(e,t,s)=>fe(e,(e=>ge(e,t,s)),$,le),be=(e,t)=>{const s=oe();return G(e,((e,a)=>s.set(a,t?.(e)??e))),s},ve=e=>be(e,be),Ce=e=>be(e,ve),Ve=(e,t,s,a,l=0)=>R((s?ue:ie)(e,t[l],l>E(t)-2?s:oe),(n=>{if(l>E(t)-2)return a?.(n)&&de(e,t[l]),n;const o=Ve(n,t,s,a,l+1);return $(n)&&de(e,t[l]),o})),we=JSON.stringify,Se=JSON.parse,Ie=e=>we(e,((e,t)=>t instanceof Map?Q.fromEntries([...t]):t)),me=/^\d+$/,Re=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{me.test(t)&&E(e)<1e3&&M(e,t)}]},pe=e=>new Set(L(e)||m(e)?e:[e]),ye=(e,t)=>e?.add(t),Le=e=>[e,e],Je=(e,t=x)=>t(e[0])+t(e[1]),Ee=()=>[oe(),oe()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=(e,t,s)=>de(e,t,ie(e,t)==-s?void 0:s),Me=()=>{let e,s,a=!1,n=!1,c=0,I=[];const N=oe(),q=oe(),Q=oe(),U=oe(),X=oe(),Y=oe(),Z=oe(),_=oe(),we=oe(),me=oe(),Pe=oe(),ke=oe(),Ae=oe(),Ne=oe(),je=pe(),xe=oe(),De=oe(),He=oe(),We=oe(),$e=Ee(),qe=Ee(),Be=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),at=Ee(),lt=Ee(),nt=Ee(),ot=Ee(),rt=Ee(),it=Ee(),ct=Ee(),dt=Ee(),ut=oe(),ht=Ee(),[ft,gt,Tt,bt]=(()=>{let e;const[s,a]=Re(),l=oe();return[(a,n,o,r=[],i=()=>[])=>{e??=As;const c=s(1);return de(l,c,[a,n,o,r,i]),ye(Ve(n,o??[t],pe),c),c},(s,a,...n)=>O(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?M(a,e):null===s[t]?G(e,(e=>l(e,t+1))):O([s[t],null],(s=>l(ie(e,s),t+1)));return l(e,0),a})(s,a),(t=>G(t,(t=>ie(l,t)[0](e,...a??[],...n))))),e=>R(ie(l,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(K(t,e),$(t)?1:0))),de(l,e),a(e),n))),t=>R(ie(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?O(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),vt=e=>{if(!ne(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!p(t)&&t!=l||(P(e[r])!=t&&se(e,r),0))},Ct=L,Vt=(t,s)=>(!e||W(Pe,s)||Qt(s))&&ne(t,((e,t)=>wt(s,t,e)),(()=>Qt(s))),wt=(e,t,s,a)=>ne(a?s:Rt(s,e,t),((a,l)=>R(St(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),St=(t,s,a,l)=>e?R(ie(ie(Pe,t),a),(e=>P(l)!=e[o]?Qt(t,s,a,l,e[r]):l),(()=>Qt(t,s,a,l))):m(P(l))?Qt(t,s,a,l):l,It=(e,t)=>ne(t?e:pt(e),((t,s)=>R(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),mt=(e,t)=>s?R(ie(Ae,e),(s=>P(t)!=s[o]?Ut(e,t,s[r]):t),(()=>Ut(e,t))):m(P(t))?Ut(e,t):t,Rt=(e,t,s)=>(R(ie(ke,t),(([a,l])=>{G(a,((t,s)=>{te(e,s)||(e[s]=t)})),G(l,(a=>{te(e,a)||Qt(t,s,a)}))})),e),pt=e=>(s&&(G(Ne,((t,s)=>{te(e,s)||(e[s]=t)})),G(je,(t=>{te(e,t)||Ut(t)}))),e),yt=e=>he(Pe,e,((e,t,s)=>{const a=oe(),l=pe();he(ue(Pe,t,oe),s,((e,t,s)=>{de(e,t,s),R(s[r],(e=>de(a,t,e)),(()=>ye(l,t)))})),de(ke,t,[a,l])}),((e,t)=>{de(Pe,t),de(ke,t)})),Lt=e=>he(Ae,e,((e,t,s)=>{de(Ae,t,s),R(s[r],(e=>de(Ne,t,e)),(()=>ye(je,t)))}),((e,t)=>{de(Ae,t),de(Ne,t),K(je,t)})),Jt=e=>le(e)?Ls():Is(e),Et=e=>he(He,e,((e,t,s)=>Ft(t,s)),((e,t)=>jt(t))),Ft=(e,t)=>he(ue(He,e,(()=>(Wt(e,1),de(xe,e,Re()),de(De,e,oe()),oe()))),t,((t,s,a)=>Ot(e,t,s,a)),((t,s)=>xt(e,t,s))),Ot=(e,t,s,a,l)=>he(ue(t,s,(()=>($t(e,s,1),oe()))),a,((t,a,l)=>zt(e,s,t,a,l)),((a,n)=>Dt(e,t,s,a,n,l))),zt=(e,t,s,a,l)=>{W(s,a)||qt(e,t,a,1);const n=ie(s,a);l!==n&&(Bt(e,t,a,n,l),de(s,a,l))},Mt=(e,t,s,a,l)=>R(ie(t,s),(t=>zt(e,s,t,a,l)),(()=>Ot(e,t,s,Rt({[a]:l},e,s)))),Pt=e=>le(e)?Fs():ms(e),kt=e=>he(We,e,((e,t,s)=>At(t,s)),((e,t)=>Ht(t))),At=(e,t)=>{W(We,e)||Gt(e,1);const s=ie(We,e);t!==s&&(Kt(e,s,t),de(We,e,t))},Nt=e=>ie(He,e)??Ft(e,{}),jt=e=>Ft(e,{}),xt=(e,t,s)=>{const[,a]=ie(xe,e);a(s),Ot(e,t,s,{},!0)},Dt=(e,t,s,a,l,n)=>{const o=ie(ie(ke,e)?.[0],l);if(!m(o)&&!n)return zt(e,s,a,l,o);const r=t=>{Bt(e,s,t,ie(a,t)),qt(e,s,t,-1),de(a,t)};m(o)?r(l):ce(a,r),$(a)&&($t(e,s,-1),$(de(t,s))&&(Wt(e,-1),de(He,e),de(xe,e),de(De,e)))},Ht=e=>{const t=ie(Ne,e);if(!m(t))return At(e,t);Kt(e,ie(We,e)),Gt(e,-1),de(We,e)},Wt=(e,t)=>ze(N,e,t),$t=(e,t,s)=>ze(ue(U,e,oe),t,s)&&de(Q,e,ue(Q,e,(()=>0))+s),qt=(e,t,s,a)=>{const l=ie(De,e),n=ie(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ze(ue(q,e,oe),s,a),de(l,s,n!=-a?n+a:null),ze(ue(ue(X,e,oe),t,oe),s,a)},Bt=(e,t,s,a,l)=>{ue(ue(ue(Y,e,oe),t,oe),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Gt=(e,t)=>ze(Z,e,t),Kt=(e,t,s)=>{ue(_,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Qt=(e,t,s,a,l)=>(M(ue(ue(ue(we,e,oe),t,oe),s,(()=>[])),a),l),Ut=(e,t,s)=>(M(ue(me,e,(()=>[])),t),s),Xt=(e,t,s)=>R(ie(ie(ie(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(us(e,t,s))])),Yt=e=>R(ie(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(gs(e))])),Zt=e=>$(we)||$(lt[e])?0:G(e?Ce(we):we,((t,s)=>G(t,((t,a)=>G(t,((t,l)=>gt(lt[e],[s,a,l],t))))))),_t=e=>$(me)||$(nt[e])?0:G(e?be(me):me,((t,s)=>gt(nt[e],[s],t))),es=(e,t,s,a)=>{if(!$(e))return gt(t,a,(()=>fe(e))),ce(e,((e,t)=>gt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Ts();t!=a&&gt($e[e],void 0,t);const s=$(Ze[e]),l=$(tt[e])&&$(st[e])&&$(Ye[e])&&$(_e[e])&&$(Qe[e])&&$(Ue[e])&&$(Xe[e])&&s&&$(Be[e])&&$(Ge[e]),n=$(at[e])&&$(et[e])&&$(Ke[e])&&$(qe[e]);if(!l||!n){const t=e?[be(N),ve(q),be(Q),ve(U),Ce(X),Ce(Y)]:[N,q,Q,U,X,Y];if(!l){es(t[0],Be[e],Ge[e]),G(t[1],((t,s)=>es(t,Qe[e],Ue[e],[s]))),G(t[2],((t,s)=>{0!=t&&gt(Xe[e],[s],rs(s))}));const a=pe();G(t[3],((t,l)=>{es(t,Ye[e],_e[e],[l])&&!s&&(gt(Ze[e],[l,null]),ye(a,l))})),s||G(t[5],((t,s)=>{if(!W(a,s)){const a=pe();G(t,(e=>G(e,(([t,s],l)=>s!==t?ye(a,l):K(e,l))))),G(a,(t=>gt(Ze[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,a)=>es(t,tt[e],st[e],[s,a])))))}if(!n){let s;G(t[5],((t,a)=>{let l;G(t,((t,n)=>{let o;G(t,(([t,r],i)=>{r!==t&&(gt(at[e],[a,n,i],r,t,Xt),s=l=o=1)})),o&&gt(et[e],[a,n],Xt)})),l&&gt(Ke[e],[a],Xt)})),s&&gt(qe[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&&gt(ot[e],void 0,t);const s=$(it[e])&&$(ct[e]),a=$(dt[e])&&$(rt[e]);if(!s||!a){const t=e?[be(Z),be(_)]:[Z,_];if(s||es(t[0],it[e],ct[e]),!a){let s;G(t[1],(([t,a],l)=>{a!==t&&(gt(dt[e],[l],a,t,Yt),s=1)})),s&&gt(rt[e],void 0,Yt)}}},as=(e,...t)=>(Ms((()=>e(...z(t,S)))),As),ls=()=>Te(He),ns=()=>re(He),os=e=>re(ie(De,S(e))),rs=e=>j(ie(He,S(e))),is=e=>re(ie(He,S(e))),cs=(e,t,s,a=0,l)=>{return z(J((o=ie(He,S(e)),r=(e,s)=>[m(t)?s:ie(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},ds=(e,t)=>re(ie(ie(He,S(e)),S(t))),us=(e,t,s)=>ie(ie(ie(He,S(e)),S(t)),S(s)),hs=()=>fe(We),fs=()=>re(We),gs=e=>ie(We,S(e)),Ts=()=>!$(He),bs=e=>W(He,S(e)),vs=(e,t)=>W(ie(De,S(e)),S(t)),Cs=(e,t)=>W(ie(He,S(e)),S(t)),Vs=(e,t,s)=>W(ie(ie(He,S(e)),S(t)),S(s)),ws=()=>!$(We),Ss=e=>W(We,S(e)),Is=e=>as((()=>(e=>ne(e,Vt,Qt))(e)?Et(e):0)),ms=e=>as((()=>It(e)?kt(e):0)),Rs=e=>(F((()=>Jt(Se(e)))),As),ps=t=>as((()=>{if((e=ne(t,(e=>ne(e,vt))))&&(yt(t),!$(He))){const e=ls();Ls(),Is(e)}})),ys=e=>as((()=>{if(s=(e=>ne(e,vt))(e)){const t=hs();zs(),Fs(),s=!0,Lt(e),ms(t)}})),Ls=()=>as((()=>Et({}))),Js=e=>as((e=>W(He,e)?jt(e):0),e),Es=(e,t)=>as(((e,t)=>R(ie(He,e),(s=>W(s,t)?xt(e,s,t):0))),e,t),Fs=()=>as((()=>kt({}))),Os=()=>as((()=>{yt({}),e=!1})),zs=()=>as((()=>{Lt({}),s=!1})),Ms=(e,t)=>{if(-1!=c){Ps();const s=e();return ks(t),s}},Ps=()=>(-1!=c&&c++,1==c&&(I[0]?.(),gt(ut)),As),ks=e=>(c>0&&(c--,0==c&&(c=1,Zt(1),$(Y)||ts(1),_t(1),$(_)||ss(1),e?.(As)&&(G(Y,((e,t)=>G(e,((e,s)=>G(e,(([e],a)=>k(As,t,s,a,e))))))),B(Y),G(_,(([e],t)=>A(As,t,e))),B(_)),gt(ht[0],void 0),c=-1,Zt(0),$(Y)||ts(0),_t(0),$(_)||ss(0),I[1]?.(),gt(ht[1],void 0),I[2]?.(),c=0,a=Ts(),n=ws(),O([N,q,Q,U,X,Y,we,Z,_,me],B))),As),As={getContent:()=>[ls(),hs()],getTables:ls,getTableIds:ns,getTable:e=>ge(ie(He,S(e))),getTableCellIds:os,getRowCount:rs,getRowIds:is,getSortedRowIds:cs,getRow:(e,t)=>fe(ie(ie(He,S(e)),S(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:fs,getValue:gs,hasTables:Ts,hasTable:bs,hasTableCell:vs,hasRow:Cs,hasCell:Vs,hasValues:ws,hasValue:Ss,getTablesJson:()=>Ie(He),getValuesJson:()=>Ie(We),getJson:()=>Ie([He,We]),getTablesSchemaJson:()=>Ie(Pe),getValuesSchemaJson:()=>Ie(Ae),getSchemaJson:()=>Ie([Pe,Ae]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=y(e)?e():e;Ct(t)&&(([e,t])=>{(le(e)?Ls:Is)(e),(le(t)?Fs:ms)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Ft(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Ot(e,Nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ms((()=>{let a;return wt(e,a,t)&&(e=S(e),Ot(e,Nt(e),a=((e,t)=>{const[s]=ie(xe,e);let a;do{a=s(t)}while(W(ie(He,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=Nt(e);ae(s,((s,l)=>Mt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>R(St(e,t,s,y(a)?a(us(e,t,s)):a),(a=>Mt(e,Nt(e),t,s,a)))),e,t,s),setValues:ms,setPartialValues:e=>as((()=>It(e,1)?ae(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>as((e=>R(mt(e,y(t)?t(gs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>as((()=>{ae(e[0],((e,t)=>m(e)?Js(t):ae(e,((e,s)=>m(e)?Es(t,s):ae(e,((e,a)=>k(As,t,s,a,e))))))),ae(e[1],((e,t)=>A(As,t,e)))})),setTablesJson:Rs,setValuesJson:e=>(F((()=>Pt(Se(e)))),As),setJson:e=>as((()=>F((()=>{const[t,s]=Se(e);Jt(t),Pt(s)}),(()=>Rs(e))))),setTablesSchema:ps,setValuesSchema:ys,setSchema:(e,t)=>as((()=>{ps(e),ys(t)})),delTables:Ls,delTable:Js,delRow:Es,delCell:(e,t,s,a)=>as(((e,t,s)=>R(ie(He,e),(l=>R(ie(l,t),(n=>W(n,s)?Dt(e,l,t,n,s,a):0))))),e,t,s),delValues:Fs,delValue:e=>as((e=>W(We,e)?Ht(e):0),e),delTablesSchema:Os,delValuesSchema:zs,delSchema:()=>as((()=>{Os(),zs()})),transaction:Ms,startTransaction:Ps,getTransactionChanges:()=>[fe(Y,((e,t)=>-1===ie(N,t)?void 0:fe(e,((e,s)=>-1===ie(ie(U,t),s)?void 0:fe(e,(([,e])=>e),(e=>Oe(e)))),$,le)),$,le),fe(_,(([,e])=>e),(e=>Oe(e))),1],getTransactionLog:()=>[!$(Y),!$(_),Te(Y,Fe,Oe),Te(we),fe(_,Fe,Oe),fe(me),fe(N),ge(U),Te(X),fe(Z)],finishTransaction:ks,forEachTable:e=>G(He,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(ie(De,S(e)),t),forEachRow:(e,t)=>G(ie(He,S(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(ie(ie(He,S(e)),S(t)),s),forEachValue:e=>ce(We,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=cs(e,t,s,a,l);return ft((()=>{const o=cs(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(As,e,t,s,a,l,r))}),Ze[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>ft(e,ut),addWillFinishTransactionListener:e=>ft(e,ht[0]),addDidFinishTransactionListener:e=>ft(e,ht[1]),callListener:e=>(bt(e),As),delListener:e=>(Tt(e),As),getListenerStats:()=>({hasTables:Je($e),tables:Je(qe),tableIds:Je(Be),hasTable:Je(Ge),table:Je(Ke),tableCellIds:Je(Qe),hasTableCell:Je(Ue,D),rowCount:Je(Xe),rowIds:Je(Ye),sortedRowIds:Je(Ze),hasRow:Je(_e,D),row:Je(et,D),cellIds:Je(tt,D),hasCell:Je(st,H),cell:Je(at,H),invalidCell:Je(lt,H),hasValues:Je(ot),values:Je(rt),valueIds:Je(it),hasValue:Je(ct),value:Je(dt),invalidValue:Je(nt),transaction:x(ut)+Je(ht)}),isMergeable:()=>!1,createStore:Me,addListener:ft,callListeners:gt,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return ae({[i+u]:[0,$e,[],()=>[Ts()]],[u]:[0,qe],[h]:[0,Be],[i+d]:[1,Ge,[ns],e=>[bs(...e)]],[d]:[1,Ke,[ns]],[d+v]:[1,Qe,[ns]],[i+d+b]:[2,Ue,[ns,os],e=>[vs(...e)]],[g]:[1,Xe,[ns]],[T]:[1,Ye,[ns]],[i+f]:[2,_e,[ns,is],e=>[Cs(...e)]],[f]:[2,et,[ns,is]],[v]:[2,tt,[ns,is]],[i+b]:[3,st,[ns,is,ds],e=>[Vs(...e)]],[b]:[3,at,[ns,is,ds],e=>Le(us(...e))],InvalidCell:[3,lt],[i+V]:[0,ot,[],()=>[ws()]],[V]:[0,rt],[w]:[0,it],[i+C]:[1,ct,[fs],e=>[Ss(...e)]],[C]:[1,dt,[fs],e=>Le(gs(e[0]))],InvalidValue:[1,nt]},(([e,t,s,a],l)=>{As["add"+l+"Listener"]=(...l)=>ft(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),ee(As)};export{Me as createStore};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,y=(e,t,s)=>m(e)?s?.():t(e),R=e=>e==s||e==a,p=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=(e,t)=>e.forEach(t),O=(e,t)=>e.map(t),z=(e,...t)=>e.push(...t),M=t=>{const s=e(t);return R(s)||s==l&&I(t)?s:void 0},P=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),k=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),A=e=>t=>{return s=(t,s)=>t+e(s),$(t).reduce(s,0);var s},N=e=>e?.size??0,j=A(N),x=A(j),D=A(x),H=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==N(e),$=e=>[...e?.values()??[]],q=e=>e.clear(),B=(e,t)=>e?.forEach(t),G=(e,t)=>e?.delete(t),K=Object,Q=e=>K.getPrototypeOf(e),U=K.entries,X=K.isFrozen,Y=e=>!m(e)&&y(Q(e),(e=>e==K.prototype||m(Q(e))),(()=>!0)),Z=K.keys,_=K.freeze,ee=(e,t)=>t in e,te=(e,t)=>(delete e[t],e),se=(e,t)=>((e=[])=>K.fromEntries(e))(((e,t)=>O(U(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),ae=e=>Y(e)&&0==(e=>E(Z(e)))(e),le=(e,t,s,a=0)=>m(e)||!Y(e)||!a&&ae(e)||X(e)?(s?.(),!1):(((e,t)=>{F(U(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||te(e,a)})),!!a||!ae(e)),ne=e=>new Map(e),oe=e=>[...e?.keys()??[]],re=(e,t)=>e?.get(t),ie=(e,t)=>B(e,((e,s)=>t(s,e))),ce=(e,t,s)=>m(s)?(G(e,t),e):e?.set(t,s),de=(e,t,s,a)=>(H(e,t)?a?.(re(e,t)):ce(e,t,s()),re(e,t)),ue=(e,t,s,a=ce)=>(se(t,((t,a)=>s(e,a,t))),ie(e,(s=>ee(t,s)?0:a(e,s))),e),he=(e,t,s,a)=>{const l={};return B(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},fe=(e,t,s)=>he(e,(e=>he(e,t,s)),W,ae),ge=(e,t,s)=>he(e,(e=>fe(e,t,s)),W,ae),Te=(e,t)=>{const s=ne();return B(e,((e,a)=>s.set(a,t?.(e)??e))),s},be=e=>Te(e,Te),ve=e=>Te(e,be),Ce=(e,t,s,a,l=0)=>y((s?de:re)(e,t[l],l>E(t)-2?s:ne),(n=>{if(l>E(t)-2)return a?.(n)&&ce(e,t[l]),n;const o=Ce(n,t,s,a,l+1);return W(n)&&ce(e,t[l]),o})),Ve=JSON.stringify,we=JSON.parse,Se=e=>Ve(e,((e,t)=>t instanceof Map?K.fromEntries([...t]):t)),Ie=/^\d+$/,me=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{Ie.test(t)&&E(e)<1e3&&z(e,t)}]},ye=e=>new Set(L(e)||m(e)?e:[e]),Re=(e,t)=>e?.add(t),pe=e=>[e,e],Le=(e,t=j)=>t(e[0])+t(e[1]),Je=()=>[ne(),ne()],Ee=e=>[...e],Fe=([e,t])=>e===t,Oe=(e,t,s)=>ce(e,t,re(e,t)==-s?void 0:s),ze=()=>{let e,s,a=!1,n=!1,c=0,I=[];const A=ne(),$=ne(),K=ne(),Q=ne(),U=ne(),X=ne(),Y=ne(),Z=ne(),Ve=ne(),Ie=ne(),Me=ne(),Pe=ne(),ke=ne(),Ae=ne(),Ne=ye(),je=ne(),xe=ne(),De=ne(),He=ne(),We=Je(),$e=Je(),qe=Je(),Be=Je(),Ge=Je(),Ke=Je(),Qe=Je(),Ue=Je(),Xe=Je(),Ye=Je(),Ze=Je(),_e=Je(),et=Je(),tt=Je(),st=Je(),at=Je(),lt=Je(),nt=Je(),ot=Je(),rt=Je(),it=Je(),ct=Je(),dt=ne(),ut=Je(),[ht,ft,gt,Tt]=(()=>{let e;const[s,a]=me(),l=ne();return[(a,n,o,r=[],i=()=>[])=>{e??=ks;const c=s(1);return ce(l,c,[a,n,o,r,i]),Re(Ce(n,o??[t],ye),c),c},(s,a,...n)=>F(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?z(a,e):null===s[t]?B(e,(e=>l(e,t+1))):F([s[t],null],(s=>l(re(e,s),t+1)));return l(e,0),a})(s,a),(t=>B(t,(t=>re(l,t)[0](e,...a??[],...n))))),e=>y(re(l,e),(([,s,n])=>(Ce(s,n??[t],void 0,(t=>(G(t,e),W(t)?1:0))),ce(l,e),a(e),n))),t=>y(re(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?F(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),bt=e=>{if(!le(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!R(t)&&t!=l||(M(e[r])!=t&&te(e,r),0))},vt=L,Ct=(t,s)=>(!e||H(Me,s)||Kt(s))&&le(t,((e,t)=>Vt(s,t,e)),(()=>Kt(s))),Vt=(e,t,s,a)=>le(a?s:mt(s,e,t),((a,l)=>y(wt(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Kt(e,t))),wt=(t,s,a,l)=>e?y(re(re(Me,t),a),(e=>M(l)!=e[o]?Kt(t,s,a,l,e[r]):l),(()=>Kt(t,s,a,l))):m(M(l))?Kt(t,s,a,l):l,St=(e,t)=>le(t?e:yt(e),((t,s)=>y(It(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Qt())),It=(e,t)=>s?y(re(ke,e),(s=>M(t)!=s[o]?Qt(e,t,s[r]):t),(()=>Qt(e,t))):m(M(t))?Qt(e,t):t,mt=(e,t,s)=>(y(re(Pe,t),(([a,l])=>{B(a,((t,s)=>{ee(e,s)||(e[s]=t)})),B(l,(a=>{ee(e,a)||Kt(t,s,a)}))})),e),yt=e=>(s&&(B(Ae,((t,s)=>{ee(e,s)||(e[s]=t)})),B(Ne,(t=>{ee(e,t)||Qt(t)}))),e),Rt=e=>ue(Me,e,((e,t,s)=>{const a=ne(),l=ye();ue(de(Me,t,ne),s,((e,t,s)=>{ce(e,t,s),y(s[r],(e=>ce(a,t,e)),(()=>Re(l,t)))})),ce(Pe,t,[a,l])}),((e,t)=>{ce(Me,t),ce(Pe,t)})),pt=e=>ue(ke,e,((e,t,s)=>{ce(ke,t,s),y(s[r],(e=>ce(Ae,t,e)),(()=>Re(Ne,t)))}),((e,t)=>{ce(ke,t),ce(Ae,t),G(Ne,t)})),Lt=e=>ae(e)?ps():Ss(e),Jt=e=>ue(De,e,((e,t,s)=>Et(t,s)),((e,t)=>Nt(t))),Et=(e,t)=>ue(de(De,e,(()=>(Ht(e,1),ce(je,e,me()),ce(xe,e,ne()),ne()))),t,((t,s,a)=>Ft(e,t,s,a)),((t,s)=>jt(e,t,s))),Ft=(e,t,s,a,l)=>ue(de(t,s,(()=>(Wt(e,s,1),ne()))),a,((t,a,l)=>Ot(e,s,t,a,l)),((a,n)=>xt(e,t,s,a,n,l))),Ot=(e,t,s,a,l)=>{H(s,a)||$t(e,t,a,1);const n=re(s,a);l!==n&&(qt(e,t,a,n,l),ce(s,a,l))},zt=(e,t,s,a,l)=>y(re(t,s),(t=>Ot(e,s,t,a,l)),(()=>Ft(e,t,s,mt({[a]:l},e,s)))),Mt=e=>ae(e)?Es():Is(e),Pt=e=>ue(He,e,((e,t,s)=>kt(t,s)),((e,t)=>Dt(t))),kt=(e,t)=>{H(He,e)||Bt(e,1);const s=re(He,e);t!==s&&(Gt(e,s,t),ce(He,e,t))},At=e=>re(De,e)??Et(e,{}),Nt=e=>Et(e,{}),jt=(e,t,s)=>{const[,a]=re(je,e);a(s),Ft(e,t,s,{},!0)},xt=(e,t,s,a,l,n)=>{const o=re(re(Pe,e)?.[0],l);if(!m(o)&&!n)return Ot(e,s,a,l,o);const r=t=>{qt(e,s,t,re(a,t)),$t(e,s,t,-1),ce(a,t)};m(o)?r(l):ie(a,r),W(a)&&(Wt(e,s,-1),W(ce(t,s))&&(Ht(e,-1),ce(De,e),ce(je,e),ce(xe,e)))},Dt=e=>{const t=re(Ae,e);if(!m(t))return kt(e,t);Gt(e,re(He,e)),Bt(e,-1),ce(He,e)},Ht=(e,t)=>Oe(A,e,t),Wt=(e,t,s)=>Oe(de(Q,e,ne),t,s)&&ce(K,e,de(K,e,(()=>0))+s),$t=(e,t,s,a)=>{const l=re(xe,e),n=re(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&Oe(de($,e,ne),s,a),ce(l,s,n!=-a?n+a:null),Oe(de(de(U,e,ne),t,ne),s,a)},qt=(e,t,s,a,l)=>{de(de(de(X,e,ne),t,ne),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Bt=(e,t)=>Oe(Y,e,t),Gt=(e,t,s)=>{de(Z,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Kt=(e,t,s,a,l)=>(z(de(de(de(Ve,e,ne),t,ne),s,(()=>[])),a),l),Qt=(e,t,s)=>(z(de(Ie,e,(()=>[])),t),s),Ut=(e,t,s)=>y(re(re(re(X,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(ds(e,t,s))])),Xt=e=>y(re(Z,e),(([e,t])=>[!0,e,t]),(()=>[!1,...pe(fs(e))])),Yt=e=>W(Ve)||W(at[e])?0:B(e?ve(Ve):Ve,((t,s)=>B(t,((t,a)=>B(t,((t,l)=>ft(at[e],[s,a,l],t))))))),Zt=e=>W(Ie)||W(lt[e])?0:B(e?Te(Ie):Ie,((t,s)=>ft(lt[e],[s],t))),_t=(e,t,s,a)=>{if(!W(e))return ft(t,a,(()=>he(e))),ie(e,((e,t)=>ft(s,[...a??[],e],1==t))),1},es=e=>{const t=gs();t!=a&&ft(We[e],void 0,t);const s=W(Ye[e]),l=W(et[e])&&W(tt[e])&&W(Xe[e])&&W(Ze[e])&&W(Ke[e])&&W(Qe[e])&&W(Ue[e])&&s&&W(qe[e])&&W(Be[e]),n=W(st[e])&&W(_e[e])&&W(Ge[e])&&W($e[e]);if(!l||!n){const t=e?[Te(A),be($),Te(K),be(Q),ve(U),ve(X)]:[A,$,K,Q,U,X];if(!l){_t(t[0],qe[e],Be[e]),B(t[1],((t,s)=>_t(t,Ke[e],Qe[e],[s]))),B(t[2],((t,s)=>{0!=t&&ft(Ue[e],[s],os(s))}));const a=ye();B(t[3],((t,l)=>{_t(t,Xe[e],Ze[e],[l])&&!s&&(ft(Ye[e],[l,null]),Re(a,l))})),s||B(t[5],((t,s)=>{if(!H(a,s)){const a=ye();B(t,(e=>B(e,(([t,s],l)=>s!==t?Re(a,l):G(e,l))))),B(a,(t=>ft(Ye[e],[s,t])))}})),B(t[4],((t,s)=>B(t,((t,a)=>_t(t,et[e],tt[e],[s,a])))))}if(!n){let s;B(t[5],((t,a)=>{let l;B(t,((t,n)=>{let o;B(t,(([t,r],i)=>{r!==t&&(ft(st[e],[a,n,i],r,t,Ut),s=l=o=1)})),o&&ft(_e[e],[a,n],Ut)})),l&&ft(Ge[e],[a],Ut)})),s&&ft($e[e],void 0,Ut)}}},ts=e=>{const t=Vs();t!=n&&ft(nt[e],void 0,t);const s=W(rt[e])&&W(it[e]),a=W(ct[e])&&W(ot[e]);if(!s||!a){const t=e?[Te(Y),Te(Z)]:[Y,Z];if(s||_t(t[0],rt[e],it[e]),!a){let s;B(t[1],(([t,a],l)=>{a!==t&&(ft(ct[e],[l],a,t,Xt),s=1)})),s&&ft(ot[e],void 0,Xt)}}},ss=(e,...t)=>(zs((()=>e(...O(t,S)))),ks),as=()=>ge(De),ls=()=>oe(De),ns=e=>oe(re(xe,S(e))),os=e=>N(re(De,S(e))),rs=e=>oe(re(De,S(e))),is=(e,t,s,a=0,l)=>{return O(J((o=re(De,S(e)),r=(e,s)=>[m(t)?s:re(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),O([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},cs=(e,t)=>oe(re(re(De,S(e)),S(t))),ds=(e,t,s)=>re(re(re(De,S(e)),S(t)),S(s)),us=()=>he(He),hs=()=>oe(He),fs=e=>re(He,S(e)),gs=()=>!W(De),Ts=e=>H(De,S(e)),bs=(e,t)=>H(re(xe,S(e)),S(t)),vs=(e,t)=>H(re(De,S(e)),S(t)),Cs=(e,t,s)=>H(re(re(De,S(e)),S(t)),S(s)),Vs=()=>!W(He),ws=e=>H(He,S(e)),Ss=e=>ss((()=>(e=>le(e,Ct,Kt))(e)?Jt(e):0)),Is=e=>ss((()=>St(e)?Pt(e):0)),ms=e=>{try{Lt(we(e))}catch{}return ks},ys=t=>ss((()=>{if((e=le(t,(e=>le(e,bt))))&&(Rt(t),!W(De))){const e=as();ps(),Ss(e)}})),Rs=e=>ss((()=>{if(s=(e=>le(e,bt))(e)){const t=us();Os(),Es(),s=!0,pt(e),Is(t)}})),ps=()=>ss((()=>Jt({}))),Ls=e=>ss((e=>H(De,e)?Nt(e):0),e),Js=(e,t)=>ss(((e,t)=>y(re(De,e),(s=>H(s,t)?jt(e,s,t):0))),e,t),Es=()=>ss((()=>Pt({}))),Fs=()=>ss((()=>{Rt({}),e=!1})),Os=()=>ss((()=>{pt({}),s=!1})),zs=(e,t)=>{if(-1!=c){Ms();const s=e();return Ps(t),s}},Ms=()=>(-1!=c&&c++,1==c&&(I[0]?.(),ft(dt)),ks),Ps=e=>(c>0&&(c--,0==c&&(c=1,Yt(1),W(X)||es(1),Zt(1),W(Z)||ts(1),e?.(ks)&&(B(X,((e,t)=>B(e,((e,s)=>B(e,(([e],a)=>P(ks,t,s,a,e))))))),q(X),B(Z,(([e],t)=>k(ks,t,e))),q(Z)),ft(ut[0],void 0),c=-1,Yt(0),W(X)||es(0),Zt(0),W(Z)||ts(0),I[1]?.(),ft(ut[1],void 0),I[2]?.(),c=0,a=gs(),n=Vs(),F([A,$,K,Q,U,X,Ve,Y,Z,Ie],q))),ks),ks={getContent:()=>[as(),us()],getTables:as,getTableIds:ls,getTable:e=>fe(re(De,S(e))),getTableCellIds:ns,getRowCount:os,getRowIds:rs,getSortedRowIds:is,getRow:(e,t)=>he(re(re(De,S(e)),S(t))),getCellIds:cs,getCell:ds,getValues:us,getValueIds:hs,getValue:fs,hasTables:gs,hasTable:Ts,hasTableCell:bs,hasRow:vs,hasCell:Cs,hasValues:Vs,hasValue:ws,getTablesJson:()=>Se(De),getValuesJson:()=>Se(He),getJson:()=>Se([De,He]),getTablesSchemaJson:()=>Se(Me),getValuesSchemaJson:()=>Se(ke),getSchemaJson:()=>Se([Me,ke]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>ss((()=>{const t=p(e)?e():e;vt(t)&&(([e,t])=>{(ae(e)?ps:Ss)(e),(ae(t)?Es:Is)(t)})(t)})),setTables:Ss,setTable:(e,t)=>ss((e=>Ct(t,e)?Et(e,t):0),e),setRow:(e,t,s)=>ss(((e,t)=>Vt(e,t,s)?Ft(e,At(e),t,s):0),e,t),addRow:(e,t,s=!0)=>zs((()=>{let a;return Vt(e,a,t)&&(e=S(e),Ft(e,At(e),a=((e,t)=>{const[s]=re(je,e);let a;do{a=s(t)}while(H(re(De,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>ss(((e,t)=>{if(Vt(e,t,s,1)){const a=At(e);se(s,((s,l)=>zt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>ss(((e,t,s)=>y(wt(e,t,s,p(a)?a(ds(e,t,s)):a),(a=>zt(e,At(e),t,s,a)))),e,t,s),setValues:Is,setPartialValues:e=>ss((()=>St(e,1)?se(e,((e,t)=>kt(t,e))):0)),setValue:(e,t)=>ss((e=>y(It(e,p(t)?t(fs(e)):t),(t=>kt(e,t)))),e),applyChanges:e=>ss((()=>{se(e[0],((e,t)=>m(e)?Ls(t):se(e,((e,s)=>m(e)?Js(t,s):se(e,((e,a)=>P(ks,t,s,a,e))))))),se(e[1],((e,t)=>k(ks,t,e)))})),setTablesJson:ms,setValuesJson:e=>{try{Mt(we(e))}catch{}return ks},setJson:e=>ss((()=>{try{const[t,s]=we(e);Lt(t),Mt(s)}catch{ms(e)}})),setTablesSchema:ys,setValuesSchema:Rs,setSchema:(e,t)=>ss((()=>{ys(e),Rs(t)})),delTables:ps,delTable:Ls,delRow:Js,delCell:(e,t,s,a)=>ss(((e,t,s)=>y(re(De,e),(l=>y(re(l,t),(n=>H(n,s)?xt(e,l,t,n,s,a):0))))),e,t,s),delValues:Es,delValue:e=>ss((e=>H(He,e)?Dt(e):0),e),delTablesSchema:Fs,delValuesSchema:Os,delSchema:()=>ss((()=>{Fs(),Os()})),transaction:zs,startTransaction:Ms,getTransactionChanges:()=>[he(X,((e,t)=>-1===re(A,t)?void 0:he(e,((e,s)=>-1===re(re(Q,t),s)?void 0:he(e,(([,e])=>e),(e=>Fe(e)))),W,ae)),W,ae),he(Z,(([,e])=>e),(e=>Fe(e))),1],getTransactionLog:()=>[!W(X),!W(Z),ge(X,Ee,Fe),ge(Ve),he(Z,Ee,Fe),he(Ie),he(A),fe(Q),ge(U),he(Y)],finishTransaction:Ps,forEachTable:e=>B(De,((t,s)=>e(s,(e=>B(t,((t,s)=>e(s,(e=>ie(t,e))))))))),forEachTableCell:(e,t)=>ie(re(xe,S(e)),t),forEachRow:(e,t)=>B(re(De,S(e)),((e,s)=>t(s,(t=>ie(e,t))))),forEachCell:(e,t,s)=>ie(re(re(De,S(e)),S(t)),s),forEachValue:e=>ie(He,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=is(e,t,s,a,l);return ht((()=>{const o=is(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(ks,e,t,s,a,l,r))}),Ye[o?1:0],[e,t],[ls])},addStartTransactionListener:e=>ht(e,dt),addWillFinishTransactionListener:e=>ht(e,ut[0]),addDidFinishTransactionListener:e=>ht(e,ut[1]),callListener:e=>(Tt(e),ks),delListener:e=>(gt(e),ks),getListenerStats:()=>({hasTables:Le(We),tables:Le($e),tableIds:Le(qe),hasTable:Le(Be),table:Le(Ge),tableCellIds:Le(Ke),hasTableCell:Le(Qe,x),rowCount:Le(Ue),rowIds:Le(Xe),sortedRowIds:Le(Ye),hasRow:Le(Ze,x),row:Le(_e,x),cellIds:Le(et,x),hasCell:Le(tt,D),cell:Le(st,D),invalidCell:Le(at,D),hasValues:Le(nt),values:Le(ot),valueIds:Le(rt),hasValue:Le(it),value:Le(ct),invalidValue:Le(lt),transaction:j(dt)+Le(ut)}),isMergeable:()=>!1,createStore:ze,addListener:ht,callListeners:ft,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return se({[i+u]:[0,We,[],()=>[gs()]],[u]:[0,$e],[h]:[0,qe],[i+d]:[1,Be,[ls],e=>[Ts(...e)]],[d]:[1,Ge,[ls]],[d+v]:[1,Ke,[ls]],[i+d+b]:[2,Qe,[ls,ns],e=>[bs(...e)]],[g]:[1,Ue,[ls]],[T]:[1,Xe,[ls]],[i+f]:[2,Ze,[ls,rs],e=>[vs(...e)]],[f]:[2,_e,[ls,rs]],[v]:[2,et,[ls,rs]],[i+b]:[3,tt,[ls,rs,cs],e=>[Cs(...e)]],[b]:[3,st,[ls,rs,cs],e=>pe(ds(...e))],InvalidCell:[3,at],[i+V]:[0,nt,[],()=>[Vs()]],[V]:[0,ot],[w]:[0,rt],[i+C]:[1,it,[hs],e=>[ws(...e)]],[C]:[1,ct,[hs],e=>pe(fs(e[0]))],InvalidValue:[1,lt]},(([e,t,s,a],l)=>{ks["add"+l+"Listener"]=(...l)=>ht(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),_(ks)};export{ze as createStore};
1
+ const e=e=>typeof e,t="",s=e(t),a=e(!0),l=e(0),n=e(e),o="type",r="default",i="Has",c="Ids",d="Table",u=d+"s",h=d+c,f="Row",g=f+"Count",T=f+c,b="Cell",v=b+c,C="Value",V=C+"s",w=C+c,S=e=>t+e,I=isFinite,m=e=>null==e,R=(e,t,s)=>m(e)?s?.():t(e),p=e=>e==s||e==a,y=t=>e(t)==n,L=e=>Array.isArray(e),J=(e,t,s)=>e.slice(t,s),E=e=>e.length,F=async(e,t,s)=>{try{return await e()}catch(e){t?.(e)}},O=(e,t)=>e.forEach(t),z=(e,t)=>e.map(t),M=(e,...t)=>e.push(...t),P=t=>{const s=e(t);return p(s)||s==l&&I(t)?s:void 0},k=(e,t,s,a,l)=>m(l)?e.delCell(t,s,a,!0):e.setCell(t,s,a,l),A=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),N=e=>t=>{return s=(t,s)=>t+e(s),q(t).reduce(s,0);var s},j=e=>e?.size??0,x=N(j),D=N(x),H=N(D),W=(e,t)=>e?.has(t)??!1,$=e=>m(e)||0==j(e),q=e=>[...e?.values()??[]],B=e=>e.clear(),G=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),Q=Object,U=e=>Q.getPrototypeOf(e),X=Q.entries,Y=Q.isFrozen,Z=e=>!m(e)&&R(U(e),(e=>e==Q.prototype||m(U(e))),(()=>!0)),_=Q.keys,ee=Q.freeze,te=(e,t)=>t in e,se=(e,t)=>(delete e[t],e),ae=(e,t)=>((e=[])=>Q.fromEntries(e))(((e,t)=>z(X(e),(([e,s])=>t(s,e))))(e,((e,s)=>[s,t(e,s)]))),le=e=>Z(e)&&0==(e=>E(_(e)))(e),ne=(e,t,s,a=0)=>m(e)||!Z(e)||!a&&le(e)||Y(e)?(s?.(),!1):(((e,t)=>{O(X(e),(([e,s])=>t(s,e)))})(e,((s,a)=>{t(s,a)||se(e,a)})),!!a||!le(e)),oe=e=>new Map(e),re=e=>[...e?.keys()??[]],ie=(e,t)=>e?.get(t),ce=(e,t)=>G(e,((e,s)=>t(s,e))),de=(e,t,s)=>m(s)?(K(e,t),e):e?.set(t,s),ue=(e,t,s,a)=>(W(e,t)?a?.(ie(e,t)):de(e,t,s()),ie(e,t)),he=(e,t,s,a=de)=>(ae(t,((t,a)=>s(e,a,t))),ce(e,(s=>te(t,s)?0:a(e,s))),e),fe=(e,t,s,a)=>{const l={};return G(e,((e,n)=>{if(!s?.(e,n)){const s=t?t(e,n):e;a?.(s)||(l[n]=s)}})),l},ge=(e,t,s)=>fe(e,(e=>fe(e,t,s)),$,le),Te=(e,t,s)=>fe(e,(e=>ge(e,t,s)),$,le),be=(e,t)=>{const s=oe();return G(e,((e,a)=>s.set(a,t?.(e)??e))),s},ve=e=>be(e,be),Ce=e=>be(e,ve),Ve=(e,t,s,a,l=0)=>R((s?ue:ie)(e,t[l],l>E(t)-2?s:oe),(n=>{if(l>E(t)-2)return a?.(n)&&de(e,t[l]),n;const o=Ve(n,t,s,a,l+1);return $(n)&&de(e,t[l]),o})),we=JSON.stringify,Se=JSON.parse,Ie=e=>we(e,((e,t)=>t instanceof Map?Q.fromEntries([...t]):t)),me=/^\d+$/,Re=()=>{const e=[];let s=0;return[a=>(a?e.shift():null)??t+s++,t=>{me.test(t)&&E(e)<1e3&&M(e,t)}]},pe=e=>new Set(L(e)||m(e)?e:[e]),ye=(e,t)=>e?.add(t),Le=e=>[e,e],Je=(e,t=x)=>t(e[0])+t(e[1]),Ee=()=>[oe(),oe()],Fe=e=>[...e],Oe=([e,t])=>e===t,ze=(e,t,s)=>de(e,t,ie(e,t)==-s?void 0:s),Me=()=>{let e,s,a=!1,n=!1,c=0,I=[];const N=oe(),q=oe(),Q=oe(),U=oe(),X=oe(),Y=oe(),Z=oe(),_=oe(),we=oe(),me=oe(),Pe=oe(),ke=oe(),Ae=oe(),Ne=oe(),je=pe(),xe=oe(),De=oe(),He=oe(),We=oe(),$e=Ee(),qe=Ee(),Be=Ee(),Ge=Ee(),Ke=Ee(),Qe=Ee(),Ue=Ee(),Xe=Ee(),Ye=Ee(),Ze=Ee(),_e=Ee(),et=Ee(),tt=Ee(),st=Ee(),at=Ee(),lt=Ee(),nt=Ee(),ot=Ee(),rt=Ee(),it=Ee(),ct=Ee(),dt=Ee(),ut=oe(),ht=Ee(),[ft,gt,Tt,bt]=(()=>{let e;const[s,a]=Re(),l=oe();return[(a,n,o,r=[],i=()=>[])=>{e??=As;const c=s(1);return de(l,c,[a,n,o,r,i]),ye(Ve(n,o??[t],pe),c),c},(s,a,...n)=>O(((e,s=[t])=>{const a=[],l=(e,t)=>t==E(s)?M(a,e):null===s[t]?G(e,(e=>l(e,t+1))):O([s[t],null],(s=>l(ie(e,s),t+1)));return l(e,0),a})(s,a),(t=>G(t,(t=>ie(l,t)[0](e,...a??[],...n))))),e=>R(ie(l,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(K(t,e),$(t)?1:0))),de(l,e),a(e),n))),t=>R(ie(l,t),(([t,,s=[],a,l])=>{const n=(...o)=>{const r=E(o);r==E(s)?t(e,...o,...l(o)):m(s[r])?O(a[r]?.(...o)??[],(e=>n(...o,e))):n(...o,s[r])};n()}))]})(),vt=e=>{if(!ne(e,((e,t)=>[o,r].includes(t))))return!1;const t=e[o];return!(!p(t)&&t!=l||(P(e[r])!=t&&se(e,r),0))},Ct=L,Vt=(t,s)=>(!e||W(Pe,s)||Qt(s))&&ne(t,((e,t)=>wt(s,t,e)),(()=>Qt(s))),wt=(e,t,s,a)=>ne(a?s:Rt(s,e,t),((a,l)=>R(St(e,t,l,a),(e=>(s[l]=e,!0)),(()=>!1))),(()=>Qt(e,t))),St=(t,s,a,l)=>e?R(ie(ie(Pe,t),a),(e=>P(l)!=e[o]?Qt(t,s,a,l,e[r]):l),(()=>Qt(t,s,a,l))):m(P(l))?Qt(t,s,a,l):l,It=(e,t)=>ne(t?e:pt(e),((t,s)=>R(mt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Ut())),mt=(e,t)=>s?R(ie(Ae,e),(s=>P(t)!=s[o]?Ut(e,t,s[r]):t),(()=>Ut(e,t))):m(P(t))?Ut(e,t):t,Rt=(e,t,s)=>(R(ie(ke,t),(([a,l])=>{G(a,((t,s)=>{te(e,s)||(e[s]=t)})),G(l,(a=>{te(e,a)||Qt(t,s,a)}))})),e),pt=e=>(s&&(G(Ne,((t,s)=>{te(e,s)||(e[s]=t)})),G(je,(t=>{te(e,t)||Ut(t)}))),e),yt=e=>he(Pe,e,((e,t,s)=>{const a=oe(),l=pe();he(ue(Pe,t,oe),s,((e,t,s)=>{de(e,t,s),R(s[r],(e=>de(a,t,e)),(()=>ye(l,t)))})),de(ke,t,[a,l])}),((e,t)=>{de(Pe,t),de(ke,t)})),Lt=e=>he(Ae,e,((e,t,s)=>{de(Ae,t,s),R(s[r],(e=>de(Ne,t,e)),(()=>ye(je,t)))}),((e,t)=>{de(Ae,t),de(Ne,t),K(je,t)})),Jt=e=>le(e)?Ls():Is(e),Et=e=>he(He,e,((e,t,s)=>Ft(t,s)),((e,t)=>jt(t))),Ft=(e,t)=>he(ue(He,e,(()=>(Wt(e,1),de(xe,e,Re()),de(De,e,oe()),oe()))),t,((t,s,a)=>Ot(e,t,s,a)),((t,s)=>xt(e,t,s))),Ot=(e,t,s,a,l)=>he(ue(t,s,(()=>($t(e,s,1),oe()))),a,((t,a,l)=>zt(e,s,t,a,l)),((a,n)=>Dt(e,t,s,a,n,l))),zt=(e,t,s,a,l)=>{W(s,a)||qt(e,t,a,1);const n=ie(s,a);l!==n&&(Bt(e,t,a,n,l),de(s,a,l))},Mt=(e,t,s,a,l)=>R(ie(t,s),(t=>zt(e,s,t,a,l)),(()=>Ot(e,t,s,Rt({[a]:l},e,s)))),Pt=e=>le(e)?Fs():ms(e),kt=e=>he(We,e,((e,t,s)=>At(t,s)),((e,t)=>Ht(t))),At=(e,t)=>{W(We,e)||Gt(e,1);const s=ie(We,e);t!==s&&(Kt(e,s,t),de(We,e,t))},Nt=e=>ie(He,e)??Ft(e,{}),jt=e=>Ft(e,{}),xt=(e,t,s)=>{const[,a]=ie(xe,e);a(s),Ot(e,t,s,{},!0)},Dt=(e,t,s,a,l,n)=>{const o=ie(ie(ke,e)?.[0],l);if(!m(o)&&!n)return zt(e,s,a,l,o);const r=t=>{Bt(e,s,t,ie(a,t)),qt(e,s,t,-1),de(a,t)};m(o)?r(l):ce(a,r),$(a)&&($t(e,s,-1),$(de(t,s))&&(Wt(e,-1),de(He,e),de(xe,e),de(De,e)))},Ht=e=>{const t=ie(Ne,e);if(!m(t))return At(e,t);Kt(e,ie(We,e)),Gt(e,-1),de(We,e)},Wt=(e,t)=>ze(N,e,t),$t=(e,t,s)=>ze(ue(U,e,oe),t,s)&&de(Q,e,ue(Q,e,(()=>0))+s),qt=(e,t,s,a)=>{const l=ie(De,e),n=ie(l,s)??0;(0==n&&1==a||1==n&&-1==a)&&ze(ue(q,e,oe),s,a),de(l,s,n!=-a?n+a:null),ze(ue(ue(X,e,oe),t,oe),s,a)},Bt=(e,t,s,a,l)=>{ue(ue(ue(Y,e,oe),t,oe),s,(()=>[a,0]))[1]=l,I[3]?.(e,t,s,l)},Gt=(e,t)=>ze(Z,e,t),Kt=(e,t,s)=>{ue(_,e,(()=>[t,0]))[1]=s,I[4]?.(e,s)},Qt=(e,t,s,a,l)=>(M(ue(ue(ue(we,e,oe),t,oe),s,(()=>[])),a),l),Ut=(e,t,s)=>(M(ue(me,e,(()=>[])),t),s),Xt=(e,t,s)=>R(ie(ie(ie(Y,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(us(e,t,s))])),Yt=e=>R(ie(_,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Le(gs(e))])),Zt=e=>$(we)||$(lt[e])?0:G(e?Ce(we):we,((t,s)=>G(t,((t,a)=>G(t,((t,l)=>gt(lt[e],[s,a,l],t))))))),_t=e=>$(me)||$(nt[e])?0:G(e?be(me):me,((t,s)=>gt(nt[e],[s],t))),es=(e,t,s,a)=>{if(!$(e))return gt(t,a,(()=>fe(e))),ce(e,((e,t)=>gt(s,[...a??[],e],1==t))),1},ts=e=>{const t=Ts();t!=a&&gt($e[e],void 0,t);const s=$(Ze[e]),l=$(tt[e])&&$(st[e])&&$(Ye[e])&&$(_e[e])&&$(Qe[e])&&$(Ue[e])&&$(Xe[e])&&s&&$(Be[e])&&$(Ge[e]),n=$(at[e])&&$(et[e])&&$(Ke[e])&&$(qe[e]);if(!l||!n){const t=e?[be(N),ve(q),be(Q),ve(U),Ce(X),Ce(Y)]:[N,q,Q,U,X,Y];if(!l){es(t[0],Be[e],Ge[e]),G(t[1],((t,s)=>es(t,Qe[e],Ue[e],[s]))),G(t[2],((t,s)=>{0!=t&&gt(Xe[e],[s],rs(s))}));const a=pe();G(t[3],((t,l)=>{es(t,Ye[e],_e[e],[l])&&!s&&(gt(Ze[e],[l,null]),ye(a,l))})),s||G(t[5],((t,s)=>{if(!W(a,s)){const a=pe();G(t,(e=>G(e,(([t,s],l)=>s!==t?ye(a,l):K(e,l))))),G(a,(t=>gt(Ze[e],[s,t])))}})),G(t[4],((t,s)=>G(t,((t,a)=>es(t,tt[e],st[e],[s,a])))))}if(!n){let s;G(t[5],((t,a)=>{let l;G(t,((t,n)=>{let o;G(t,(([t,r],i)=>{r!==t&&(gt(at[e],[a,n,i],r,t,Xt),s=l=o=1)})),o&&gt(et[e],[a,n],Xt)})),l&&gt(Ke[e],[a],Xt)})),s&&gt(qe[e],void 0,Xt)}}},ss=e=>{const t=ws();t!=n&&gt(ot[e],void 0,t);const s=$(it[e])&&$(ct[e]),a=$(dt[e])&&$(rt[e]);if(!s||!a){const t=e?[be(Z),be(_)]:[Z,_];if(s||es(t[0],it[e],ct[e]),!a){let s;G(t[1],(([t,a],l)=>{a!==t&&(gt(dt[e],[l],a,t,Yt),s=1)})),s&&gt(rt[e],void 0,Yt)}}},as=(e,...t)=>(Ms((()=>e(...z(t,S)))),As),ls=()=>Te(He),ns=()=>re(He),os=e=>re(ie(De,S(e))),rs=e=>j(ie(He,S(e))),is=e=>re(ie(He,S(e))),cs=(e,t,s,a=0,l)=>{return z(J((o=ie(He,S(e)),r=(e,s)=>[m(t)?s:ie(e,S(t)),s],n=([e],[t])=>((e??0)<(t??0)?-1:1)*(s?-1:1),z([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(n)),a,m(l)?l:a+l),(([,e])=>e));var n,o,r},ds=(e,t)=>re(ie(ie(He,S(e)),S(t))),us=(e,t,s)=>ie(ie(ie(He,S(e)),S(t)),S(s)),hs=()=>fe(We),fs=()=>re(We),gs=e=>ie(We,S(e)),Ts=()=>!$(He),bs=e=>W(He,S(e)),vs=(e,t)=>W(ie(De,S(e)),S(t)),Cs=(e,t)=>W(ie(He,S(e)),S(t)),Vs=(e,t,s)=>W(ie(ie(He,S(e)),S(t)),S(s)),ws=()=>!$(We),Ss=e=>W(We,S(e)),Is=e=>as((()=>(e=>ne(e,Vt,Qt))(e)?Et(e):0)),ms=e=>as((()=>It(e)?kt(e):0)),Rs=e=>(F((()=>Jt(Se(e)))),As),ps=t=>as((()=>{if((e=ne(t,(e=>ne(e,vt))))&&(yt(t),!$(He))){const e=ls();Ls(),Is(e)}})),ys=e=>as((()=>{if(s=(e=>ne(e,vt))(e)){const t=hs();zs(),Fs(),s=!0,Lt(e),ms(t)}})),Ls=()=>as((()=>Et({}))),Js=e=>as((e=>W(He,e)?jt(e):0),e),Es=(e,t)=>as(((e,t)=>R(ie(He,e),(s=>W(s,t)?xt(e,s,t):0))),e,t),Fs=()=>as((()=>kt({}))),Os=()=>as((()=>{yt({}),e=!1})),zs=()=>as((()=>{Lt({}),s=!1})),Ms=(e,t)=>{if(-1!=c){Ps();const s=e();return ks(t),s}},Ps=()=>(-1!=c&&c++,1==c&&(I[0]?.(),gt(ut)),As),ks=e=>(c>0&&(c--,0==c&&(c=1,Zt(1),$(Y)||ts(1),_t(1),$(_)||ss(1),e?.(As)&&(G(Y,((e,t)=>G(e,((e,s)=>G(e,(([e],a)=>k(As,t,s,a,e))))))),B(Y),G(_,(([e],t)=>A(As,t,e))),B(_)),gt(ht[0],void 0),c=-1,Zt(0),$(Y)||ts(0),_t(0),$(_)||ss(0),I[1]?.(),gt(ht[1],void 0),I[2]?.(),c=0,a=Ts(),n=ws(),O([N,q,Q,U,X,Y,we,Z,_,me],B))),As),As={getContent:()=>[ls(),hs()],getTables:ls,getTableIds:ns,getTable:e=>ge(ie(He,S(e))),getTableCellIds:os,getRowCount:rs,getRowIds:is,getSortedRowIds:cs,getRow:(e,t)=>fe(ie(ie(He,S(e)),S(t))),getCellIds:ds,getCell:us,getValues:hs,getValueIds:fs,getValue:gs,hasTables:Ts,hasTable:bs,hasTableCell:vs,hasRow:Cs,hasCell:Vs,hasValues:ws,hasValue:Ss,getTablesJson:()=>Ie(He),getValuesJson:()=>Ie(We),getJson:()=>Ie([He,We]),getTablesSchemaJson:()=>Ie(Pe),getValuesSchemaJson:()=>Ie(Ae),getSchemaJson:()=>Ie([Pe,Ae]),hasTablesSchema:()=>e,hasValuesSchema:()=>s,setContent:e=>as((()=>{const t=y(e)?e():e;Ct(t)&&(([e,t])=>{(le(e)?Ls:Is)(e),(le(t)?Fs:ms)(t)})(t)})),setTables:Is,setTable:(e,t)=>as((e=>Vt(t,e)?Ft(e,t):0),e),setRow:(e,t,s)=>as(((e,t)=>wt(e,t,s)?Ot(e,Nt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ms((()=>{let a;return wt(e,a,t)&&(e=S(e),Ot(e,Nt(e),a=((e,t)=>{const[s]=ie(xe,e);let a;do{a=s(t)}while(W(ie(He,e),a));return a})(e,s?1:0),t)),a})),setPartialRow:(e,t,s)=>as(((e,t)=>{if(wt(e,t,s,1)){const a=Nt(e);ae(s,((s,l)=>Mt(e,a,t,l,s)))}}),e,t),setCell:(e,t,s,a)=>as(((e,t,s)=>R(St(e,t,s,y(a)?a(us(e,t,s)):a),(a=>Mt(e,Nt(e),t,s,a)))),e,t,s),setValues:ms,setPartialValues:e=>as((()=>It(e,1)?ae(e,((e,t)=>At(t,e))):0)),setValue:(e,t)=>as((e=>R(mt(e,y(t)?t(gs(e)):t),(t=>At(e,t)))),e),applyChanges:e=>as((()=>{ae(e[0],((e,t)=>m(e)?Js(t):ae(e,((e,s)=>m(e)?Es(t,s):ae(e,((e,a)=>k(As,t,s,a,e))))))),ae(e[1],((e,t)=>A(As,t,e)))})),setTablesJson:Rs,setValuesJson:e=>(F((()=>Pt(Se(e)))),As),setJson:e=>as((()=>F((()=>{const[t,s]=Se(e);Jt(t),Pt(s)}),(()=>Rs(e))))),setTablesSchema:ps,setValuesSchema:ys,setSchema:(e,t)=>as((()=>{ps(e),ys(t)})),delTables:Ls,delTable:Js,delRow:Es,delCell:(e,t,s,a)=>as(((e,t,s)=>R(ie(He,e),(l=>R(ie(l,t),(n=>W(n,s)?Dt(e,l,t,n,s,a):0))))),e,t,s),delValues:Fs,delValue:e=>as((e=>W(We,e)?Ht(e):0),e),delTablesSchema:Os,delValuesSchema:zs,delSchema:()=>as((()=>{Os(),zs()})),transaction:Ms,startTransaction:Ps,getTransactionChanges:()=>[fe(Y,((e,t)=>-1===ie(N,t)?void 0:fe(e,((e,s)=>-1===ie(ie(U,t),s)?void 0:fe(e,(([,e])=>e),(e=>Oe(e)))),$,le)),$,le),fe(_,(([,e])=>e),(e=>Oe(e))),1],getTransactionLog:()=>[!$(Y),!$(_),Te(Y,Fe,Oe),Te(we),fe(_,Fe,Oe),fe(me),fe(N),ge(U),Te(X),fe(Z)],finishTransaction:ks,forEachTable:e=>G(He,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachTableCell:(e,t)=>ce(ie(De,S(e)),t),forEachRow:(e,t)=>G(ie(He,S(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(ie(ie(He,S(e)),S(t)),s),forEachValue:e=>ce(We,e),addSortedRowIdsListener:(e,t,s,a,l,n,o)=>{let r=cs(e,t,s,a,l);return ft((()=>{const o=cs(e,t,s,a,l);var i,c,d;c=r,E(i=o)===E(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(r=o,n(As,e,t,s,a,l,r))}),Ze[o?1:0],[e,t],[ns])},addStartTransactionListener:e=>ft(e,ut),addWillFinishTransactionListener:e=>ft(e,ht[0]),addDidFinishTransactionListener:e=>ft(e,ht[1]),callListener:e=>(bt(e),As),delListener:e=>(Tt(e),As),getListenerStats:()=>({hasTables:Je($e),tables:Je(qe),tableIds:Je(Be),hasTable:Je(Ge),table:Je(Ke),tableCellIds:Je(Qe),hasTableCell:Je(Ue,D),rowCount:Je(Xe),rowIds:Je(Ye),sortedRowIds:Je(Ze),hasRow:Je(_e,D),row:Je(et,D),cellIds:Je(tt,D),hasCell:Je(st,H),cell:Je(at,H),invalidCell:Je(lt,H),hasValues:Je(ot),values:Je(rt),valueIds:Je(it),hasValue:Je(ct),value:Je(dt),invalidValue:Je(nt),transaction:x(ut)+Je(ht)}),isMergeable:()=>!1,createStore:Me,addListener:ft,callListeners:gt,setInternalListeners:(e,t,s,a,l)=>I=[e,t,s,a,l]};return ae({[i+u]:[0,$e,[],()=>[Ts()]],[u]:[0,qe],[h]:[0,Be],[i+d]:[1,Ge,[ns],e=>[bs(...e)]],[d]:[1,Ke,[ns]],[d+v]:[1,Qe,[ns]],[i+d+b]:[2,Ue,[ns,os],e=>[vs(...e)]],[g]:[1,Xe,[ns]],[T]:[1,Ye,[ns]],[i+f]:[2,_e,[ns,is],e=>[Cs(...e)]],[f]:[2,et,[ns,is]],[v]:[2,tt,[ns,is]],[i+b]:[3,st,[ns,is,ds],e=>[Vs(...e)]],[b]:[3,at,[ns,is,ds],e=>Le(us(...e))],InvalidCell:[3,lt],[i+V]:[0,ot,[],()=>[ws()]],[V]:[0,rt],[w]:[0,it],[i+C]:[1,ct,[fs],e=>[Ss(...e)]],[C]:[1,dt,[fs],e=>Le(gs(e[0]))],InvalidValue:[1,nt]},(([e,t,s,a],l)=>{As["add"+l+"Listener"]=(...l)=>ft(l[e],t[l[e+1]?1:0],e>0?J(l,0,e):void 0,s,a)})),ee(As)};export{Me as createStore};
Binary file
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),l=t=>t.length,c=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),y=t=>t.shift(),d=t=>o(t)||0==(t=>t?.size??0)(t),f=(t,e)=>t?.forEach(e),h=(t,e)=>t?.delete(e),p=Object,w=t=>p.getPrototypeOf(t),v=p.entries,b=p.keys,C=p.freeze,M=(t,e)=>g(v(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(w(t),(t=>t==p.prototype||o(w(t))),(()=>!0)))(t)&&0==(t=>l(b(t)))(t),A=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),D=t=>new Map(t),L=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(h(t,e),t):t?.set(e,a),T=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):H(t,e,a()),L(t,e)},m=(t,e,a,n,s=0)=>r((a?T:L)(t,e[s],s>l(e)-2?a:D),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=m(o,e,a,n,s+1);return d(o)&&H(t,e[s]),r})),G=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),R=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),E=(t=16)=>{return e=(t,e)=>t+G[63&e],R(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],z=(t,e)=>((t??"")>(e??"")?t:e)??"",P=(t="")=>V(((t=[])=>p.fromEntries(t))(),t),O=/^\d+$/,$=t=>new Set(i(t)||o(t)?t:[t]),j=D(),k=D(),x=(t,e,a,n,s,p,w,v={},b=0,M=[])=>{let A,G,R,E=0,V=0,z=0;T(j,M,(()=>0)),T(k,M,(()=>[]));const P=D(),[x,F,N,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:c("Store type not supported by this Persister"))(w,t,b),[B,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?y(t):null)??""+e++,e=>{O.test(e)&&l(t)<1e3&&u(t,e)}]})(),n=D();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const l=e(1);var c,g;return H(n,l,[a,s,o,r,i]),c=m(s,o??[""],$),g=l,c?.add(g),l},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?u(a,t):null===e[s]?f(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>f(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(m(e,s??[""],void 0,(e=>(h(e,t),d(e)?1:0))),H(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):o(a[c])?g(n[c]?.(...i)??[],(t=>r(...i,t))):r(...i,a[c])};r()}))]})(),K=t=>{t!=E&&(E=t,I(P,void 0,E))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=E&&(K(1),V++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):c("Content is not an array: "+a)}catch(e){p?.(e),t&&q(t)}K(0)}))),tt),X=()=>(G&&(s(G),G=void 0),tt),Y=async t=>(1!=E&&(K(2),z++,await _((async()=>{try{await a(F,t)}catch(t){p?.(t)}K(0)}))),tt),Z=()=>(R&&(t.delListener(R),R=void 0),tt),_=async(...t)=>(u(L(k,M),...t),await(async()=>{if(!L(j,M)){for(H(j,M,1);!o(A=y(L(k,M)));)try{await A()}catch(t){p?.(t)}H(j,M,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{G=await n((async(t,e)=>{e||t?2!=E&&(K(1),V++,Q(e??t),K(0)):await W()}))}catch(t){p?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(G),save:Y,startAutoSave:async()=>(Z(),await Y(),R=t.addDidFinishTransactionListener((()=>{const t=N();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(R),getStatus:()=>E,addStatusListener:t=>B(t,P),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(k,M).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:V,saves:z}),...v};return C(tt)},F={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},N=(t,a,n,s,i,l,c,g,u={})=>{let y,d=0,f=0,p=0;const w=D(),v=()=>E(11),b=(t,e,n,s)=>{f++,l?.(t,e,n,s),a(t,e,n,s)},C=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+E(4),l=((t,e=0)=>setTimeout(t,1e3*e))((()=>{h(w,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(w,r,[t,(t,a)=>{clearTimeout(l),h(w,r),e([t,a,s])}]),b(t,r,a,n)})),T=(t,[e,a])=>{M(e,(([e,a],n)=>{const s=A(t[0],n,P);M(e,(([t,e],a)=>{const n=A(s[0],a,P);M(t,(([t,e],a)=>n[0][a]=V(t,e))),n[1]=z(n[1],e)})),s[1]=z(s[1],a)})),t[1]=z(t[1],a)},m=async(e=null,a,n=v())=>{try{o(a)&&([a,e,n]=await C(null,1,"",n));const[s,r]=a,[i,l]=t.getMergeableContentHashes();let c=P();if(i!=s){const[a,s]=(await C(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!S(s)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!S(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,l==r?P():(await C(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},G=x(t,(async()=>{const t=await m();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?b(null,v(),3,a):b(null,v(),2,t.getMergeableContentHashes())),(t=>y=t),(()=>y=void 0),g,2,{startSync:async t=>(d=1,await(await G.startAutoLoad(t)).startAutoSave()),stopSync:()=>(d=0,G.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),G.stopSync()),getSynchronizerStats:()=>({sends:f,receives:p}),...u},1);return n(((e,a,n,s)=>{const i=d||G.isAutoLoading();p++,c?.(e,a,n,s),0==n?r(L(w,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?m(e,s,a??void 0).then((t=>{y?.(void 0,t)})).catch(g):3==n&&i?y?.(void 0,s):r(1==n&&(d||G.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{b(e,a,0,t)}))})),G};export{F as Message,N as createCustomSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),l=t=>t.length,c=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),f=(t,e)=>t?.forEach(e),h=(t,e)=>t?.delete(e),p=Object,v=t=>p.getPrototypeOf(t),b=p.entries,C=p.keys,M=p.freeze,S=(t,e)=>u(b(t),(([t,a])=>e(a,t))),A=t=>(t=>!o(t)&&r(v(t),(t=>t==p.prototype||o(v(t))),(()=>!0)))(t)&&0==(t=>l(C(t)))(t),D=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),L=t=>new Map(t),H=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(h(t,e),t):t?.set(e,a),m=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(H(t,e)):T(t,e,a()),H(t,e)},G=(t,e,a,n,s=0)=>r((a?m:H)(t,e[s],s>l(e)-2?a:L),(o=>{if(s>l(e)-2)return n?.(o)&&T(t,e[s]),o;const r=G(o,e,a,n,s+1);return w(o)&&T(t,e[s]),r})),R=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),E=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),V=(t=16)=>{return e=(t,e)=>t+R[63&e],E(new Uint8Array(t)).reduce(e,"");var e},z=(t,e)=>e?[t,e]:[t],P=(t,e)=>((t??"")>(e??"")?t:e)??"",O=(t="")=>z(((t=[])=>p.fromEntries(t))(),t),$=/^\d+$/,j=t=>new Set(i(t)||o(t)?t:[t]),k=L(),x=L(),F=(t,e,a,n,s,p,v,b={},C=0,S=[])=>{let D,R,E,V=0,z=0,P=0;m(k,S,(()=>0)),m(x,S,(()=>[]));const O=L(),[F,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:c("Store type not supported by this Persister"))(v,t,C),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{$.test(e)&&l(t)<1e3&&y(t,e)}]})(),n=L();return[(a,s,o,r=[],i=()=>[])=>{t??=et;const l=e(1);var c,g;return T(n,l,[a,s,o,r,i]),c=G(s,o??[""],j),g=l,c?.add(g),l},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?y(a,t):null===e[s]?f(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(H(t,e),s+1)));return n(t,0),a})(e,a),(e=>f(e,(e=>H(n,e)[0](t,...a??[],...s))))),t=>r(H(n,t),(([,e,s])=>(G(e,s??[""],void 0,(e=>(h(e,t),w(e)?1:0))),T(n,t),a(t),s))),e=>r(H(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):o(a[c])?u(n[c]?.(...i)??[],(t=>r(...i,t))):r(...i,a[c])};r()}))]})(),Q=t=>{t!=V&&(V=t,J(O,void 0,V))},W=e=>{(F&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=V&&(Q(1),z++,await tt((async()=>{await g((async()=>{const a=await e();i(a)?W(a):t?B(t):c("Content is not an array: "+a)}),(()=>{t&&B(t)})),Q(0)}))),et),Y=async()=>(R&&(await g((()=>s(R)),p),R=void 0),et),Z=async t=>(1!=V&&(Q(2),P++,await tt((async()=>{await g((()=>a(N,t)),p),Q(0)}))),et),_=async()=>(E&&(t.delListener(E),E=void 0),et),tt=async(...t)=>(y(H(x,S),...t),await(async()=>{if(!H(k,S)){for(T(k,S,1);!o(D=d(H(x,S)));)await g(D,p);T(k,S,0)}})(),et),et={load:X,startAutoLoad:async t=>(Y(),await X(t),await g((async()=>R=await n((async(t,e)=>{e||t?2!=V&&(Q(1),z++,W(e??t),Q(0)):await X()}))),p),et),stopAutoLoad:Y,isAutoLoading:()=>!o(R),save:Z,startAutoSave:async()=>(_(),await Z(),E=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!o(E),getStatus:()=>V,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:tt,getStore:()=>t,destroy:async()=>(H(x,S).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:z,saves:P}),...b};return M(et)},N={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},U=(t,a,n,s,i,l,c,u,y={})=>{let d,w=0,f=0,p=0;const v=L(),b=()=>V(11),C=(t,e,n,s)=>{f++,l?.(t,e,n,s),a(t,e,n,s)},M=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+V(4),l=((t,e=0)=>setTimeout(t,1e3*e))((()=>{h(v,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(v,r,[t,(t,a)=>{clearTimeout(l),h(v,r),e([t,a,s])}]),C(t,r,a,n)})),m=(t,[e,a])=>{S(e,(([e,a],n)=>{const s=D(t[0],n,O);S(e,(([t,e],a)=>{const n=D(s[0],a,O);S(t,(([t,e],a)=>n[0][a]=z(t,e))),n[1]=P(n[1],e)})),s[1]=P(s[1],a)})),t[1]=P(t[1],a)},G=(e=null,a,n=b())=>g((async()=>{o(a)&&([a,e,n]=await M(null,1,"",n));const[s,r]=a,[i,l]=t.getMergeableContentHashes();let c=O();if(i!=s){const[a,s]=(await M(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!A(s)){const[a,o]=(await M(e,5,t.getMergeableRowHashes(s),n))[0];if(m(c,a),!A(o)){const a=(await M(e,6,t.getMergeableCellHashes(o),n))[0];m(c,a)}}}return[c,l==r?O():(await M(e,7,t.getMergeableValueHashes(),n))[0],1]}),u),R=F(t,(async()=>{const t=await G();return!t||A(t[0][0])&&A(t[1][0])?void 0:t}),(async(e,a)=>a?C(null,b(),3,a):C(null,b(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(w=1,await(await R.startAutoLoad(t)).startAutoSave()),stopSync:async()=>(w=0,await R.stopAutoLoad(),await R.stopAutoSave(),R),destroy:async()=>(await R.stopSync(),s(),R),getSynchronizerStats:()=>({sends:f,receives:p}),...y},1);return n(((e,a,n,s)=>{const i=w||R.isAutoLoading();p++,c?.(e,a,n,s),0==n?r(H(v,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?G(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&i?d?.(void 0,s):r(1==n&&(w||R.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{C(e,a,0,t)}))})),R};export{N as Message,U as createCustomSynchronizer};
Binary file
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),f=w.entries,b=w.keys,M=w.freeze,C=(t,e)=>g(f(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(v(t),(t=>t==w.prototype||o(v(t))),(()=>!0)))(t)&&0==(t=>c(b(t)))(t),A=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),L=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),H=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):T(t,e,a()),L(t,e)},D=(t,e,a,n,s=0)=>r((a?H:L)(t,e[s],s>c(e)-2?a:m),(o=>{if(s>c(e)-2)return n?.(o)&&T(t,e[s]),o;const r=D(o,e,a,n,s+1);return y(o)&&T(t,e[s]),r})),E=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),z=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),P=(t=16)=>{return e=(t,e)=>t+E[63&e],z(new Uint8Array(t)).reduce(e,"");var e},R=(t,e)=>e?[t,e]:[t],V=(t,e)=>((t??"")>(e??"")?t:e)??"",N=(t="")=>R(((t=[])=>w.fromEntries(t))(),t),O=/^\d+$/,$=t=>new Set(i(t)||o(t)?t:[t]),j=m(),k=m(),x=(t,e,a,n,s,w,v,f={},b=0,C=[])=>{let A,E,z,P=0,R=0,V=0;H(j,C,(()=>0)),H(k,C,(()=>[]));const N=m(),[x,B,F,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(v,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{O.test(e)&&c(t)<1e3&&u(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return T(n,c,[a,s,o,r,i]),l=D(s,o??[""],$),g=c,l?.add(g),c},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?u(a,t):null===e[s]?h(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>h(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(D(e,s??[""],void 0,(e=>(p(e,t),y(e)?1:0))),T(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?g(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),K=t=>{t!=P&&(P=t,I(N,void 0,P))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):l("Content is not an array: "+a)}catch(e){w?.(e),t&&q(t)}K(0)}))),tt),X=()=>(E&&(s(E),E=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(B,t)}catch(t){w?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(u(L(k,C),...t),await(async()=>{if(!L(j,C)){for(T(j,C,1);!o(A=d(L(k,C)));)try{await A()}catch(t){w?.(t)}T(j,C,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{E=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){w?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(E),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=F();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(z),getStatus:()=>P,addStatusListener:t=>G(t,N),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(k,C).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return M(tt)},B=(t,a,n,s,i)=>{const c=P(),l=new BroadcastChannel(a);return((t,a,n,s,i,c,l,g,u={})=>{let d,y=0,h=0,w=0;const v=m(),f=()=>P(11),b=(t,e,n,s)=>{h++,c?.(t,e,n,s),a(t,e,n,s)},M=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+P(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(v,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(v,r,[t,(t,a)=>{clearTimeout(c),p(v,r),e([t,a,s])}]),b(t,r,a,n)})),H=(t,[e,a])=>{C(e,(([e,a],n)=>{const s=A(t[0],n,N);C(e,(([t,e],a)=>{const n=A(s[0],a,N);C(t,(([t,e],a)=>n[0][a]=R(t,e))),n[1]=V(n[1],e)})),s[1]=V(s[1],a)})),t[1]=V(t[1],a)},D=async(e=null,a,n=f())=>{try{o(a)&&([a,e,n]=await M(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=N();if(i!=s){const[a,s]=(await M(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!S(s)){const[a,o]=(await M(e,5,t.getMergeableRowHashes(s),n))[0];if(H(l,a),!S(o)){const a=(await M(e,6,t.getMergeableCellHashes(o),n))[0];H(l,a)}}}return[l,c==r?N():(await M(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},E=x(t,(async()=>{const t=await D();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),g,2,{startSync:async t=>(y=1,await(await E.startAutoLoad(t)).startAutoSave()),stopSync:()=>(y=0,E.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),E.stopSync()),getSynchronizerStats:()=>({sends:h,receives:w}),...u},1);return n(((e,a,n,s)=>{const i=y||E.isAutoLoading();w++,l?.(e,a,n,s),0==n?r(L(v,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?D(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(g):3==n&&i?d?.(void 0,s):r(1==n&&(y||E.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{b(e,a,0,t)}))})),E})(t,((t,e,a,n)=>l.postMessage([c,t,e,a,n])),(t=>{l.onmessage=({data:[e,a,n,s,r]})=>o(a)||a==c?t(e,n,s,r):0}),(()=>{l.close()}),.01,n,s,i,{getChannelName:()=>a})};export{B as createBroadcastChannelSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,s=Math,n=s.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),v=Object,f=t=>v.getPrototypeOf(t),b=v.entries,M=v.keys,C=v.freeze,S=(t,e)=>u(b(t),(([t,a])=>e(a,t))),A=t=>(t=>!o(t)&&r(f(t),(t=>t==v.prototype||o(f(t))),(()=>!0)))(t)&&0==(t=>c(M(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),D=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,s,n=0)=>r((a?D:T)(t,e[n],n>c(e)-2?a:m),(o=>{if(n>c(e)-2)return s?.(o)&&H(t,e[n]),o;const r=E(o,e,a,s,n+1);return w(o)&&H(t,e[n]),r})),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),P=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>n(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+z[63&e],P(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],N=(t,e)=>((t??"")>(e??"")?t:e)??"",O=(t="")=>V(((t=[])=>v.fromEntries(t))(),t),$=/^\d+$/,j=t=>new Set(i(t)||o(t)?t:[t]),k=m(),x=m(),B=(t,e,a,s,n,v,f,b={},M=0,S=[])=>{let L,z,P,R=0,V=0,N=0;D(k,S,(()=>0)),D(x,S,(()=>[]));const O=m(),[B,F,U,q,G]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:l("Store type not supported by this Persister"))(f,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{$.test(e)&&c(t)<1e3&&y(t,e)}]})(),s=m();return[(a,n,o,r=[],i=()=>[])=>{t??=et;const c=e(1);var l,g;return H(s,c,[a,n,o,r,i]),l=E(n,o??[""],j),g=c,l?.add(g),c},(e,a,...n)=>u(((t,e=[""])=>{const a=[],s=(t,n)=>n==c(e)?y(a,t):null===e[n]?h(t,(t=>s(t,n+1))):u([e[n],null],(e=>s(T(t,e),n+1)));return s(t,0),a})(e,a),(e=>h(e,(e=>T(s,e)[0](t,...a??[],...n))))),t=>r(T(s,t),(([,e,n])=>(E(e,n??[""],void 0,(e=>(p(e,t),w(e)?1:0))),H(s,t),a(t),n))),e=>r(T(s,e),(([e,,a=[],s,n])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...n(i)):o(a[l])?u(s[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),Q=t=>{t!=R&&(R=t,J(O,void 0,R))},W=e=>{(B&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=R&&(Q(1),V++,await tt((async()=>{await g((async()=>{const a=await e();i(a)?W(a):t?G(t):l("Content is not an array: "+a)}),(()=>{t&&G(t)})),Q(0)}))),et),Y=async()=>(z&&(await g((()=>n(z)),v),z=void 0),et),Z=async t=>(1!=R&&(Q(2),N++,await tt((async()=>{await g((()=>a(F,t)),v),Q(0)}))),et),_=async()=>(P&&(t.delListener(P),P=void 0),et),tt=async(...t)=>(y(T(x,S),...t),await(async()=>{if(!T(k,S)){for(H(k,S,1);!o(L=d(T(x,S)));)await g(L,v);H(k,S,0)}})(),et),et={load:X,startAutoLoad:async t=>(Y(),await X(t),await g((async()=>z=await s((async(t,e)=>{e||t?2!=R&&(Q(1),V++,W(e??t),Q(0)):await X()}))),v),et),stopAutoLoad:Y,isAutoLoading:()=>!o(z),save:Z,startAutoSave:async()=>(_(),await Z(),P=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!o(P),getStatus:()=>R,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:tt,getStore:()=>t,destroy:async()=>(T(x,S).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:V,saves:N}),...b};return C(et)},F=(t,a,s,n,i)=>{const c=R(),l=new BroadcastChannel(a);return((t,a,s,n,i,c,l,u,y={})=>{let d,w=0,h=0,v=0;const f=m(),b=()=>R(11),M=(t,e,s,n)=>{h++,c?.(t,e,s,n),a(t,e,s,n)},C=async(t,a,s,n)=>new e(((e,o)=>{const r=n+"."+R(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(f,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(f,r,[t,(t,a)=>{clearTimeout(c),p(f,r),e([t,a,n])}]),M(t,r,a,s)})),D=(t,[e,a])=>{S(e,(([e,a],s)=>{const n=L(t[0],s,O);S(e,(([t,e],a)=>{const s=L(n[0],a,O);S(t,(([t,e],a)=>s[0][a]=V(t,e))),s[1]=N(s[1],e)})),n[1]=N(n[1],a)})),t[1]=N(t[1],a)},E=(e=null,a,s=b())=>g((async()=>{o(a)&&([a,e,s]=await C(null,1,"",s));const[n,r]=a,[i,c]=t.getMergeableContentHashes();let l=O();if(i!=n){const[a,n]=(await C(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!A(n)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(n),s))[0];if(D(l,a),!A(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),s))[0];D(l,a)}}}return[l,c==r?O():(await C(e,7,t.getMergeableValueHashes(),s))[0],1]}),u),z=B(t,(async()=>{const t=await E();return!t||A(t[0][0])&&A(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(w=1,await(await z.startAutoLoad(t)).startAutoSave()),stopSync:async()=>(w=0,await z.stopAutoLoad(),await z.stopAutoSave(),z),destroy:async()=>(await z.stopSync(),n(),z),getSynchronizerStats:()=>({sends:h,receives:v}),...y},1);return s(((e,a,s,n)=>{const i=w||z.isAutoLoading();v++,l?.(e,a,s,n),0==s?r(T(f,a),(([t,a])=>o(t)||t==e?a(n,e):0)):2==s&&i?E(e,n,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==s&&i?d?.(void 0,n):r(1==s&&(w||z.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,(t=>{M(e,a,0,t)}))})),z})(t,((t,e,a,s)=>l.postMessage([c,t,e,a,s])),(t=>{l.onmessage=({data:[e,a,s,n,r]})=>o(a)||a==c?t(e,s,n,r):0}),(()=>{l.close()}),.01,s,n,i,{getChannelName:()=>a})};export{F as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=Math,s=n.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=(t,e)=>t.forEach(e),u=(t,...e)=>t.push(...e),d=t=>t.shift(),y=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),w=Object,v=t=>w.getPrototypeOf(t),f=w.entries,b=w.keys,M=w.freeze,C=(t,e)=>g(f(t),(([t,a])=>e(a,t))),S=t=>(t=>!o(t)&&r(v(t),(t=>t==w.prototype||o(v(t))),(()=>!0)))(t)&&0==(t=>c(b(t)))(t),A=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),L=(t,e)=>t?.get(e),T=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),H=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(L(t,e)):T(t,e,a()),L(t,e)},D=(t,e,a,n,s=0)=>r((a?H:L)(t,e[s],s>c(e)-2?a:m),(o=>{if(s>c(e)-2)return n?.(o)&&T(t,e[s]),o;const r=D(o,e,a,n,s+1);return y(o)&&T(t,e[s]),r})),E=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),z=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>s(256*n.random()))))(t),P=(t=16)=>{return e=(t,e)=>t+E[63&e],z(new Uint8Array(t)).reduce(e,"");var e},R=(t,e)=>e?[t,e]:[t],V=(t,e)=>((t??"")>(e??"")?t:e)??"",N=(t="")=>R(((t=[])=>w.fromEntries(t))(),t),O=/^\d+$/,$=t=>new Set(i(t)||o(t)?t:[t]),j=m(),k=m(),x=(t,e,a,n,s,w,v,f={},b=0,C=[])=>{let A,E,z,P=0,R=0,V=0;H(j,C,(()=>0)),H(k,C,(()=>[]));const N=m(),[x,B,F,U,q]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!S(t)||!S(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!S(t)||!S(e),e.setContent]:l("Store type not supported by this Persister"))(v,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{O.test(e)&&c(t)<1e3&&u(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return T(n,c,[a,s,o,r,i]),l=D(s,o??[""],$),g=c,l?.add(g),c},(e,a,...s)=>g(((t,e=[""])=>{const a=[],n=(t,s)=>s==c(e)?u(a,t):null===e[s]?h(t,(t=>n(t,s+1))):g([e[s],null],(e=>n(L(t,e),s+1)));return n(t,0),a})(e,a),(e=>h(e,(e=>L(n,e)[0](t,...a??[],...s))))),t=>r(L(n,t),(([,e,s])=>(D(e,s??[""],void 0,(e=>(p(e,t),y(e)?1:0))),T(n,t),a(t),s))),e=>r(L(n,e),(([e,,a=[],n,s])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...s(i)):o(a[l])?g(n[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),K=t=>{t!=P&&(P=t,I(N,void 0,P))},Q=e=>{(x&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();i(a)?Q(a):t?q(t):l("Content is not an array: "+a)}catch(e){w?.(e),t&&q(t)}K(0)}))),tt),X=()=>(E&&(s(E),E=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(B,t)}catch(t){w?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(u(L(k,C),...t),await(async()=>{if(!L(j,C)){for(T(j,C,1);!o(A=d(L(k,C)));)try{await A()}catch(t){w?.(t)}T(j,C,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{E=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){w?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!o(E),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=F();U(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!o(z),getStatus:()=>P,addStatusListener:t=>G(t,N),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(L(k,C).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return M(tt)},B=(t,a,n,s,i)=>{const c=P(),l=new BroadcastChannel(a);return((t,a,n,s,i,c,l,g,u={})=>{let d,y=0,h=0,w=0;const v=m(),f=()=>P(11),b=(t,e,n,s)=>{h++,c?.(t,e,n,s),a(t,e,n,s)},M=async(t,a,n,s)=>new e(((e,o)=>{const r=s+"."+P(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(v,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);T(v,r,[t,(t,a)=>{clearTimeout(c),p(v,r),e([t,a,s])}]),b(t,r,a,n)})),H=(t,[e,a])=>{C(e,(([e,a],n)=>{const s=A(t[0],n,N);C(e,(([t,e],a)=>{const n=A(s[0],a,N);C(t,(([t,e],a)=>n[0][a]=R(t,e))),n[1]=V(n[1],e)})),s[1]=V(s[1],a)})),t[1]=V(t[1],a)},D=async(e=null,a,n=f())=>{try{o(a)&&([a,e,n]=await M(null,1,"",n));const[s,r]=a,[i,c]=t.getMergeableContentHashes();let l=N();if(i!=s){const[a,s]=(await M(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!S(s)){const[a,o]=(await M(e,5,t.getMergeableRowHashes(s),n))[0];if(H(l,a),!S(o)){const a=(await M(e,6,t.getMergeableCellHashes(o),n))[0];H(l,a)}}}return[l,c==r?N():(await M(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){g?.(t)}},E=x(t,(async()=>{const t=await D();return!t||S(t[0][0])&&S(t[1][0])?void 0:t}),(async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),g,2,{startSync:async t=>(y=1,await(await E.startAutoLoad(t)).startAutoSave()),stopSync:()=>(y=0,E.stopAutoLoad().stopAutoSave()),destroy:()=>(s(),E.stopSync()),getSynchronizerStats:()=>({sends:h,receives:w}),...u},1);return n(((e,a,n,s)=>{const i=y||E.isAutoLoading();w++,l?.(e,a,n,s),0==n?r(L(v,a),(([t,a])=>o(t)||t==e?a(s,e):0)):2==n&&i?D(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(g):3==n&&i?d?.(void 0,s):r(1==n&&(y||E.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{b(e,a,0,t)}))})),E})(t,((t,e,a,n)=>l.postMessage([c,t,e,a,n])),(t=>{l.onmessage=({data:[e,a,n,s,r]})=>o(a)||a==c?t(e,n,s,r):0}),(()=>{l.close()}),.01,n,s,i,{getChannelName:()=>a})};export{B as createBroadcastChannelSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,s=Math,n=s.floor,o=t=>null==t,r=(t,e,a)=>o(t)?a?.():e(t),i=t=>Array.isArray(t),c=t=>t.length,l=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),w=t=>o(t)||0==(t=>t?.size??0)(t),h=(t,e)=>t?.forEach(e),p=(t,e)=>t?.delete(e),v=Object,f=t=>v.getPrototypeOf(t),b=v.entries,M=v.keys,C=v.freeze,S=(t,e)=>u(b(t),(([t,a])=>e(a,t))),A=t=>(t=>!o(t)&&r(f(t),(t=>t==v.prototype||o(f(t))),(()=>!0)))(t)&&0==(t=>c(M(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>o(a)?(p(t,e),t):t?.set(e,a),D=(t,e,a,s)=>{var n,o;return n=t,o=e,n?.has(o)?s?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,s,n=0)=>r((a?D:T)(t,e[n],n>c(e)-2?a:m),(o=>{if(n>c(e)-2)return s?.(o)&&H(t,e[n]),o;const r=E(o,e,a,s,n+1);return w(o)&&H(t,e[n]),r})),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),P=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>n(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+z[63&e],P(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],N=(t,e)=>((t??"")>(e??"")?t:e)??"",O=(t="")=>V(((t=[])=>v.fromEntries(t))(),t),$=/^\d+$/,j=t=>new Set(i(t)||o(t)?t:[t]),k=m(),x=m(),B=(t,e,a,s,n,v,f,b={},M=0,S=[])=>{let L,z,P,R=0,V=0,N=0;D(k,S,(()=>0)),D(x,S,(()=>[]));const O=m(),[B,F,U,q,G]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!A(t)||!A(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!A(t)||!A(e),e.setContent]:l("Store type not supported by this Persister"))(f,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{$.test(e)&&c(t)<1e3&&y(t,e)}]})(),s=m();return[(a,n,o,r=[],i=()=>[])=>{t??=et;const c=e(1);var l,g;return H(s,c,[a,n,o,r,i]),l=E(n,o??[""],j),g=c,l?.add(g),c},(e,a,...n)=>u(((t,e=[""])=>{const a=[],s=(t,n)=>n==c(e)?y(a,t):null===e[n]?h(t,(t=>s(t,n+1))):u([e[n],null],(e=>s(T(t,e),n+1)));return s(t,0),a})(e,a),(e=>h(e,(e=>T(s,e)[0](t,...a??[],...n))))),t=>r(T(s,t),(([,e,n])=>(E(e,n??[""],void 0,(e=>(p(e,t),w(e)?1:0))),H(s,t),a(t),n))),e=>r(T(s,e),(([e,,a=[],s,n])=>{const r=(...i)=>{const l=c(i);l==c(a)?e(t,...i,...n(i)):o(a[l])?u(s[l]?.(...i)??[],(t=>r(...i,t))):r(...i,a[l])};r()}))]})(),Q=t=>{t!=R&&(R=t,J(O,void 0,R))},W=e=>{(B&&i(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=R&&(Q(1),V++,await tt((async()=>{await g((async()=>{const a=await e();i(a)?W(a):t?G(t):l("Content is not an array: "+a)}),(()=>{t&&G(t)})),Q(0)}))),et),Y=async()=>(z&&(await g((()=>n(z)),v),z=void 0),et),Z=async t=>(1!=R&&(Q(2),N++,await tt((async()=>{await g((()=>a(F,t)),v),Q(0)}))),et),_=async()=>(P&&(t.delListener(P),P=void 0),et),tt=async(...t)=>(y(T(x,S),...t),await(async()=>{if(!T(k,S)){for(H(k,S,1);!o(L=d(T(x,S)));)await g(L,v);H(k,S,0)}})(),et),et={load:X,startAutoLoad:async t=>(Y(),await X(t),await g((async()=>z=await s((async(t,e)=>{e||t?2!=R&&(Q(1),V++,W(e??t),Q(0)):await X()}))),v),et),stopAutoLoad:Y,isAutoLoading:()=>!o(z),save:Z,startAutoSave:async()=>(_(),await Z(),P=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!o(P),getStatus:()=>R,addStatusListener:t=>I(t,O),delListener:e=>(K(e),t),schedule:tt,getStore:()=>t,destroy:async()=>(T(x,S).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:V,saves:N}),...b};return C(et)},F=(t,a,s,n,i)=>{const c=R(),l=new BroadcastChannel(a);return((t,a,s,n,i,c,l,u,y={})=>{let d,w=0,h=0,v=0;const f=m(),b=()=>R(11),M=(t,e,s,n)=>{h++,c?.(t,e,s,n),a(t,e,s,n)},C=async(t,a,s,n)=>new e(((e,o)=>{const r=n+"."+R(4),c=((t,e=0)=>setTimeout(t,1e3*e))((()=>{p(f,r),o(`No response from ${t??"anyone"} to ${r}, `+a)}),i);H(f,r,[t,(t,a)=>{clearTimeout(c),p(f,r),e([t,a,n])}]),M(t,r,a,s)})),D=(t,[e,a])=>{S(e,(([e,a],s)=>{const n=L(t[0],s,O);S(e,(([t,e],a)=>{const s=L(n[0],a,O);S(t,(([t,e],a)=>s[0][a]=V(t,e))),s[1]=N(s[1],e)})),n[1]=N(n[1],a)})),t[1]=N(t[1],a)},E=(e=null,a,s=b())=>g((async()=>{o(a)&&([a,e,s]=await C(null,1,"",s));const[n,r]=a,[i,c]=t.getMergeableContentHashes();let l=O();if(i!=n){const[a,n]=(await C(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!A(n)){const[a,o]=(await C(e,5,t.getMergeableRowHashes(n),s))[0];if(D(l,a),!A(o)){const a=(await C(e,6,t.getMergeableCellHashes(o),s))[0];D(l,a)}}}return[l,c==r?O():(await C(e,7,t.getMergeableValueHashes(),s))[0],1]}),u),z=B(t,(async()=>{const t=await E();return!t||A(t[0][0])&&A(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(w=1,await(await z.startAutoLoad(t)).startAutoSave()),stopSync:async()=>(w=0,await z.stopAutoLoad(),await z.stopAutoSave(),z),destroy:async()=>(await z.stopSync(),n(),z),getSynchronizerStats:()=>({sends:h,receives:v}),...y},1);return s(((e,a,s,n)=>{const i=w||z.isAutoLoading();v++,l?.(e,a,s,n),0==s?r(T(f,a),(([t,a])=>o(t)||t==e?a(n,e):0)):2==s&&i?E(e,n,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==s&&i?d?.(void 0,n):r(1==s&&(w||z.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(n):5==s?t.getMergeableRowDiff(n):6==s?t.getMergeableCellDiff(n):7==s?t.getMergeableValueDiff(n):void 0,(t=>{M(e,a,0,t)}))})),z})(t,((t,e,a,s)=>l.postMessage([c,t,e,a,s])),(t=>{l.onmessage=({data:[e,a,s,n,r]})=>o(a)||a==c?t(e,s,n,r):0}),(()=>{l.close()}),.01,s,n,i,{getChannelName:()=>a})};export{F as createBroadcastChannelSynchronizer};
@@ -1 +1 @@
1
- const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,o=s.floor,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,g=t=>{throw Error(t)},u=(t,e)=>t.forEach(e),y=(t,...e)=>t.push(...e),d=t=>t.shift(),h=t=>r(t)||0==(t=>t?.size??0)(t),p=(t,e)=>t?.forEach(e),v=(t,e)=>t?.delete(e),w=Object,f=t=>w.getPrototypeOf(t),b=w.entries,M=w.keys,S=w.freeze,A=(t,e)=>u(b(t),(([t,a])=>e(a,t))),C=t=>(t=>!r(t)&&i(f(t),(t=>t==w.prototype||r(f(t))),(()=>!0)))(t)&&0==(t=>l(M(t)))(t),L=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),m=t=>new Map(t),T=(t,e)=>t?.get(e),H=(t,e,a)=>r(a)?(v(t,e),t):t?.set(e,a),D=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(T(t,e)):H(t,e,a()),T(t,e)},E=(t,e,a,n,s=0)=>i((a?D:T)(t,e[s],s>l(e)-2?a:m),(o=>{if(s>l(e)-2)return n?.(o)&&H(t,e[s]),o;const r=E(o,e,a,n,s+1);return h(o)&&H(t,e[s]),r})),z=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),P=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>o(256*s.random()))))(t),R=(t=16)=>{return e=(t,e)=>t+z[63&e],P(new Uint8Array(t)).reduce(e,"");var e},V=(t,e)=>e?[t,e]:[t],O=(t,e)=>((t??"")>(e??"")?t:e)??"",$=(t="")=>V(((t=[])=>w.fromEntries(t))(),t),j=/^\d+$/,k=t=>new Set(c(t)||r(t)?t:[t]),x=m(),F=m(),N=(t,e,a,n,s,o,w,f={},b=0,M=[])=>{let A,L,z,P=0,R=0,V=0;D(x,M,(()=>0)),D(F,M,(()=>[]));const O=m(),[$,N,U,q,B]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!C(t)||!C(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!C(t)||!C(e),e.setContent]:g("Store type not supported by this Persister"))(w,t,b),[G,I,J]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?d(t):null)??""+e++,e=>{j.test(e)&&l(t)<1e3&&y(t,e)}]})(),n=m();return[(a,s,o,r=[],i=()=>[])=>{t??=tt;const c=e(1);var l,g;return H(n,c,[a,s,o,r,i]),l=E(s,o??[""],k),g=c,l?.add(g),c},(e,a,...s)=>u(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?y(a,t):null===e[s]?p(t,(t=>n(t,s+1))):u([e[s],null],(e=>n(T(t,e),s+1)));return n(t,0),a})(e,a),(e=>p(e,(e=>T(n,e)[0](t,...a??[],...s))))),t=>i(T(n,t),(([,e,s])=>(E(e,s??[""],void 0,(e=>(v(e,t),h(e)?1:0))),H(n,t),a(t),s))),e=>i(T(n,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):r(a[c])?u(n[c]?.(...i)??[],(t=>o(...i,t))):o(...i,a[c])};o()}))]})(),K=t=>{t!=P&&(P=t,I(O,void 0,P))},Q=e=>{($&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},W=async t=>(2!=P&&(K(1),R++,await _((async()=>{try{const a=await e();c(a)?Q(a):t?B(t):g("Content is not an array: "+a)}catch(e){o?.(e),t&&B(t)}K(0)}))),tt),X=()=>(L&&(s(L),L=void 0),tt),Y=async t=>(1!=P&&(K(2),V++,await _((async()=>{try{await a(N,t)}catch(t){o?.(t)}K(0)}))),tt),Z=()=>(z&&(t.delListener(z),z=void 0),tt),_=async(...t)=>(y(T(F,M),...t),await(async()=>{if(!T(x,M)){for(H(x,M,1);!r(A=d(T(F,M)));)try{await A()}catch(t){o?.(t)}H(x,M,0)}})(),tt),tt={load:W,startAutoLoad:async t=>{X(),await W(t);try{L=await n((async(t,e)=>{e||t?2!=P&&(K(1),R++,Q(e??t),K(0)):await W()}))}catch(t){o?.(t)}return tt},stopAutoLoad:X,isAutoLoading:()=>!r(L),save:Y,startAutoSave:async()=>(Z(),await Y(),z=t.addDidFinishTransactionListener((()=>{const t=U();q(t)&&Y(t)})),tt),stopAutoSave:Z,isAutoSaving:()=>!r(z),getStatus:()=>P,addStatusListener:t=>G(t,O),delListener:e=>(J(e),t),schedule:_,getStore:()=>t,destroy:()=>(T(F,M).splice(0,void 0),X().stopAutoSave()),getStats:()=>({loads:R,saves:V}),...f};return S(tt)},U=m(),q=(t,a,s,o)=>{const c=R();return((t,a,s,o,c,l,g,u,y={})=>{let d,h=0,p=0,w=0;const f=m(),b=()=>R(11),M=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},S=async(t,a,s,o)=>new e(((e,r)=>{const i=o+"."+R(4),l=n((()=>{v(f,i),r(`No response from ${t??"anyone"} to ${i}, `+a)}),c);H(f,i,[t,(t,a)=>{clearTimeout(l),v(f,i),e([t,a,o])}]),M(t,i,a,s)})),D=(t,[e,a])=>{A(e,(([e,a],n)=>{const s=L(t[0],n,$);A(e,(([t,e],a)=>{const n=L(s[0],a,$);A(t,(([t,e],a)=>n[0][a]=V(t,e))),n[1]=O(n[1],e)})),s[1]=O(s[1],a)})),t[1]=O(t[1],a)},E=async(e=null,a,n=b())=>{try{r(a)&&([a,e,n]=await S(null,1,"",n));const[s,o]=a,[i,c]=t.getMergeableContentHashes();let l=$();if(i!=s){const[a,s]=(await S(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!C(s)){const[a,o]=(await S(e,5,t.getMergeableRowHashes(s),n))[0];if(D(l,a),!C(o)){const a=(await S(e,6,t.getMergeableCellHashes(o),n))[0];D(l,a)}}}return[l,c==o?$():(await S(e,7,t.getMergeableValueHashes(),n))[0],1]}catch(t){u?.(t)}},z=N(t,(async()=>{const t=await E();return!t||C(t[0][0])&&C(t[1][0])?void 0:t}),(async(e,a)=>a?M(null,b(),3,a):M(null,b(),2,t.getMergeableContentHashes())),(t=>d=t),(()=>d=void 0),u,2,{startSync:async t=>(h=1,await(await z.startAutoLoad(t)).startAutoSave()),stopSync:()=>(h=0,z.stopAutoLoad().stopAutoSave()),destroy:()=>(o(),z.stopSync()),getSynchronizerStats:()=>({sends:p,receives:w}),...y},1);return s(((e,a,n,s)=>{const o=h||z.isAutoLoading();w++,g?.(e,a,n,s),0==n?i(T(f,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?E(e,s,a??void 0).then((t=>{d?.(void 0,t)})).catch(u):3==n&&o?d?.(void 0,s):i(1==n&&(h||z.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{M(e,a,0,t)}))})),z})(t,((t,e,a,s)=>n((()=>{return r(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,p(U,((t,e)=>n(e,t)))):T(U,t)?.(c,e,a,s);var n}))),(t=>{H(U,c,t)}),(()=>{v(U,c)}),.01,a,s,o)};export{q as createLocalSynchronizer};
1
+ const t=(t,e="",a)=>t.split(e,a),e=Promise,a=globalThis,n=(t,e=0)=>setTimeout(t,1e3*e),s=Math,o=s.floor,r=t=>null==t,i=(t,e,a)=>r(t)?a?.():e(t),c=t=>Array.isArray(t),l=t=>t.length,u=t=>{throw Error(t)},g=async(t,e,a)=>{try{return await t()}catch(t){e?.(t)}},y=(t,e)=>t.forEach(e),d=(t,...e)=>t.push(...e),w=t=>t.shift(),h=t=>r(t)||0==(t=>t?.size??0)(t),p=(t,e)=>t?.forEach(e),v=(t,e)=>t?.delete(e),f=Object,b=t=>f.getPrototypeOf(t),M=f.entries,S=f.keys,A=f.freeze,C=(t,e)=>y(M(t),(([t,a])=>e(a,t))),L=t=>(t=>!r(t)&&i(b(t),(t=>t==f.prototype||r(b(t))),(()=>!0)))(t)&&0==(t=>l(S(t)))(t),m=(t,e,a)=>(((t,e)=>e in t)(t,e)||(t[e]=a()),t[e]),T=t=>new Map(t),H=(t,e)=>t?.get(e),D=(t,e,a)=>r(a)?(v(t,e),t):t?.set(e,a),E=(t,e,a,n)=>{var s,o;return s=t,o=e,s?.has(o)?n?.(H(t,e)):D(t,e,a()),H(t,e)},z=(t,e,a,n,s=0)=>i((a?E:H)(t,e[s],s>l(e)-2?a:T),(o=>{if(s>l(e)-2)return n?.(o)&&D(t,e[s]),o;const r=z(o,e,a,n,s+1);return h(o)&&D(t,e[s]),r})),P=t("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),R=a.crypto?t=>a.crypto.getRandomValues(t):t=>(t=>t.map((()=>o(256*s.random()))))(t),V=(t=16)=>{return e=(t,e)=>t+P[63&e],R(new Uint8Array(t)).reduce(e,"");var e},O=(t,e)=>e?[t,e]:[t],$=(t,e)=>((t??"")>(e??"")?t:e)??"",j=(t="")=>O(((t=[])=>f.fromEntries(t))(),t),k=/^\d+$/,x=t=>new Set(c(t)||r(t)?t:[t]),F=T(),N=T(),U=(t,e,a,n,s,o,f,b={},M=0,S=[])=>{let C,m,P,R=0,V=0,O=0;E(F,S,(()=>0)),E(N,S,(()=>[]));const $=T(),[j,U,q,B,G]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.getMergeableContent,()=>e.getTransactionMergeableChanges(!a),([[t],[e]])=>!L(t)||!L(e),e.setDefaultContent]:2!=t?[0,e.getContent,e.getTransactionChanges,([t,e])=>!L(t)||!L(e),e.setContent]:u("Store type not supported by this Persister"))(f,t,M),[I,J,K]=(()=>{let t;const[e,a]=(()=>{const t=[];let e=0;return[a=>(a?w(t):null)??""+e++,e=>{k.test(e)&&l(t)<1e3&&d(t,e)}]})(),n=T();return[(a,s,o,r=[],i=()=>[])=>{t??=et;const c=e(1);var l,u;return D(n,c,[a,s,o,r,i]),l=z(s,o??[""],x),u=c,l?.add(u),c},(e,a,...s)=>y(((t,e=[""])=>{const a=[],n=(t,s)=>s==l(e)?d(a,t):null===e[s]?p(t,(t=>n(t,s+1))):y([e[s],null],(e=>n(H(t,e),s+1)));return n(t,0),a})(e,a),(e=>p(e,(e=>H(n,e)[0](t,...a??[],...s))))),t=>i(H(n,t),(([,e,s])=>(z(e,s??[""],void 0,(e=>(v(e,t),h(e)?1:0))),D(n,t),a(t),s))),e=>i(H(n,e),(([e,,a=[],n,s])=>{const o=(...i)=>{const c=l(i);c==l(a)?e(t,...i,...s(i)):r(a[c])?y(n[c]?.(...i)??[],(t=>o(...i,t))):o(...i,a[c])};o()}))]})(),Q=t=>{t!=R&&(R=t,J($,void 0,R))},W=e=>{(j&&c(e?.[0])?1===e?.[2]?t.applyMergeableChanges:t.setMergeableContent:1===e?.[2]?t.applyChanges:t.setContent)(e)},X=async t=>(2!=R&&(Q(1),V++,await tt((async()=>{await g((async()=>{const a=await e();c(a)?W(a):t?G(t):u("Content is not an array: "+a)}),(()=>{t&&G(t)})),Q(0)}))),et),Y=async()=>(m&&(await g((()=>s(m)),o),m=void 0),et),Z=async t=>(1!=R&&(Q(2),O++,await tt((async()=>{await g((()=>a(U,t)),o),Q(0)}))),et),_=async()=>(P&&(t.delListener(P),P=void 0),et),tt=async(...t)=>(d(H(N,S),...t),await(async()=>{if(!H(F,S)){for(D(F,S,1);!r(C=w(H(N,S)));)await g(C,o);D(F,S,0)}})(),et),et={load:X,startAutoLoad:async t=>(Y(),await X(t),await g((async()=>m=await n((async(t,e)=>{e||t?2!=R&&(Q(1),V++,W(e??t),Q(0)):await X()}))),o),et),stopAutoLoad:Y,isAutoLoading:()=>!r(m),save:Z,startAutoSave:async()=>(_(),await Z(),P=t.addDidFinishTransactionListener((()=>{const t=q();B(t)&&Z(t)})),et),stopAutoSave:_,isAutoSaving:()=>!r(P),getStatus:()=>R,addStatusListener:t=>I(t,$),delListener:e=>(K(e),t),schedule:tt,getStore:()=>t,destroy:async()=>(H(N,S).splice(0,void 0),await et.stopAutoLoad(),await et.stopAutoSave()),getStats:()=>({loads:V,saves:O}),...b};return A(et)},q=T(),B=(t,a,s,o)=>{const c=V();return((t,a,s,o,c,l,u,y,d={})=>{let w,h=0,p=0,f=0;const b=T(),M=()=>V(11),S=(t,e,n,s)=>{p++,l?.(t,e,n,s),a(t,e,n,s)},A=async(t,a,s,o)=>new e(((e,r)=>{const i=o+"."+V(4),l=n((()=>{v(b,i),r(`No response from ${t??"anyone"} to ${i}, `+a)}),c);D(b,i,[t,(t,a)=>{clearTimeout(l),v(b,i),e([t,a,o])}]),S(t,i,a,s)})),E=(t,[e,a])=>{C(e,(([e,a],n)=>{const s=m(t[0],n,j);C(e,(([t,e],a)=>{const n=m(s[0],a,j);C(t,(([t,e],a)=>n[0][a]=O(t,e))),n[1]=$(n[1],e)})),s[1]=$(s[1],a)})),t[1]=$(t[1],a)},z=(e=null,a,n=M())=>g((async()=>{r(a)&&([a,e,n]=await A(null,1,"",n));const[s,o]=a,[i,c]=t.getMergeableContentHashes();let l=j();if(i!=s){const[a,s]=(await A(e,4,t.getMergeableTableHashes(),n))[0];if(l=a,!L(s)){const[a,o]=(await A(e,5,t.getMergeableRowHashes(s),n))[0];if(E(l,a),!L(o)){const a=(await A(e,6,t.getMergeableCellHashes(o),n))[0];E(l,a)}}}return[l,c==o?j():(await A(e,7,t.getMergeableValueHashes(),n))[0],1]}),y),P=U(t,(async()=>{const t=await z();return!t||L(t[0][0])&&L(t[1][0])?void 0:t}),(async(e,a)=>a?S(null,M(),3,a):S(null,M(),2,t.getMergeableContentHashes())),(t=>w=t),(()=>w=void 0),y,2,{startSync:async t=>(h=1,await(await P.startAutoLoad(t)).startAutoSave()),stopSync:async()=>(h=0,await P.stopAutoLoad(),await P.stopAutoSave(),P),destroy:async()=>(await P.stopSync(),o(),P),getSynchronizerStats:()=>({sends:p,receives:f}),...d},1);return s(((e,a,n,s)=>{const o=h||P.isAutoLoading();f++,u?.(e,a,n,s),0==n?i(H(b,a),(([t,a])=>r(t)||t==e?a(s,e):0)):2==n&&o?z(e,s,a??void 0).then((t=>{w?.(void 0,t)})).catch(y):3==n&&o?w?.(void 0,s):i(1==n&&(h||P.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,(t=>{S(e,a,0,t)}))})),P})(t,((t,e,a,s)=>n((()=>{return r(t)?(n=(t,n)=>t!=c?n(c,e,a,s):0,p(q,((t,e)=>n(e,t)))):H(q,t)?.(c,e,a,s);var n}))),(t=>{D(q,c,t)}),(()=>{v(q,c)}),.01,a,s,o)};export{B as createLocalSynchronizer};