tinybase 5.0.0-beta.1 → 5.0.0-beta.3

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 (313) hide show
  1. package/lib/cjs/mergeable-store.cjs +1 -0
  2. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  3. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  4. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  5. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  6. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  7. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  8. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  10. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  12. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  14. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-file.cjs +1 -1
  16. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  18. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  20. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  24. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  26. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  30. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  31. package/lib/cjs/persisters.cjs +1 -1
  32. package/lib/cjs/persisters.cjs.gz +0 -0
  33. package/lib/cjs/store.cjs +1 -1
  34. package/lib/cjs/store.cjs.gz +0 -0
  35. package/lib/cjs/tinybase.cjs +1 -1
  36. package/lib/cjs/tinybase.cjs.gz +0 -0
  37. package/lib/cjs/tools.cjs +1 -1
  38. package/lib/cjs/tools.cjs.gz +0 -0
  39. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  40. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  41. package/lib/cjs/ui-react-dom.cjs +1 -1
  42. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  43. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  44. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  45. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  46. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  47. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  48. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  49. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  50. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  51. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  52. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  53. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  54. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  55. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  56. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters.cjs +1 -1
  74. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  75. package/lib/cjs-es6/store.cjs +1 -1
  76. package/lib/cjs-es6/store.cjs.gz +0 -0
  77. package/lib/cjs-es6/tinybase.cjs +1 -1
  78. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  79. package/lib/cjs-es6/tools.cjs +1 -1
  80. package/lib/cjs-es6/tools.cjs.gz +0 -0
  81. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  82. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  83. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  84. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  85. package/lib/debug/mergeable-store.js +1863 -0
  86. package/lib/debug/persisters/persister-automerge.js +54 -53
  87. package/lib/debug/persisters/persister-browser.js +28 -18
  88. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +80 -57
  89. package/lib/debug/persisters/persister-electric-sql.js +80 -57
  90. package/lib/debug/persisters/persister-expo-sqlite-next.js +80 -57
  91. package/lib/debug/persisters/persister-expo-sqlite.js +80 -57
  92. package/lib/debug/persisters/persister-file.js +27 -18
  93. package/lib/debug/persisters/persister-indexed-db.js +34 -23
  94. package/lib/debug/persisters/persister-partykit-client.js +26 -23
  95. package/lib/debug/persisters/persister-partykit-server.js +11 -21
  96. package/lib/debug/persisters/persister-remote.js +28 -18
  97. package/lib/debug/persisters/persister-sqlite-wasm.js +80 -57
  98. package/lib/debug/persisters/persister-sqlite3.js +80 -57
  99. package/lib/debug/persisters/persister-yjs.js +50 -48
  100. package/lib/debug/persisters.js +27 -18
  101. package/lib/debug/queries.js +2 -2
  102. package/lib/debug/store.js +63 -71
  103. package/lib/debug/tinybase.js +354 -90
  104. package/lib/debug/tools.js +13 -15
  105. package/lib/debug/ui-react-dom.js +115 -119
  106. package/lib/es6/mergeable-store.js +1 -0
  107. package/lib/es6/mergeable-store.js.gz +0 -0
  108. package/lib/es6/persisters/persister-automerge.js +1 -1
  109. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  110. package/lib/es6/persisters/persister-browser.js +1 -1
  111. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  112. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  113. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  114. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  115. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  116. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  117. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  118. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  119. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  120. package/lib/es6/persisters/persister-file.js +1 -1
  121. package/lib/es6/persisters/persister-file.js.gz +0 -0
  122. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  123. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  124. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  125. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  126. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  127. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  128. package/lib/es6/persisters/persister-remote.js +1 -1
  129. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  130. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  131. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  132. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  133. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  134. package/lib/es6/persisters/persister-yjs.js +1 -1
  135. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  136. package/lib/es6/persisters.js +1 -1
  137. package/lib/es6/persisters.js.gz +0 -0
  138. package/lib/es6/store.js +1 -1
  139. package/lib/es6/store.js.gz +0 -0
  140. package/lib/es6/tinybase.js +1 -1
  141. package/lib/es6/tinybase.js.gz +0 -0
  142. package/lib/es6/tools.js +1 -1
  143. package/lib/es6/tools.js.gz +0 -0
  144. package/lib/es6/ui-react-dom-debug.js +1 -1
  145. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  146. package/lib/es6/ui-react-dom.js +1 -1
  147. package/lib/es6/ui-react-dom.js.gz +0 -0
  148. package/lib/mergeable-store.js +1 -0
  149. package/lib/mergeable-store.js.gz +0 -0
  150. package/lib/persisters/persister-automerge.js +1 -1
  151. package/lib/persisters/persister-automerge.js.gz +0 -0
  152. package/lib/persisters/persister-browser.js +1 -1
  153. package/lib/persisters/persister-browser.js.gz +0 -0
  154. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  155. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  156. package/lib/persisters/persister-electric-sql.js +1 -1
  157. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  158. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  159. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  160. package/lib/persisters/persister-expo-sqlite.js +1 -1
  161. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  162. package/lib/persisters/persister-file.js +1 -1
  163. package/lib/persisters/persister-file.js.gz +0 -0
  164. package/lib/persisters/persister-indexed-db.js +1 -1
  165. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  166. package/lib/persisters/persister-partykit-client.js +1 -1
  167. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  168. package/lib/persisters/persister-partykit-server.js +1 -1
  169. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  170. package/lib/persisters/persister-remote.js +1 -1
  171. package/lib/persisters/persister-remote.js.gz +0 -0
  172. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  173. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  174. package/lib/persisters/persister-sqlite3.js +1 -1
  175. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  176. package/lib/persisters/persister-yjs.js +1 -1
  177. package/lib/persisters/persister-yjs.js.gz +0 -0
  178. package/lib/persisters.js +1 -1
  179. package/lib/persisters.js.gz +0 -0
  180. package/lib/store.js +1 -1
  181. package/lib/store.js.gz +0 -0
  182. package/lib/tinybase.js +1 -1
  183. package/lib/tinybase.js.gz +0 -0
  184. package/lib/tools.js +1 -1
  185. package/lib/tools.js.gz +0 -0
  186. package/lib/types/mergeable-store.d.ts +79 -0
  187. package/lib/types/persisters/persister-automerge.d.ts +8 -7
  188. package/lib/types/persisters/persister-browser.d.ts +2 -0
  189. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  190. package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
  191. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +1 -0
  192. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
  193. package/lib/types/persisters/persister-file.d.ts +1 -0
  194. package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
  195. package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
  196. package/lib/types/persisters/persister-partykit-server.d.ts +12 -8
  197. package/lib/types/persisters/persister-remote.d.ts +1 -0
  198. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
  199. package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
  200. package/lib/types/persisters/persister-yjs.d.ts +1 -0
  201. package/lib/types/persisters.d.ts +50 -30
  202. package/lib/types/store.d.ts +241 -186
  203. package/lib/types/tinybase.d.ts +1 -0
  204. package/lib/types/tools.d.ts +2 -2
  205. package/lib/types/ui-react.d.ts +1 -0
  206. package/lib/types/with-schemas/internal/store.d.ts +4 -0
  207. package/lib/types/with-schemas/mergeable-store.d.ts +112 -0
  208. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
  209. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
  210. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  211. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
  212. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +1 -0
  213. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
  214. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
  215. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
  216. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
  217. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +15 -11
  218. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
  219. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
  220. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
  221. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
  222. package/lib/types/with-schemas/persisters.d.ts +81 -45
  223. package/lib/types/with-schemas/store.d.ts +364 -273
  224. package/lib/types/with-schemas/tinybase.d.ts +1 -0
  225. package/lib/types/with-schemas/tools.d.ts +2 -2
  226. package/lib/ui-react-dom.js +1 -1
  227. package/lib/ui-react-dom.js.gz +0 -0
  228. package/lib/umd/mergeable-store.js +1 -0
  229. package/lib/umd/mergeable-store.js.gz +0 -0
  230. package/lib/umd/persisters/persister-automerge.js +1 -1
  231. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  232. package/lib/umd/persisters/persister-browser.js +1 -1
  233. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  234. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  235. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  236. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  237. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  238. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  239. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  240. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  241. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  242. package/lib/umd/persisters/persister-file.js +1 -1
  243. package/lib/umd/persisters/persister-file.js.gz +0 -0
  244. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  245. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  246. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  247. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  248. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  249. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  250. package/lib/umd/persisters/persister-remote.js +1 -1
  251. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  252. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  253. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  254. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  255. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  256. package/lib/umd/persisters/persister-yjs.js +1 -1
  257. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  258. package/lib/umd/persisters.js +1 -1
  259. package/lib/umd/persisters.js.gz +0 -0
  260. package/lib/umd/store.js +1 -1
  261. package/lib/umd/store.js.gz +0 -0
  262. package/lib/umd/tinybase.js +1 -1
  263. package/lib/umd/tinybase.js.gz +0 -0
  264. package/lib/umd/tools.js +1 -1
  265. package/lib/umd/tools.js.gz +0 -0
  266. package/lib/umd/ui-react-dom-debug.js +1 -1
  267. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  268. package/lib/umd/ui-react-dom.js +1 -1
  269. package/lib/umd/ui-react-dom.js.gz +0 -0
  270. package/lib/umd-es6/mergeable-store.js +1 -0
  271. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  272. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  273. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  274. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  275. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  276. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  277. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  278. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  279. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  280. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  281. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  282. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  283. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  284. package/lib/umd-es6/persisters/persister-file.js +1 -1
  285. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  286. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  287. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  288. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  289. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  290. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  291. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  292. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  293. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  294. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  295. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  296. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  297. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  298. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  299. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  300. package/lib/umd-es6/persisters.js +1 -1
  301. package/lib/umd-es6/persisters.js.gz +0 -0
  302. package/lib/umd-es6/store.js +1 -1
  303. package/lib/umd-es6/store.js.gz +0 -0
  304. package/lib/umd-es6/tinybase.js +1 -1
  305. package/lib/umd-es6/tinybase.js.gz +0 -0
  306. package/lib/umd-es6/tools.js +1 -1
  307. package/lib/umd-es6/tools.js.gz +0 -0
  308. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  309. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  310. package/lib/umd-es6/ui-react-dom.js +1 -1
  311. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  312. package/package.json +39 -35
  313. package/readme.md +2 -2
@@ -69,7 +69,7 @@ const isObject = (obj) =>
69
69
  /* istanbul ignore next */
70
70
  () => true,
71
71
  );
72
- const objMap = (obj, cb) =>
72
+ const objToArray = (obj, cb) =>
73
73
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
74
74
  const objSize = (obj) => size(objIds(obj));
75
75
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
@@ -101,6 +101,7 @@ const A_FUNCTION_FOR = 'A function for';
101
101
  const AND_REGISTERS =
102
102
  ', and registers a listener so that any changes to that result will cause a re-render';
103
103
  const CALLBACK = 'Callback';
104
+ const CHANGES = 'Changes';
104
105
  const COUNT = 'Count';
105
106
  const DEL = 'Del';
106
107
  const DEPS = 'Deps';
@@ -128,7 +129,6 @@ const SORTED_ARGS = ', descending?: boolean, offset?: number, limit?: number';
128
129
  const SQUARE_BRACKETS = '[]';
129
130
  const THE_STORE = 'the Store';
130
131
  const TRANSACTION = 'Transaction';
131
- const TRANSACTION_CHANGES = TRANSACTION + 'Changes';
132
132
  const TRANSACTION_ = lower(TRANSACTION);
133
133
  const TRANSACTION_DOC =
134
134
  'Execute a ' + TRANSACTION_ + ' to make multiple mutations';
@@ -407,7 +407,7 @@ const getCreateFunction = (getFunction, initFunction) => {
407
407
 
408
408
  const getSchemaFunctions = (tablesSchema, valuesSchema, addConstant) => {
409
409
  const mapTablesSchema = (callback) =>
410
- objMap(tablesSchema, (_, tableId) => {
410
+ objToArray(tablesSchema, (_, tableId) => {
411
411
  return callback(
412
412
  tableId,
413
413
  camel(tableId, 1),
@@ -415,7 +415,7 @@ const getSchemaFunctions = (tablesSchema, valuesSchema, addConstant) => {
415
415
  );
416
416
  });
417
417
  const mapCellSchema = (tableId, callback) =>
418
- objMap(tablesSchema[tableId], (cellSchema, cellId) =>
418
+ objToArray(tablesSchema[tableId], (cellSchema, cellId) =>
419
419
  callback(
420
420
  cellId,
421
421
  cellSchema[TYPE],
@@ -425,7 +425,7 @@ const getSchemaFunctions = (tablesSchema, valuesSchema, addConstant) => {
425
425
  ),
426
426
  );
427
427
  const mapValuesSchema = (callback) =>
428
- objMap(valuesSchema, (valueSchema, valueId) =>
428
+ objToArray(valuesSchema, (valueSchema, valueId) =>
429
429
  callback(
430
430
  valueId,
431
431
  valueSchema[TYPE],
@@ -890,8 +890,7 @@ const getTypeFunctions = (
890
890
  const getTransactionListenerType = (storeInstance, storeType) =>
891
891
  addType(
892
892
  TRANSACTION + LISTENER,
893
- `(${storeInstance}: ${storeType}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)` +
894
- RETURNS_VOID,
893
+ `(${storeInstance}: ${storeType})` + RETURNS_VOID,
895
894
  A_FUNCTION_FOR + ' listening to the completion of a ' + TRANSACTION_,
896
895
  );
897
896
  return [getTablesTypes, getValuesTypes, getTransactionListenerType];
@@ -1701,13 +1700,13 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
1701
1700
  '[tables, values]',
1702
1701
  );
1703
1702
  addProxyMethod(
1704
- 2,
1703
+ 7,
1705
1704
  EMPTY_STRING,
1706
- TRANSACTION_CHANGES,
1705
+ 'applyChanges',
1707
1706
  storeType,
1708
- `Applies a set of ${TRANSACTION_CHANGES} to the Store`,
1709
- 'transactionChanges: ' + TRANSACTION_CHANGES,
1710
- 'transactionChanges',
1707
+ `Applies a set of ${CHANGES} to the Store`,
1708
+ 'changes: ' + CHANGES,
1709
+ 'changes',
1711
1710
  );
1712
1711
  mapForEach(mapCellOrValueTypes, (type, mapCellType) =>
1713
1712
  addType(
@@ -1724,9 +1723,8 @@ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
1724
1723
  'IdOrNull',
1725
1724
  JSON$1,
1726
1725
  'Store',
1727
- TRANSACTION_CHANGES,
1726
+ CHANGES,
1728
1727
  );
1729
- addImport(0, TINYBASE, 'Get' + TRANSACTION_CHANGES, 'GetTransactionLog');
1730
1728
  addProxyMethod(
1731
1729
  0,
1732
1730
  EMPTY_STRING,
@@ -3111,7 +3109,7 @@ const getStoreUiReactApi = (
3111
3109
  PROVIDER,
3112
3110
  `{${storeInstance}, ${storeInstance}ById, children}: ` +
3113
3111
  providerPropsType +
3114
- ' & {children: React.ReactNode}',
3112
+ ' & {readonly children: React.ReactNode}',
3115
3113
  [
3116
3114
  '{',
3117
3115
  USE_CONTEXT,
@@ -138,14 +138,15 @@ const isObject = (obj) =>
138
138
  () => true,
139
139
  );
140
140
  const objNew = (entries = []) => object.fromEntries(entries);
141
- const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
142
- const objHas = (obj, id) => !isUndefined(objGet(obj, id));
141
+ const objHas = (obj, id) => id in obj;
143
142
  const objDel = (obj, id) => {
144
143
  delete obj[id];
145
144
  return obj;
146
145
  };
147
- const objMap = (obj, cb) =>
146
+ const objToArray = (obj, cb) =>
148
147
  arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
148
+ const objMap = (obj, cb) =>
149
+ objNew(objToArray(obj, (value, id) => [id, cb(value, id)]));
149
150
  const objSize = (obj) => size(objIds(obj));
150
151
  const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
151
152
 
@@ -207,7 +208,7 @@ const DONE_SVG = PRE + `<path d='${PENCIL}M20 20l60 60' />` + POST;
207
208
 
208
209
  const SCROLLBAR = '*::-webkit-scrollbar';
209
210
  const APP_STYLESHEET = arrayJoin(
210
- objMap(
211
+ objToArray(
211
212
  {
212
213
  '': 'all:initial;font-family:sans-serif;font-size:0.75rem;position:fixed;z-index:999999',
213
214
  '*': 'all:revert',
@@ -433,21 +434,16 @@ const useSortingAndPagination = (
433
434
  const useCells = (defaultCellIds, customCells, defaultCellComponent) =>
434
435
  useMemo(() => {
435
436
  const cellIds = customCells ?? defaultCellIds;
436
- return objNew(
437
- objMap(
438
- isArray(cellIds)
439
- ? objNew(arrayMap(cellIds, (cellId) => [cellId, cellId]))
440
- : cellIds,
441
- (labelOrCustomCell, cellId) => [
442
- cellId,
443
- {
444
- ...{label: cellId, component: defaultCellComponent},
445
- ...(isString(labelOrCustomCell)
446
- ? {label: labelOrCustomCell}
447
- : labelOrCustomCell),
448
- },
449
- ],
450
- ),
437
+ return objMap(
438
+ isArray(cellIds)
439
+ ? objNew(arrayMap(cellIds, (cellId) => [cellId, cellId]))
440
+ : cellIds,
441
+ (labelOrCustomCell, cellId) => ({
442
+ ...{label: cellId, component: defaultCellComponent},
443
+ ...(isString(labelOrCustomCell)
444
+ ? {label: labelOrCustomCell}
445
+ : labelOrCustomCell),
446
+ }),
451
447
  );
452
448
  }, [customCells, defaultCellComponent, defaultCellIds]);
453
449
  const HtmlTable = ({
@@ -484,7 +480,7 @@ const HtmlTable = ({
484
480
  label: 'Id',
485
481
  onClick: handleSort,
486
482
  }),
487
- objMap(cells, ({label}, cellId) =>
483
+ objToArray(cells, ({label}, cellId) =>
488
484
  /* @__PURE__ */ createElement(HtmlHeaderCell, {
489
485
  key: cellId,
490
486
  cellId,
@@ -505,17 +501,19 @@ const HtmlTable = ({
505
501
  idColumn === false
506
502
  ? null
507
503
  : /* @__PURE__ */ createElement('th', null, rowId),
508
- objMap(cells, ({component: CellView2, getComponentProps}, cellId) =>
509
- /* @__PURE__ */ createElement(
510
- 'td',
511
- {key: cellId},
512
- /* @__PURE__ */ createElement(CellView2, {
513
- ...getProps(getComponentProps, rowId, cellId),
514
- ...cellComponentProps,
515
- rowId,
516
- cellId,
517
- }),
518
- ),
504
+ objToArray(
505
+ cells,
506
+ ({component: CellView2, getComponentProps}, cellId) =>
507
+ /* @__PURE__ */ createElement(
508
+ 'td',
509
+ {key: cellId},
510
+ /* @__PURE__ */ createElement(CellView2, {
511
+ ...getProps(getComponentProps, rowId, cellId),
512
+ ...cellComponentProps,
513
+ rowId,
514
+ cellId,
515
+ }),
516
+ ),
519
517
  ),
520
518
  ),
521
519
  ),
@@ -569,7 +567,7 @@ const RelationshipInHtmlRow = ({
569
567
  /* @__PURE__ */ createElement('th', null, localRowId),
570
568
  /* @__PURE__ */ createElement('th', null, remoteRowId),
571
569
  ),
572
- objMap(
570
+ objToArray(
573
571
  cells,
574
572
  ({component: CellView2, getComponentProps}, compoundCellId) => {
575
573
  const [tableId, cellId] = compoundCellId.split(DOT, 2);
@@ -885,7 +883,7 @@ const RelationshipInHtmlTable = ({
885
883
  '.Id',
886
884
  ),
887
885
  ),
888
- objMap(cells, ({label}, cellId) =>
886
+ objToArray(cells, ({label}, cellId) =>
889
887
  /* @__PURE__ */ createElement('th', {key: cellId}, label),
890
888
  ),
891
889
  ),
@@ -1538,7 +1536,7 @@ const mapEnsure = (map, key, getDefaultValue) => {
1538
1536
  return mapGet(map, key);
1539
1537
  };
1540
1538
  const mapMatch = (map, obj, set, del = mapSet) => {
1541
- objMap(obj, (value, id) => set(map, id, value));
1539
+ objToArray(obj, (value, id) => set(map, id, value));
1542
1540
  mapForEach(map, (id) => (objHas(obj, id) ? 0 : del(map, id)));
1543
1541
  return map;
1544
1542
  };
@@ -1600,6 +1598,7 @@ const createCustomPersister = (
1600
1598
  addPersisterListener,
1601
1599
  delPersisterListener,
1602
1600
  onIgnoredError,
1601
+ supportsMergeableStore,
1603
1602
  [getThing, thing] = [],
1604
1603
  scheduleId = [],
1605
1604
  ) => {
@@ -1612,6 +1611,10 @@ const createCustomPersister = (
1612
1611
  let listeningHandle;
1613
1612
  mapEnsure(scheduleRunning, scheduleId, () => 0);
1614
1613
  mapEnsure(scheduleActions, scheduleId, () => []);
1614
+ const getContent =
1615
+ (supportsMergeableStore ? store.getMergeableContent : null) ??
1616
+ store.getContent;
1617
+ const getChanges = store.getTransactionChanges;
1615
1618
  const run = async () => {
1616
1619
  /* istanbul ignore else */
1617
1620
  if (!mapGet(scheduleRunning, scheduleId)) {
@@ -1647,7 +1650,10 @@ const createCustomPersister = (
1647
1650
  load: async (initialTables, initialValues) =>
1648
1651
  await loadLock(async () => {
1649
1652
  try {
1650
- store.setContent(await getPersisted());
1653
+ const content = await getPersisted();
1654
+ (supportsMergeableStore && isString(content[0])
1655
+ ? store.applyMergeableChanges
1656
+ : store.setContent)(content);
1651
1657
  } catch {
1652
1658
  store.setContent([initialTables, initialValues]);
1653
1659
  }
@@ -1657,16 +1663,14 @@ const createCustomPersister = (
1657
1663
  await persister.load(initialTables, initialValues);
1658
1664
  listening = 1;
1659
1665
  listeningHandle = addPersisterListener(
1660
- async (getContent, getTransactionChanges) => {
1661
- if (getTransactionChanges) {
1662
- const transactionChanges = getTransactionChanges();
1663
- await loadLock(async () =>
1664
- store.setTransactionChanges(transactionChanges),
1665
- );
1666
+ async (getContent2, getChanges2) => {
1667
+ if (getChanges2) {
1668
+ const changes = getChanges2();
1669
+ await loadLock(async () => store.applyChanges(changes));
1666
1670
  } else {
1667
1671
  await loadLock(async () => {
1668
1672
  try {
1669
- store.setContent(getContent?.() ?? (await getPersisted()));
1673
+ store.setContent(getContent2?.() ?? (await getPersisted()));
1670
1674
  } catch (error) {
1671
1675
  onIgnoredError?.(error);
1672
1676
  }
@@ -1684,7 +1688,7 @@ const createCustomPersister = (
1684
1688
  }
1685
1689
  return persister;
1686
1690
  },
1687
- save: async (getTransactionChanges) => {
1691
+ save: async (getChanges2) => {
1688
1692
  /* istanbul ignore else */
1689
1693
  if (loadSave != 1) {
1690
1694
  loadSave = 2;
@@ -1693,7 +1697,7 @@ const createCustomPersister = (
1693
1697
  }
1694
1698
  await persister.schedule(async () => {
1695
1699
  try {
1696
- await setPersisted(store.getContent, getTransactionChanges);
1700
+ await setPersisted(getContent, getChanges2);
1697
1701
  } catch (error) {
1698
1702
  /* istanbul ignore next */
1699
1703
  onIgnoredError?.(error);
@@ -1705,14 +1709,12 @@ const createCustomPersister = (
1705
1709
  },
1706
1710
  startAutoSave: async () => {
1707
1711
  await persister.stopAutoSave().save();
1708
- listenerId = store.addDidFinishTransactionListener(
1709
- (_store, getTransactionChanges) => {
1710
- const [tableChanges, valueChanges] = getTransactionChanges();
1711
- if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
1712
- persister.save(() => [tableChanges, valueChanges]);
1713
- }
1714
- },
1715
- );
1712
+ listenerId = store.addDidFinishTransactionListener(() => {
1713
+ const [tableChanges, valueChanges] = getChanges();
1714
+ if (!objIsEmpty(tableChanges) || !objIsEmpty(valueChanges)) {
1715
+ persister.save(() => [tableChanges, valueChanges]);
1716
+ }
1717
+ });
1716
1718
  return persister;
1717
1719
  },
1718
1720
  stopAutoSave: () => {
@@ -1764,6 +1766,7 @@ const createStoragePersister = (
1764
1766
  addPersisterListener,
1765
1767
  delPersisterListener,
1766
1768
  onIgnoredError,
1769
+ false,
1767
1770
  ['getStorageName', storageName],
1768
1771
  );
1769
1772
  };
@@ -1876,7 +1879,7 @@ const validate = (obj, validateChild, onInvalidObj) => {
1876
1879
  onInvalidObj?.();
1877
1880
  return false;
1878
1881
  }
1879
- objMap(obj, (child, id2) => {
1882
+ objToArray(obj, (child, id2) => {
1880
1883
  if (!validateChild(child, id2)) {
1881
1884
  objDel(obj, id2);
1882
1885
  }
@@ -1897,6 +1900,7 @@ const createStore = () => {
1897
1900
  let hadTables = false;
1898
1901
  let hadValues = false;
1899
1902
  let transactions = 0;
1903
+ let postTransactionListener;
1900
1904
  const changedTableIds = mapNew();
1901
1905
  const changedTableCellIds = mapNew();
1902
1906
  const changedRowCount = mapNew();
@@ -2538,44 +2542,6 @@ const createStore = () => {
2538
2542
  transaction(() => actions(...arrayMap(args, id)));
2539
2543
  return store;
2540
2544
  };
2541
- const getTransactionChanges = () => [
2542
- mapToObj(
2543
- changedCells,
2544
- (table, tableId) =>
2545
- mapGet(changedTableIds, tableId) === -1
2546
- ? null
2547
- : mapToObj(
2548
- table,
2549
- (row, rowId) =>
2550
- mapGet(mapGet(changedRowIds, tableId), rowId) === -1
2551
- ? null
2552
- : mapToObj(
2553
- row,
2554
- ([, newCell]) => newCell ?? null,
2555
- (_, changedCell) => pairIsEqual(changedCell),
2556
- ),
2557
- objIsEmpty,
2558
- ),
2559
- objIsEmpty,
2560
- ),
2561
- mapToObj(
2562
- changedValues,
2563
- ([, newValue]) => newValue ?? null,
2564
- (_, changedValue) => pairIsEqual(changedValue),
2565
- ),
2566
- ];
2567
- const getTransactionLog = () => ({
2568
- cellsTouched,
2569
- valuesTouched,
2570
- changedCells: mapToObj3(changedCells, pairClone, pairIsEqual),
2571
- invalidCells: mapToObj3(invalidCells),
2572
- changedValues: mapToObj(changedValues, pairClone, pairIsEqual),
2573
- invalidValues: mapToObj(invalidValues),
2574
- changedTableIds: mapToObj(changedTableIds),
2575
- changedRowIds: mapToObj2(changedRowIds),
2576
- changedCellIds: mapToObj3(changedCellIds),
2577
- changedValueIds: mapToObj(changedValueIds),
2578
- });
2579
2545
  const getContent = () => [getTables(), getValues()];
2580
2546
  const getTables = () => mapToObj3(tablesMap);
2581
2547
  const getTableIds = () => mapKeys(tablesMap);
@@ -2668,7 +2634,7 @@ const createStore = () => {
2668
2634
  (tableId2, rowId2) => {
2669
2635
  if (validateRow(tableId2, rowId2, partialRow, 1)) {
2670
2636
  const table = getOrCreateTable(tableId2);
2671
- objMap(partialRow, (cell, cellId) =>
2637
+ objToArray(partialRow, (cell, cellId) =>
2672
2638
  setCellIntoDefaultRow(tableId2, table, rowId2, cellId, cell),
2673
2639
  );
2674
2640
  }
@@ -2706,7 +2672,7 @@ const createStore = () => {
2706
2672
  const setPartialValues = (partialValues) =>
2707
2673
  fluentTransaction(() =>
2708
2674
  validateValues(partialValues, 1)
2709
- ? objMap(partialValues, (value, valueId) =>
2675
+ ? objToArray(partialValues, (value, valueId) =>
2710
2676
  setValidValue(valueId, value),
2711
2677
  )
2712
2678
  : 0,
@@ -2723,20 +2689,20 @@ const createStore = () => {
2723
2689
  ),
2724
2690
  valueId,
2725
2691
  );
2726
- const setTransactionChanges = (transactionChanges) =>
2692
+ const applyChanges = (changes) =>
2727
2693
  fluentTransaction(() => {
2728
- objMap(transactionChanges[0], (table, tableId) =>
2694
+ objToArray(changes[0], (table, tableId) =>
2729
2695
  isUndefined(table)
2730
2696
  ? delTable(tableId)
2731
- : objMap(table, (row, rowId) =>
2697
+ : objToArray(table, (row, rowId) =>
2732
2698
  isUndefined(row)
2733
2699
  ? delRow(tableId, rowId)
2734
- : objMap(row, (cell, cellId) =>
2700
+ : objToArray(row, (cell, cellId) =>
2735
2701
  setOrDelCell(store, tableId, rowId, cellId, cell),
2736
2702
  ),
2737
2703
  ),
2738
2704
  );
2739
- objMap(transactionChanges[1], (value, valueId) =>
2705
+ objToArray(changes[1], (value, valueId) =>
2740
2706
  setOrDelValue(store, valueId, value),
2741
2707
  );
2742
2708
  });
@@ -2863,15 +2829,48 @@ const createStore = () => {
2863
2829
  transactions++;
2864
2830
  }
2865
2831
  if (transactions == 1) {
2866
- callListeners(
2867
- startTransactionListeners,
2868
- void 0,
2869
- getTransactionChanges,
2870
- getTransactionLog,
2871
- );
2832
+ callListeners(startTransactionListeners, void 0);
2872
2833
  }
2873
2834
  return store;
2874
2835
  };
2836
+ const getTransactionChanges = () => [
2837
+ mapToObj(
2838
+ changedCells,
2839
+ (table, tableId) =>
2840
+ mapGet(changedTableIds, tableId) === -1
2841
+ ? void 0
2842
+ : mapToObj(
2843
+ table,
2844
+ (row, rowId) =>
2845
+ mapGet(mapGet(changedRowIds, tableId), rowId) === -1
2846
+ ? void 0
2847
+ : mapToObj(
2848
+ row,
2849
+ ([, newCell]) => newCell,
2850
+ (_, changedCell) => pairIsEqual(changedCell),
2851
+ ),
2852
+ objIsEmpty,
2853
+ ),
2854
+ objIsEmpty,
2855
+ ),
2856
+ mapToObj(
2857
+ changedValues,
2858
+ ([, newValue]) => newValue,
2859
+ (_, changedValue) => pairIsEqual(changedValue),
2860
+ ),
2861
+ ];
2862
+ const getTransactionLog = () => [
2863
+ cellsTouched,
2864
+ valuesTouched,
2865
+ mapToObj3(changedCells, pairClone, pairIsEqual),
2866
+ mapToObj3(invalidCells),
2867
+ mapToObj(changedValues, pairClone, pairIsEqual),
2868
+ mapToObj(invalidValues),
2869
+ mapToObj(changedTableIds),
2870
+ mapToObj2(changedRowIds),
2871
+ mapToObj3(changedCellIds),
2872
+ mapToObj(changedValueIds),
2873
+ ];
2875
2874
  const finishTransaction = (doRollback) => {
2876
2875
  if (transactions > 0) {
2877
2876
  transactions--;
@@ -2887,7 +2886,7 @@ const createStore = () => {
2887
2886
  if (valuesTouched) {
2888
2887
  callValuesListenersForChanges(1);
2889
2888
  }
2890
- if (doRollback?.(getTransactionChanges, getTransactionLog)) {
2889
+ if (doRollback?.(store)) {
2891
2890
  collForEach(changedCells, (table, tableId) =>
2892
2891
  collForEach(table, (row, rowId) =>
2893
2892
  collForEach(row, ([oldCell], cellId) =>
@@ -2900,12 +2899,7 @@ const createStore = () => {
2900
2899
  );
2901
2900
  cellsTouched = valuesTouched = false;
2902
2901
  }
2903
- callListeners(
2904
- finishTransactionListeners[0],
2905
- void 0,
2906
- getTransactionChanges,
2907
- getTransactionLog,
2908
- );
2902
+ callListeners(finishTransactionListeners[0], void 0);
2909
2903
  transactions = -1;
2910
2904
  callInvalidCellListeners(0);
2911
2905
  if (cellsTouched) {
@@ -2915,12 +2909,8 @@ const createStore = () => {
2915
2909
  if (valuesTouched) {
2916
2910
  callValuesListenersForChanges(0);
2917
2911
  }
2918
- callListeners(
2919
- finishTransactionListeners[1],
2920
- void 0,
2921
- getTransactionChanges,
2922
- getTransactionLog,
2923
- );
2912
+ postTransactionListener?.(store);
2913
+ callListeners(finishTransactionListeners[1], void 0);
2924
2914
  transactions = 0;
2925
2915
  cellsTouched = valuesTouched = false;
2926
2916
  hadTables = hasTables();
@@ -3047,6 +3037,9 @@ const createStore = () => {
3047
3037
  collSize2(startTransactionListeners) +
3048
3038
  pairCollSize2(finishTransactionListeners),
3049
3039
  });
3040
+ const addPostTransactionListener = (listener) => {
3041
+ postTransactionListener = listener;
3042
+ };
3050
3043
  const store = {
3051
3044
  getContent,
3052
3045
  getTables,
@@ -3087,7 +3080,7 @@ const createStore = () => {
3087
3080
  setValues,
3088
3081
  setPartialValues,
3089
3082
  setValue,
3090
- setTransactionChanges,
3083
+ applyChanges,
3091
3084
  setTablesJson,
3092
3085
  setValuesJson,
3093
3086
  setJson,
@@ -3105,6 +3098,8 @@ const createStore = () => {
3105
3098
  delSchema,
3106
3099
  transaction,
3107
3100
  startTransaction,
3101
+ getTransactionChanges,
3102
+ getTransactionLog,
3108
3103
  finishTransaction,
3109
3104
  forEachTable,
3110
3105
  forEachTableCell,
@@ -3122,8 +3117,9 @@ const createStore = () => {
3122
3117
  createStore,
3123
3118
  addListener,
3124
3119
  callListeners,
3120
+ addPostTransactionListener,
3125
3121
  };
3126
- objMap(
3122
+ objToArray(
3127
3123
  {
3128
3124
  [HAS + TABLES]: [0, hasTablesListeners, [], () => [hasTables()]],
3129
3125
  [TABLES]: [0, tablesListeners],
@@ -0,0 +1 @@
1
+ const e=e=>typeof e,t="",l=e(t),n=e(!0),s=e(0),a=e(e),r="type",o="default",u="Has",i="Ids",c="Table",d=c+"s",v=c+i,h="Row",g=h+"Count",C=h+i,T="Cell",f=T+i,b="Value",V=b+"s",p=b+i,w=e=>t+e,S=(e,t)=>e.startsWith(t),m=(e,t)=>e.endsWith(t),y=(e,t=0)=>e.charCodeAt(t),R=isFinite,I=e=>null==e,L=(e,t,l)=>I(e)?null==l?void 0:l():t(e),J=e=>e==l||e==n,M=t=>e(t)==a,E=(e,t,l)=>e.slice(t,l),H=e=>e.length,P=(e,t)=>e.forEach(t),F=(e,t)=>e.map(t),O=(e,...t)=>e.push(...t),x=Object,z=e=>x.getPrototypeOf(e),A=x.entries,W=x.keys,k=x.isFrozen,D=x.freeze,N=e=>!I(e)&&L(z(e),(e=>e==x.prototype||I(z(e))),(()=>!0)),j=(e,t)=>t in e,$=(e,t)=>(delete e[t],e),q=(e,t)=>P(A(e),(([e,l])=>t(l,e))),B=(e,t)=>F(A(e),(([e,l])=>t(l,e))),G=e=>N(e)&&0==(e=>H(W(e)))(e),K=e=>{var t;return null!=(t=null==e?void 0:e.size)?t:0},Q=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},U=e=>I(e)||0==K(e),X=e=>e.clear(),Y=(e,t)=>null==e?void 0:e.forEach(t),Z=(e,t)=>null==e?void 0:e.delete(t),_=e=>new Map(e),ee=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},te=(e,t)=>null==e?void 0:e.get(t),le=(e,t)=>Y(e,((e,l)=>t(l,e))),ne=(e,t,l)=>I(l)?(Z(e,t),e):null==e?void 0:e.set(t,l),se=(e,t,l)=>(Q(e,t)||ne(e,t,l()),te(e,t)),ae=(e,t,l,n=ne)=>(B(t,((t,n)=>l(e,n,t))),le(e,(l=>j(t,l)?0:n(e,l))),e),re=(e,t,l)=>{const n={};return Y(e,((e,s)=>{const a=t?t(e,s):e;!(null==l?void 0:l(a,e))&&(n[s]=a)})),n},oe=(e,t,l)=>re(e,(e=>re(e,t,l)),G),ue=(e,t,l)=>re(e,(e=>oe(e,t,l)),G),ie=(e,t)=>{const l=_();return Y(e,((e,n)=>{var s;return l.set(n,null!=(s=null==t?void 0:t(e))?s:e)})),l},ce=e=>ie(e,ie),de=e=>ie(e,ce),ve=(e,t,l,n,s=0)=>L((l?se:te)(e,t[s],s>H(t)-2?l:_),(a=>{if(s>H(t)-2)return(null==n?void 0:n(a))&&ne(e,t[s]),a;const r=ve(a,t,l,n,s+1);return U(a)&&ne(e,t[s]),r})),he=()=>[t,void 0],ge=()=>[t,_()],Ce=([e,t],l)=>[e,l(t,e)],Te=(e,t)=>Ce(e,(e=>re(e,t))),fe=(e,t,l,n)=>q(e,((e,s)=>be(e,se(t,s,ge),l[s]=((e=[])=>x.fromEntries(e))(),n))),be=([e,t],l,n,s)=>{e>l[0]&&(l[0]=e),s(t,l[1],n)},Ve=(e,t,l)=>q(e,(([e,n],s)=>{const a=se(t,s,he);e>a[0]&&(a[0]=e,a[1]=l[s]=n)})),pe=e=>new Set(Array.isArray(e)||I(e)?e:[e]),we=(e,t)=>null==e?void 0:e.add(t),Se=/^\d+$/,me=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},t=>{Se.test(t)&&H(e)<1e3&&O(e,t)}]},ye=e=>[e,e],Re=()=>[_(),_()],Ie=e=>[...e],Le=([e,t])=>e===t,Je=t=>{const l=e(t);return J(l)||l==s&&R(t)?l:void 0},Me=(e,t,l,n,s)=>I(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s),Ee=(e,t,l)=>I(l)?e.delValue(t):e.setValue(t,l),He=e=>JSON.stringify(e,((e,t)=>t instanceof Map?x.fromEntries([...t]):t)),Pe=JSON.parse,Fe=(e,t,l)=>I(e)||!N(e)||G(e)||k(e)?(null==l||l(),!1):(B(e,((l,n)=>{t(l,n)||$(e,n)})),!G(e)),Oe=(e,t,l)=>ne(e,t,te(e,t)==-l?void 0:l),xe=()=>{let e,l,n,a=!1,i=!1,S=!1,m=!1,y=0;const R=_(),x=_(),z=_(),A=_(),W=_(),k=_(),N=_(),q=_(),he=_(),ge=_(),Ce=_(),Te=_(),fe=_(),be=_(),Ve=pe(),Se=_(),ze=_(),Ae=_(),We=_(),ke=Re(),De=Re(),Ne=Re(),je=Re(),$e=Re(),qe=Re(),Be=Re(),Ge=Re(),Ke=Re(),Qe=Re(),Ue=Re(),Xe=Re(),Ye=Re(),Ze=Re(),_e=Re(),et=Re(),tt=Re(),lt=Re(),nt=Re(),st=Re(),at=Re(),rt=Re(),ot=_(),ut=Re(),[it,ct,dt,vt]=(e=>{let l;const[n,s]=me(),a=_();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=Pl);const i=n(1);return ne(a,i,[e,s,r,o,u]),we(ve(s,null!=r?r:[t],pe),i),i},(e,n,...s)=>P(((e,l=[t])=>{const n=[],s=(e,t)=>t==H(l)?O(n,e):null===l[t]?Y(e,(e=>s(e,t+1))):P([l[t],null],(l=>s(te(e,l),t+1)));return s(e,0),n})(e,n),(e=>Y(e,(e=>te(a,e)[0](l,...null!=n?n:[],...s))))),e=>L(te(a,e),(([,l,n])=>(ve(l,null!=n?n:[t],void 0,(t=>(Z(t,e),U(t)?1:0))),ne(a,e),s(e),n))),e=>L(te(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=H(r);i==H(t)?e(l,...r,...s(r)):I(t[i])?P(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),ht=e=>{if(!Fe(e,((e,t)=>[r,o].includes(t))))return!1;const t=e[r];return!(!J(t)&&t!=s||(Je(e[o])!=t&&$(e,o),0))},gt=(t,l)=>(!e||Q(Ce,l)||qt(l))&&Fe(t,((e,t)=>Ct(l,t,e)),(()=>qt(l))),Ct=(e,t,l,n)=>Fe(n?l:Vt(l,e,t),((n,s)=>L(Tt(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>qt(e,t))),Tt=(t,l,n,s)=>e?L(te(te(Ce,t),n),(e=>Je(s)!=e[r]?qt(t,l,n,s,e[o]):s),(()=>qt(t,l,n,s))):I(Je(s))?qt(t,l,n,s):s,ft=(e,t)=>Fe(t?e:pt(e),((t,l)=>L(bt(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>Bt())),bt=(e,t)=>l?L(te(fe,e),(l=>Je(t)!=l[r]?Bt(e,t,l[o]):t),(()=>Bt(e,t))):I(Je(t))?Bt(e,t):t,Vt=(e,t,l)=>(L(te(Te,t),(([n,s])=>{Y(n,((t,l)=>{j(e,l)||(e[l]=t)})),Y(s,(n=>{j(e,n)||qt(t,l,n)}))})),e),pt=e=>(l&&(Y(be,((t,l)=>{j(e,l)||(e[l]=t)})),Y(Ve,(t=>{j(e,t)||Bt(t)}))),e),wt=e=>ae(Ce,e,((e,t,l)=>{const n=_(),s=pe();ae(se(Ce,t,_),l,((e,t,l)=>{ne(e,t,l),L(l[o],(e=>ne(n,t,e)),(()=>we(s,t)))})),ne(Te,t,[n,s])}),((e,t)=>{ne(Ce,t),ne(Te,t)})),St=e=>ae(fe,e,((e,t,l)=>{ne(fe,t,l),L(l[o],(e=>ne(be,t,e)),(()=>we(Ve,t)))}),((e,t)=>{ne(fe,t),ne(be,t),Z(Ve,t)})),mt=e=>G(e)?ml():bl(e),yt=e=>ae(Ae,e,((e,t,l)=>Rt(t,l)),((e,t)=>Ot(t))),Rt=(e,t)=>ae(se(Ae,e,(()=>(Wt(e,1),ne(Se,e,me()),ne(ze,e,_()),_()))),t,((t,l,n)=>It(e,t,l,n)),((t,l)=>xt(e,t,l))),It=(e,t,l,n,s)=>ae(se(t,l,(()=>(kt(e,l,1),_()))),n,((t,n,s)=>Lt(e,l,t,n,s)),((n,a)=>zt(e,t,l,n,a,s))),Lt=(e,t,l,n,s)=>{Q(l,n)||Dt(e,t,n,1);const a=te(l,n);s!==a&&(Nt(e,t,n,a,s),ne(l,n,s))},Jt=(e,t,l,n,s)=>L(te(t,l),(t=>Lt(e,l,t,n,s)),(()=>It(e,t,l,Vt({[n]:s},e,l)))),Mt=e=>G(e)?Il():Vl(e),Et=e=>ae(We,e,((e,t,l)=>Ht(t,l)),((e,t)=>At(t))),Ht=(e,t)=>{Q(We,e)||jt(e,1);const l=te(We,e);t!==l&&($t(e,l,t),ne(We,e,t))},Pt=(e,t)=>{const[l]=te(Se,e),n=l(t);return Q(te(Ae,e),n)?Pt(e,t):n},Ft=e=>{var t;return null!=(t=te(Ae,e))?t:Rt(e,{})},Ot=e=>Rt(e,{}),xt=(e,t,l)=>{const[,n]=te(Se,e);n(l),It(e,t,l,{},!0)},zt=(e,t,l,n,s,a)=>{var r;const o=te(null==(r=te(Te,e))?void 0:r[0],s);if(!I(o)&&!a)return Lt(e,l,n,s,o);const u=t=>{Nt(e,l,t,te(n,t)),Dt(e,l,t,-1),ne(n,t)};I(o)?u(s):le(n,u),U(n)&&(kt(e,l,-1),U(ne(t,l))&&(Wt(e,-1),ne(Ae,e),ne(Se,e),ne(ze,e)))},At=e=>{const t=te(be,e);if(!I(t))return Ht(e,t);$t(e,te(We,e)),jt(e,-1),ne(We,e)},Wt=(e,t)=>Oe(R,e,t),kt=(e,t,l)=>Oe(se(A,e,_),t,l)&&ne(z,e,se(z,e,(()=>0))+l),Dt=(e,t,l,n)=>{var s;const a=te(ze,e),r=null!=(s=te(a,l))?s:0;(0==r&&1==n||1==r&&-1==n)&&Oe(se(x,e,_),l,n),ne(a,l,r!=-n?r+n:null),Oe(se(se(W,e,_),t,_),l,n)},Nt=(e,t,l,n,s)=>se(se(se(k,e,_),t,_),l,(()=>[n,0]))[1]=s,jt=(e,t)=>Oe(N,e,t),$t=(e,t,l)=>se(q,e,(()=>[t,0]))[1]=l,qt=(e,t,l,n,s)=>(O(se(se(se(he,e,_),t,_),l,(()=>[])),n),s),Bt=(e,t,l)=>(O(se(ge,e,(()=>[])),t),l),Gt=(e,t,l)=>L(te(te(te(k,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(ol(e,t,l))])),Kt=e=>L(te(q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(cl(e))])),Qt=e=>U(he)||U(et[e])?0:Y(e?de(he):he,((t,l)=>Y(t,((t,n)=>Y(t,((t,s)=>ct(et[e],[l,n,s],t))))))),Ut=e=>U(ge)||U(tt[e])?0:Y(e?ie(ge):ge,((t,l)=>ct(tt[e],[l],t))),Xt=(e,t,l,n)=>{if(!U(e))return ct(t,n,(()=>re(e))),le(e,((e,t)=>ct(l,[...null!=n?n:[],e],1==t))),1},Yt=e=>{const t=dl();t!=S&&ct(ke[e],void 0,t);const l=U(Qe[e]),n=U(Ye[e])&&U(Ze[e])&&U(Ke[e])&&U(Ue[e])&&U(qe[e])&&U(Be[e])&&U(Ge[e])&&l&&U(Ne[e])&&U(je[e]),s=U(_e[e])&&U(Xe[e])&&U($e[e])&&U(De[e]);if(!n||!s){const t=e?[ie(R),ce(x),ie(z),ce(A),de(W),de(k)]:[R,x,z,A,W,k];if(!n){Xt(t[0],Ne[e],je[e]),Y(t[1],((t,l)=>Xt(t,qe[e],Be[e],[l]))),Y(t[2],((t,l)=>{0!=t&&ct(Ge[e],[l],nl(l))}));const n=pe();Y(t[3],((t,s)=>{Xt(t,Ke[e],Ue[e],[s])&&!l&&(ct(Qe[e],[s,null]),we(n,s))})),l||Y(t[5],((t,l)=>{if(!Q(n,l)){const n=pe();Y(t,(e=>Y(e,(([t,l],s)=>l!==t?we(n,s):Z(e,s))))),Y(n,(t=>ct(Qe[e],[l,t])))}})),Y(t[4],((t,l)=>Y(t,((t,n)=>Xt(t,Ye[e],Ze[e],[l,n])))))}if(!s){let l;Y(t[5],((t,n)=>{let s;Y(t,((t,a)=>{let r;Y(t,(([t,o],u)=>{o!==t&&(ct(_e[e],[n,a,u],o,t,Gt),l=s=r=1)})),r&&ct(Xe[e],[n,a],Gt)})),s&&ct($e[e],[n],Gt)})),l&&ct(De[e],void 0,Gt)}}},Zt=e=>{const t=Tl();t!=m&&ct(lt[e],void 0,t);const l=U(st[e])&&U(at[e]),n=U(rt[e])&&U(nt[e]);if(!l||!n){const t=e?[ie(N),ie(q)]:[N,q];if(l||Xt(t[0],st[e],at[e]),!n){let l;Y(t[1],(([t,n],s)=>{n!==t&&(ct(rt[e],[s],n,t,Kt),l=1)})),l&&ct(nt[e],void 0,Kt)}}},_t=(e,...t)=>(Ml((()=>e(...F(t,w)))),Pl),el=()=>ue(Ae),tl=()=>ee(Ae),ll=e=>ee(te(ze,w(e))),nl=e=>K(te(Ae,w(e))),sl=e=>ee(te(Ae,w(e))),al=(e,t,l,n=0,s)=>{return F(E((r=te(Ae,w(e)),o=(e,l)=>[I(t)?l:te(e,w(t)),l],a=([e],[t])=>{return((null!=(n=e)?n:0)<(null!=(s=t)?s:0)?-1:1)*(l?-1:1);var n,s},F([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,t])=>o(t,e))).sort(a)),n,I(s)?s:n+s),(([,e])=>e));var a,r,o,u},rl=(e,t)=>ee(te(te(Ae,w(e)),w(t))),ol=(e,t,l)=>te(te(te(Ae,w(e)),w(t)),w(l)),ul=()=>re(We),il=()=>ee(We),cl=e=>te(We,w(e)),dl=()=>!U(Ae),vl=e=>Q(Ae,w(e)),hl=(e,t)=>Q(te(ze,w(e)),w(t)),gl=(e,t)=>Q(te(Ae,w(e)),w(t)),Cl=(e,t,l)=>Q(te(te(Ae,w(e)),w(t)),w(l)),Tl=()=>!U(We),fl=e=>Q(We,w(e)),bl=e=>_t((()=>(e=>Fe(e,gt,qt))(e)?yt(e):0)),Vl=e=>_t((()=>ft(e)?Et(e):0)),pl=e=>{try{mt(Pe(e))}catch(e){}return Pl},wl=t=>_t((()=>{if((e=Fe(t,(e=>Fe(e,ht))))&&(wt(t),!U(Ae))){const e=el();ml(),bl(e)}})),Sl=e=>_t((()=>{if(l=(e=>Fe(e,ht))(e)){const t=ul();Jl(),Il(),l=!0,St(e),Vl(t)}})),ml=()=>_t((()=>yt({}))),yl=e=>_t((e=>Q(Ae,e)?Ot(e):0),e),Rl=(e,t)=>_t(((e,t)=>L(te(Ae,e),(l=>Q(l,t)?xt(e,l,t):0))),e,t),Il=()=>_t((()=>Et({}))),Ll=()=>_t((()=>{wt({}),e=!1})),Jl=()=>_t((()=>{St({}),l=!1})),Ml=(e,t)=>{if(-1!=y){El();const l=e();return Hl(t),l}},El=()=>(-1!=y&&y++,1==y&&ct(ot,void 0),Pl),Hl=e=>(y>0&&(y--,0==y&&(a=!U(k),i=!U(q),y=1,Qt(1),a&&Yt(1),Ut(1),i&&Zt(1),(null==e?void 0:e(Pl))&&(Y(k,((e,t)=>Y(e,((e,l)=>Y(e,(([e],n)=>Me(Pl,t,l,n,e))))))),Y(q,(([e],t)=>Ee(Pl,t,e))),a=i=!1),ct(ut[0],void 0),y=-1,Qt(0),a&&Yt(0),Ut(0),i&&Zt(0),null==n||n(Pl),ct(ut[1],void 0),y=0,a=i=!1,S=dl(),m=Tl(),P([R,x,z,A,W,k,he,N,q,ge],X))),Pl),Pl={getContent:()=>[el(),ul()],getTables:el,getTableIds:tl,getTable:e=>oe(te(Ae,w(e))),getTableCellIds:ll,getRowCount:nl,getRowIds:sl,getSortedRowIds:al,getRow:(e,t)=>re(te(te(Ae,w(e)),w(t))),getCellIds:rl,getCell:ol,getValues:ul,getValueIds:il,getValue:cl,hasTables:dl,hasTable:vl,hasTableCell:hl,hasRow:gl,hasCell:Cl,hasValues:Tl,hasValue:fl,getTablesJson:()=>He(Ae),getValuesJson:()=>He(We),getJson:()=>He([Ae,We]),getTablesSchemaJson:()=>He(Ce),getValuesSchemaJson:()=>He(fe),getSchemaJson:()=>He([Ce,fe]),hasTablesSchema:()=>e,hasValuesSchema:()=>l,setContent:([e,t])=>_t((()=>{(G(e)?ml:bl)(e),(G(t)?Il:Vl)(t)})),setTables:bl,setTable:(e,t)=>_t((e=>gt(t,e)?Rt(e,t):0),e),setRow:(e,t,l)=>_t(((e,t)=>Ct(e,t,l)?It(e,Ft(e),t,l):0),e,t),addRow:(e,t,l=!0)=>Ml((()=>{let n;return Ct(e,n,t)&&(e=w(e),It(e,Ft(e),n=Pt(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>_t(((e,t)=>{if(Ct(e,t,l,1)){const n=Ft(e);B(l,((l,s)=>Jt(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>_t(((e,t,l)=>L(Tt(e,t,l,M(n)?n(ol(e,t,l)):n),(n=>Jt(e,Ft(e),t,l,n)))),e,t,l),setValues:Vl,setPartialValues:e=>_t((()=>ft(e,1)?B(e,((e,t)=>Ht(t,e))):0)),setValue:(e,t)=>_t((e=>L(bt(e,M(t)?t(cl(e)):t),(t=>Ht(e,t)))),e),applyChanges:e=>_t((()=>{B(e[0],((e,t)=>I(e)?yl(t):B(e,((e,l)=>I(e)?Rl(t,l):B(e,((e,n)=>Me(Pl,t,l,n,e))))))),B(e[1],((e,t)=>Ee(Pl,t,e)))})),setTablesJson:pl,setValuesJson:e=>{try{Mt(Pe(e))}catch(e){}return Pl},setJson:e=>_t((()=>{try{const[t,l]=Pe(e);mt(t),Mt(l)}catch(t){pl(e)}})),setTablesSchema:wl,setValuesSchema:Sl,setSchema:(e,t)=>_t((()=>{wl(e),Sl(t)})),delTables:ml,delTable:yl,delRow:Rl,delCell:(e,t,l,n)=>_t(((e,t,l)=>L(te(Ae,e),(s=>L(te(s,t),(a=>Q(a,l)?zt(e,s,t,a,l,n):0))))),e,t,l),delValues:Il,delValue:e=>_t((e=>Q(We,e)?At(e):0),e),delTablesSchema:Ll,delValuesSchema:Jl,delSchema:()=>_t((()=>{Ll(),Jl()})),transaction:Ml,startTransaction:El,getTransactionChanges:()=>[re(k,((e,t)=>-1===te(R,t)?void 0:re(e,((e,l)=>-1===te(te(A,t),l)?void 0:re(e,(([,e])=>e),((e,t)=>Le(t)))),G)),G),re(q,(([,e])=>e),((e,t)=>Le(t)))],getTransactionLog:()=>[a,i,ue(k,Ie,Le),ue(he),re(q,Ie,Le),re(ge),re(R),oe(A),ue(W),re(N)],finishTransaction:Hl,forEachTable:e=>Y(Ae,((t,l)=>e(l,(e=>Y(t,((t,l)=>e(l,(e=>le(t,e))))))))),forEachTableCell:(e,t)=>le(te(ze,w(e)),t),forEachRow:(e,t)=>Y(te(Ae,w(e)),((e,l)=>t(l,(t=>le(e,t))))),forEachCell:(e,t,l)=>le(te(te(Ae,w(e)),w(t)),l),forEachValue:e=>le(We,e),addSortedRowIdsListener:(e,t,l,n,s,a,r)=>{let o=al(e,t,l,n,s);return it((()=>{const r=al(e,t,l,n,s);var u,i,c;i=o,H(u=r)===H(i)&&(c=(e,t)=>i[t]===e,u.every(c))||(o=r,a(Pl,e,t,l,n,s,o))}),Qe[r?1:0],[e,t],[tl])},addStartTransactionListener:e=>it(e,ot),addWillFinishTransactionListener:e=>it(e,ut[0]),addDidFinishTransactionListener:e=>it(e,ut[1]),callListener:e=>(vt(e),Pl),delListener:e=>(dt(e),Pl),getListenerStats:()=>({}),createStore:xe,addListener:it,callListeners:ct,addPostTransactionListener:e=>{n=e}};return B({[u+d]:[0,ke,[],()=>[dl()]],[d]:[0,De],[v]:[0,Ne],[u+c]:[1,je,[tl],e=>[vl(...e)]],[c]:[1,$e,[tl]],[c+f]:[1,qe,[tl]],[u+c+T]:[2,Be,[tl,ll],e=>[hl(...e)]],[g]:[1,Ge,[tl]],[C]:[1,Ke,[tl]],[u+h]:[2,Ue,[tl,sl],e=>[gl(...e)]],[h]:[2,Xe,[tl,sl]],[f]:[2,Ye,[tl,sl]],[u+T]:[3,Ze,[tl,sl,rl],e=>[Cl(...e)]],[T]:[3,_e,[tl,sl,rl],e=>ye(ol(...e))],InvalidCell:[3,et],[u+V]:[0,lt,[],()=>[Tl()]],[V]:[0,nt],[p]:[0,st],[u+b]:[1,at,[il],e=>[fl(...e)]],[b]:[1,rt,[il],e=>ye(cl(e[0]))],InvalidValue:[1,tt]},(([e,t,l,n],s)=>{Pl["add"+s+"Listener"]=(...s)=>it(s[e],t[s[e+1]?1:0],e>0?E(s,0,e):void 0,l,n)})),D(Pl)};var ze=Math.pow;const Ae=ze(2,36),We=ze(2,30),ke=ze(2,24),De=ze(2,18),Ne=ze(2,12),je=ze(2,6),$e=e=>String.fromCharCode(48+(63&e)),qe=(e,t)=>y(e,t)-48,Be={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Ge=()=>[t,[ge(),ge()]],Ke=e=>{let t=1,l=Ge();const[n,s]=(e=>{let t=0,l=0;const n=(s=(e,t)=>(e<<5)+e^y(t),((e,t="",l)=>e.split(t,l))(e).reduce(s,5381)>>>0);var s;const a=e=>{const n=t,[s,a]=I(e)?[0,0]:[qe(r=e,0)*Ae+qe(r,1)*We+qe(r,2)*ke+qe(r,3)*De+qe(r,4)*Ne+qe(r,5)*je+qe(r,6),qe(r,7)*De+qe(r,8)*Ne+qe(r,9)*je+qe(r,10),qe(r,11)*ke+qe(r,12)*De+qe(r,13)*Ne+qe(r,14)*je+qe(r,15)];var r;t=Math.max(n,s,Date.now()),l=t==n?t==s?Math.max(l,a):l:t==s?a:-1};return[()=>{return a(),s=++l,r=n,$e((e=t)/Ae)+$e(e/We)+$e(e/ke)+$e(e/De)+$e(e/Ne)+$e(e/je)+$e(e)+$e(s/De)+$e(s/Ne)+$e(s/je)+$e(s)+$e(r/ke)+$e(r/De)+$e(r/Ne)+$e(r/je)+$e(r);var e,s,r},a]})(e),a=xe(),r=e=>{const l=t;t=0,e(),t=l},o=e=>{const t=[{},{}];return s(e[0]),be(e,l,t,(([e,t],[l,n],[s,a])=>{be(e,l,s,((e,t,l)=>fe(e,t,l,((e,t,l)=>fe(e,t,l,Ve))))),be(t,n,a,Ve)})),r((()=>a.applyChanges(t))),u},u={getMergeableContent:()=>Ce(l,(([e,t])=>[Te(e,(e=>Te(e,(e=>Te(e,Ie))))),Te(t,Ie)])),setMergeableContent:e=>(r((()=>a.transaction((()=>{a.delTables().delValues(),l=Ge()})))),o(e),u),applyMergeableChanges:o,merge:e=>{const t=u.getMergeableContent(),l=e.getMergeableContent();return e.applyMergeableChanges(t),o(l)}};return a.addPostTransactionListener((()=>{if(t){const e=n(),[t,s,r,,o]=a.getTransactionLog(),[u,i]=l[1];l[0]=e,t&&(u[0]=e,B(r,((t,l)=>{var n;const s=se(u[1],l,he),a=null!=(n=s[1])?n:s[1]=_();s[0]=e,B(t,((t,l)=>{var n;const s=se(a,l,he),r=null!=(n=s[1])?n:s[1]=_();s[0]=e,B(t,(([,t],l)=>ne(r,l,[e,t])))}))}))),s&&(i[0]=e,B(o,(([,t],l)=>{ne(i[1],l,[e,t])})))}})),B(a,((e,t)=>u[t]=S(t,"set")||S(t,"del")||S(t,"apply")||m(t,"Transaction")||"callListener"==t?(...t)=>(e(...t),u):S(t,"add")&&m(t,"Listener")?(...l)=>{var n;const s=null!=(n=Be[E(t,3,-8)])?n:0,a=l[s];return l[s]=(e,...t)=>a(u,...t),e(...l)}:e)),D(u)};export{Ke as createMergeableStore};
Binary file
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=t=>n.getPrototypeOf(t),l=n.entries,i=n.keys,u=n.freeze,r=(t,n)=>e(t,(t=>t[n])),d=(e,n)=>!t(r(e,n)),c=(t,e)=>(delete t[e],t),a=(t,e)=>((t,e)=>t.map(e))(l(t),(([t,n])=>e(n,t))),s=t=>i(t).length,v=l=>(l=>!t(l)&&e(o(l),(e=>e==n.prototype||t(o(e))),(()=>!0)))(l)&&0==s(l),y=t=>new Map(t),h=(t,e)=>null==t?void 0:t.get(e),f=(e,n,o)=>{return t(o)?(i=n,null==(l=e)||l.delete(i),e):null==e?void 0:e.set(n,o);var l,i},p=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||f(t,e,n()),h(t,e)};var g=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const A=y(),L=y();var m=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const S=(t,e)=>[t[e].t,t[e].v],w=(e,n,o,l)=>{const i=t(n)?e:((t,e,n)=>(d(t,e)||(t[e]={}),t[e]))(e,n);let u;return a(o,((t,e)=>{l(i,e,t)&&(u=1)})),a(i,((t,e)=>{d(o,e)||(c(i,e),u=1)})),!t(n)&&v(i)&&c(e,n),u},x=(n,o,l="tinybase",i)=>(o.change((t=>t[l]={})),((n,o,l,i,r,d,[c,a]=[],s=[])=>{let y,m,S,w=0,x=0;p(A,s,(()=>0)),p(L,s,(()=>[]));const C=t=>g(void 0,null,(function*(){return 2!=w&&(w=1,yield P.schedule((()=>g(void 0,null,(function*(){yield t(),w=0}))))),P})),P={load:(t,e)=>g(void 0,null,(function*(){return yield C((()=>g(void 0,null,(function*(){try{n.setContent(yield o())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>g(void 0,[...t],(function*(t={},e={}){return P.stopAutoLoad(),yield P.load(t,e),x=1,S=i(((t,e)=>g(void 0,null,(function*(){if(e){const t=e();yield C((()=>g(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>g(void 0,null,(function*(){var e;try{n.setContent(null!=(e=null==t?void 0:t())?e:yield o())}catch(t){null==d||d(t)}}))))})))),P})),stopAutoLoad:()=>(x&&(r(S),S=void 0,x=0),P),save:t=>g(void 0,null,(function*(){return 1!=w&&(w=2,yield P.schedule((()=>g(void 0,null,(function*(){try{yield l(n.getContent,t)}catch(t){null==d||d(t)}w=0}))))),P})),startAutoSave:()=>g(void 0,null,(function*(){return yield P.stopAutoSave().save(),y=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();v(n)&&v(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>(e(y,n.delListener),y=void 0,P),schedule:(...e)=>g(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(h(L,s),...e),yield g(void 0,null,(function*(){if(!h(A,s)){for(f(A,s,1);!t((e=h(L,s),m=e.shift()));)try{yield m()}catch(t){null==d||d(t)}f(A,s,0)}var e})),P})),getStore:()=>n,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return c&&(P[c]=()=>a),u(P)})(n,(()=>m(void 0,null,(function*(){return 2==s(o.doc[l])?S(o.doc,l):void 0}))),((n,i)=>m(void 0,null,(function*(){return o.change((o=>((n,o,l,i)=>{((t,e)=>{v(t[e])&&(t[e]={t:{},v:{}})})(n,o);const[u,d]=S(n,o),s=()=>{y=1};let y=1;if(e(null==i?void 0:i(),(([n,o])=>{y=0,a(n,((n,o)=>y?0:t(n)?c(u,o):e(u[o],(o=>a(n,((n,l)=>y?0:t(n)?c(o,l):e(r(o,l),(e=>a(n,((n,o)=>t(n)?c(e,o):e[o]=n))),s)))),s))),a(o,((e,n)=>y?0:t(e)?c(d,n):d[n]=e))})),y){const[t,e]=l();w(u,void 0,t,((t,e,n)=>w(u,e,n,((t,e,n)=>w(t,e,n,((t,e,n)=>{if(r(t,e)!==n)return t[e]=n,1})))))),w(d,void 0,e,((t,e,n)=>{r(d,e)!==n&&(d[e]=n)}))}})(o,l,n,i)))}))),(t=>{const e=({doc:e})=>t((()=>S(e,l)));return o.on("change",e),e}),(t=>{o.removeListener("change",t)}),i,["getDocHandle",o]));export{x as createAutomergePersister};
1
+ const t=t=>typeof t,e=t(""),n=t=>null==t,o=(t,e,o)=>n(t)?null==o?void 0:o():e(t),l=Object,i=t=>l.getPrototypeOf(t),u=l.entries,r=l.keys,d=l.freeze,a=(t,e)=>o(t,(t=>t[e])),c=(t,e)=>e in t,s=(t,e)=>(delete t[e],t),v=(t,e)=>((t,e)=>t.map(e))(u(t),(([t,n])=>e(n,t))),y=t=>r(t).length,h=t=>(t=>!n(t)&&o(i(t),(t=>t==l.prototype||n(i(t))),(()=>!0)))(t)&&0==y(t),f=t=>new Map(t),p=(t,e)=>null==t?void 0:t.get(e),g=(t,e,o)=>{return n(o)?(i=e,null==(l=t)||l.delete(i),t):null==t?void 0:t.set(e,o);var l,i},A=(t,e,n)=>{var o,l,i;return l=e,null!=(i=null==(o=t)?void 0:o.has(l))&&i||g(t,e,n()),p(t,e)};var C=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const L=f(),m=f();var S=(t,e,n)=>new Promise(((o,l)=>{var i=t=>{try{r(n.next(t))}catch(t){l(t)}},u=t=>{try{r(n.throw(t))}catch(t){l(t)}},r=t=>t.done?o(t.value):Promise.resolve(t.value).then(i,u);r((n=n.apply(t,e)).next())}));const w=(t,e)=>[t[e].t,t[e].v],x=(t,e,o,l)=>{const i=n(e)?t:((t,e,n)=>(c(t,e)||(t[e]={}),t[e]))(t,e);let u;return v(o,((t,e)=>{l(i,e,t)&&(u=1)})),v(i,((t,e)=>{c(o,e)||(s(i,e),u=1)})),!n(e)&&h(i)&&s(t,e),u},P=(l,i,u="tinybase",r)=>(i.change((t=>t[u]={})),((l,i,u,r,a,c,s,[v,y]=[],f=[])=>{var S;let w,x,P,b=0,M=0;A(L,f,(()=>0)),A(m,f,(()=>[]));const D=null!=(S=s?l.getMergeableContent:null)?S:l.getContent,O=l.getTransactionChanges,T=t=>C(void 0,null,(function*(){return 2!=b&&(b=1,yield j.schedule((()=>C(void 0,null,(function*(){yield t(),b=0}))))),j})),j={load:(n,o)=>C(void 0,null,(function*(){return yield T((()=>C(void 0,null,(function*(){try{const n=yield i();(s&&(n=>t(n)==e)(n[0])?l.applyMergeableChanges:l.setContent)(n)}catch(t){l.setContent([n,o])}}))))})),startAutoLoad:(...t)=>C(void 0,[...t],(function*(t={},e={}){return j.stopAutoLoad(),yield j.load(t,e),M=1,P=r(((t,e)=>C(void 0,null,(function*(){if(e){const t=e();yield T((()=>C(void 0,null,(function*(){return l.applyChanges(t)}))))}else yield T((()=>C(void 0,null,(function*(){var e;try{l.setContent(null!=(e=null==t?void 0:t())?e:yield i())}catch(t){null==c||c(t)}}))))})))),j})),stopAutoLoad:()=>(M&&(a(P),P=void 0,M=0),j),save:t=>C(void 0,null,(function*(){return 1!=b&&(b=2,yield j.schedule((()=>C(void 0,null,(function*(){try{yield u(D,t)}catch(t){null==c||c(t)}b=0}))))),j})),startAutoSave:()=>C(void 0,null,(function*(){return yield j.stopAutoSave().save(),w=l.addDidFinishTransactionListener((()=>{const[t,e]=O();h(t)&&h(e)||j.save((()=>[t,e]))})),j})),stopAutoSave:()=>(o(w,l.delListener),w=void 0,j),schedule:(...t)=>C(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(p(m,f),...t),yield C(void 0,null,(function*(){if(!p(L,f)){for(g(L,f,1);!n((t=p(m,f),x=t.shift()));)try{yield x()}catch(t){null==c||c(t)}g(L,f,0)}var t})),j})),getStore:()=>l,destroy:()=>j.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return v&&(j[v]=()=>y),d(j)})(l,(()=>S(void 0,null,(function*(){const t=yield i.doc();return 2==y(t[u])?w(t,u):void 0}))),((t,e)=>S(void 0,null,(function*(){return i.change((l=>((t,e,l,i)=>{((t,e)=>{h(t[e])&&(t[e]={t:{},v:{}})})(t,e);const[u,r]=w(t,e),d=()=>{c=1};let c=1;if(o(null==i?void 0:i(),(([t,e])=>{c=0,v(t,((t,e)=>c?0:n(t)?s(u,e):o(u[e],(e=>v(t,((t,l)=>c?0:n(t)?s(e,l):o(a(e,l),(e=>v(t,((t,o)=>n(t)?s(e,o):e[o]=t))),d)))),d))),v(e,((t,e)=>c?0:n(t)?s(r,e):r[e]=t))})),c){const[t,e]=l();x(u,void 0,t,((t,e,n)=>x(u,e,n,((t,e,n)=>x(t,e,n,((t,e,n)=>{if(a(t,e)!==n)return t[e]=n,1})))))),x(r,void 0,e,((t,e,n)=>{a(r,e)!==n&&(r[e]=n)}))}})(l,u,t,e)))}))),(t=>{const e=({doc:e})=>t((()=>w(e,u)));return i.on("change",e),e}),(t=>{i.removeListener("change",t)}),r,!1,["getDocHandle",i]));export{P as createAutomergePersister};
@@ -1 +1 @@
1
- const t=t=>null==t,e=(e,n,o)=>t(e)?null==o?void 0:o():n(e),n=Object,o=t=>n.getPrototypeOf(t),l=n.keys,r=n.freeze,i=r=>(l=>!t(l)&&e(o(l),(e=>e==n.prototype||t(o(e))),(()=>!0)))(r)&&0==(t=>l(t).length)(r),u=JSON.parse,a=t=>new Map(t),s=(t,e)=>null==t?void 0:t.get(e),d=(e,n,o)=>{return t(o)?(r=n,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(n,o);var l,r},v=(t,e,n)=>{var o,l,r;return l=e,null!=(r=null==(o=t)?void 0:o.has(l))&&r||d(t,e,n()),s(t,e)};var c=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const y=a(),f=a();var h=(t,e,n)=>new Promise(((o,l)=>{var r=t=>{try{u(n.next(t))}catch(t){l(t)}},i=t=>{try{u(n.throw(t))}catch(t){l(t)}},u=t=>t.done?o(t.value):Promise.resolve(t.value).then(r,i);u((n=n.apply(t,e)).next())}));const p="storage",g=globalThis.window,S=(o,l,a,S)=>((n,o,l,u,a,h,[p,g]=[],S=[])=>{let m,A,w,L=0,x=0;v(y,S,(()=>0)),v(f,S,(()=>[]));const C=t=>c(void 0,null,(function*(){return 2!=L&&(L=1,yield P.schedule((()=>c(void 0,null,(function*(){yield t(),L=0}))))),P})),P={load:(t,e)=>c(void 0,null,(function*(){return yield C((()=>c(void 0,null,(function*(){try{n.setContent(yield o())}catch(o){n.setContent([t,e])}}))))})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},e={}){return P.stopAutoLoad(),yield P.load(t,e),x=1,w=u(((t,e)=>c(void 0,null,(function*(){if(e){const t=e();yield C((()=>c(void 0,null,(function*(){return n.setTransactionChanges(t)}))))}else yield C((()=>c(void 0,null,(function*(){var e;try{n.setContent(null!=(e=null==t?void 0:t())?e:yield o())}catch(t){null==h||h(t)}}))))})))),P})),stopAutoLoad:()=>(x&&(a(w),w=void 0,x=0),P),save:t=>c(void 0,null,(function*(){return 1!=L&&(L=2,yield P.schedule((()=>c(void 0,null,(function*(){try{yield l(n.getContent,t)}catch(t){null==h||h(t)}L=0}))))),P})),startAutoSave:()=>c(void 0,null,(function*(){return yield P.stopAutoSave().save(),m=n.addDidFinishTransactionListener(((t,e)=>{const[n,o]=e();i(n)&&i(o)||P.save((()=>[n,o]))})),P})),stopAutoSave:()=>(e(m,n.delListener),m=void 0,P),schedule:(...e)=>c(void 0,null,(function*(){return((t,...e)=>{t.push(...e)})(s(f,S),...e),yield c(void 0,null,(function*(){if(!s(y,S)){for(d(y,S,1);!t((e=s(f,S),A=e.shift()));)try{yield A()}catch(t){null==h||h(t)}d(y,S,0)}var e})),P})),getStore:()=>n,destroy:()=>P.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return p&&(P[p]=()=>g),r(P)})(o,(()=>h(void 0,null,(function*(){return u(a.getItem(l))}))),(t=>h(void 0,null,(function*(){return a.setItem(l,(e=t(),JSON.stringify(e,((t,e)=>e instanceof Map?n.fromEntries([...e]):e))));var e}))),(t=>{const e=e=>{e.storageArea===a&&e.key===l&&t((()=>u(e.newValue)))};return g.addEventListener(p,e),e}),(t=>g.removeEventListener(p,t)),S,["getStorageName",l]),m=(t,e,n)=>S(t,e,localStorage,n),A=(t,e,n)=>S(t,e,sessionStorage,n);export{m as createLocalPersister,A as createSessionPersister};
1
+ const e=e=>typeof e,t=e(""),n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),l=Object,r=e=>l.getPrototypeOf(e),i=l.keys,u=l.freeze,a=e=>(e=>!n(e)&&o(r(e),(e=>e==l.prototype||n(r(e))),(()=>!0)))(e)&&0==(e=>i(e).length)(e),s=JSON.parse,d=e=>new Map(e),v=(e,t)=>null==e?void 0:e.get(t),c=(e,t,o)=>{return n(o)?(r=t,null==(l=e)||l.delete(r),e):null==e?void 0:e.set(t,o);var l,r},y=(e,t,n)=>{var o,l,r;return l=t,null!=(r=null==(o=e)?void 0:o.has(l))&&r||c(e,t,n()),v(e,t)};var f=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const h=d(),p=d();var g=(e,t,n)=>new Promise(((o,l)=>{var r=e=>{try{u(n.next(e))}catch(e){l(e)}},i=e=>{try{u(n.throw(e))}catch(e){l(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,i);u((n=n.apply(e,t)).next())}));const S="storage",m=globalThis.window,A=(r,i,d,A)=>((l,r,i,s,d,g,S,[m,A]=[],w=[])=>{var C;let L,x,P,b=0,M=0;y(h,w,(()=>0)),y(p,w,(()=>[]));const O=null!=(C=S?l.getMergeableContent:null)?C:l.getContent,E=l.getTransactionChanges,N=e=>f(void 0,null,(function*(){return 2!=b&&(b=1,yield T.schedule((()=>f(void 0,null,(function*(){yield e(),b=0}))))),T})),T={load:(n,o)=>f(void 0,null,(function*(){return yield N((()=>f(void 0,null,(function*(){try{const n=yield r();(S&&(n=>e(n)==t)(n[0])?l.applyMergeableChanges:l.setContent)(n)}catch(e){l.setContent([n,o])}}))))})),startAutoLoad:(...e)=>f(void 0,[...e],(function*(e={},t={}){return T.stopAutoLoad(),yield T.load(e,t),M=1,P=s(((e,t)=>f(void 0,null,(function*(){if(t){const e=t();yield N((()=>f(void 0,null,(function*(){return l.applyChanges(e)}))))}else yield N((()=>f(void 0,null,(function*(){var t;try{l.setContent(null!=(t=null==e?void 0:e())?t:yield r())}catch(e){null==g||g(e)}}))))})))),T})),stopAutoLoad:()=>(M&&(d(P),P=void 0,M=0),T),save:e=>f(void 0,null,(function*(){return 1!=b&&(b=2,yield T.schedule((()=>f(void 0,null,(function*(){try{yield i(O,e)}catch(e){null==g||g(e)}b=0}))))),T})),startAutoSave:()=>f(void 0,null,(function*(){return yield T.stopAutoSave().save(),L=l.addDidFinishTransactionListener((()=>{const[e,t]=E();a(e)&&a(t)||T.save((()=>[e,t]))})),T})),stopAutoSave:()=>(o(L,l.delListener),L=void 0,T),schedule:(...e)=>f(void 0,null,(function*(){return((e,...t)=>{e.push(...t)})(v(p,w),...e),yield f(void 0,null,(function*(){if(!v(h,w)){for(c(h,w,1);!n((e=v(p,w),x=e.shift()));)try{yield x()}catch(e){null==g||g(e)}c(h,w,0)}var e})),T})),getStore:()=>l,destroy:()=>T.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return m&&(T[m]=()=>A),u(T)})(r,(()=>g(void 0,null,(function*(){return s(d.getItem(i))}))),(e=>g(void 0,null,(function*(){return d.setItem(i,(t=e(),JSON.stringify(t,((e,t)=>t instanceof Map?l.fromEntries([...t]):t))));var t}))),(e=>{const t=t=>{t.storageArea===d&&t.key===i&&e((()=>s(t.newValue)))};return m.addEventListener(S,t),t}),(e=>m.removeEventListener(S,e)),A,!1,["getStorageName",i]),w=(e,t,n)=>A(e,t,localStorage,n),C=(e,t,n)=>A(e,t,sessionStorage,n);export{w as createLocalPersister,C as createSessionPersister};