tinybase 4.4.0-beta.0 → 4.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/metrics.cjs +1 -1
  8. package/lib/cjs/metrics.cjs.gz +0 -0
  9. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  10. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  11. package/lib/cjs/persisters/persister-browser.cjs +1 -1
  12. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  13. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  14. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  15. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  16. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  17. package/lib/cjs/persisters/persister-file.cjs +1 -1
  18. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  19. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  20. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  21. package/lib/cjs/persisters/persister-partykit-client.cjs +1 -1
  22. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  23. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  24. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  25. package/lib/cjs/persisters/persister-remote.cjs +1 -1
  26. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  28. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  29. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  30. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  31. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  32. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  33. package/lib/cjs/persisters.cjs +1 -1
  34. package/lib/cjs/persisters.cjs.gz +0 -0
  35. package/lib/cjs/queries.cjs +1 -1
  36. package/lib/cjs/queries.cjs.gz +0 -0
  37. package/lib/cjs/relationships.cjs +1 -1
  38. package/lib/cjs/relationships.cjs.gz +0 -0
  39. package/lib/cjs/store.cjs +1 -1
  40. package/lib/cjs/store.cjs.gz +0 -0
  41. package/lib/cjs/tinybase.cjs +1 -1
  42. package/lib/cjs/tinybase.cjs.gz +0 -0
  43. package/lib/cjs/tools.cjs +1 -1
  44. package/lib/cjs/tools.cjs.gz +0 -0
  45. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  46. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  47. package/lib/cjs/ui-react-dom.cjs +1 -1
  48. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  49. package/lib/cjs/ui-react.cjs +1 -1
  50. package/lib/cjs/ui-react.cjs.gz +0 -0
  51. package/lib/cjs-es6/checkpoints.cjs +1 -1
  52. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  53. package/lib/cjs-es6/indexes.cjs +1 -1
  54. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  55. package/lib/cjs-es6/metrics.cjs +1 -1
  56. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  57. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  58. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  59. package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
  60. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  61. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  62. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  63. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  64. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  65. package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
  66. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  67. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  68. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  69. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +1 -1
  70. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  71. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  72. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  73. package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
  74. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  75. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  76. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  77. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  78. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  79. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  80. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  81. package/lib/cjs-es6/persisters.cjs +1 -1
  82. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  83. package/lib/cjs-es6/queries.cjs +1 -1
  84. package/lib/cjs-es6/queries.cjs.gz +0 -0
  85. package/lib/cjs-es6/relationships.cjs +1 -1
  86. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  87. package/lib/cjs-es6/store.cjs +1 -1
  88. package/lib/cjs-es6/store.cjs.gz +0 -0
  89. package/lib/cjs-es6/tinybase.cjs +1 -1
  90. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  91. package/lib/cjs-es6/tools.cjs +1 -1
  92. package/lib/cjs-es6/tools.cjs.gz +0 -0
  93. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  94. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  95. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  96. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  97. package/lib/cjs-es6/ui-react.cjs +1 -1
  98. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  99. package/lib/debug/checkpoints.js +12 -12
  100. package/lib/debug/indexes.js +9 -9
  101. package/lib/debug/metrics.js +9 -9
  102. package/lib/debug/persisters/persister-automerge.js +21 -8
  103. package/lib/debug/persisters/persister-browser.js +17 -3
  104. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +27 -12
  105. package/lib/debug/persisters/persister-expo-sqlite.js +27 -12
  106. package/lib/debug/persisters/persister-file.js +17 -3
  107. package/lib/debug/persisters/persister-indexed-db.js +21 -8
  108. package/lib/debug/persisters/persister-partykit-client.js +54 -20
  109. package/lib/debug/persisters/persister-partykit-server.js +173 -77
  110. package/lib/debug/persisters/persister-remote.js +17 -3
  111. package/lib/debug/persisters/persister-sqlite-wasm.js +27 -12
  112. package/lib/debug/persisters/persister-sqlite3.js +28 -13
  113. package/lib/debug/persisters/persister-yjs.js +23 -10
  114. package/lib/debug/persisters.js +16 -4
  115. package/lib/debug/queries.js +16 -15
  116. package/lib/debug/relationships.js +9 -9
  117. package/lib/debug/store.js +130 -35
  118. package/lib/debug/tinybase.js +142 -41
  119. package/lib/debug/tools.js +17 -9
  120. package/lib/debug/ui-react-dom.js +262 -150
  121. package/lib/debug/ui-react.js +288 -67
  122. package/lib/es6/checkpoints.js +1 -1
  123. package/lib/es6/checkpoints.js.gz +0 -0
  124. package/lib/es6/indexes.js +1 -1
  125. package/lib/es6/indexes.js.gz +0 -0
  126. package/lib/es6/metrics.js +1 -1
  127. package/lib/es6/metrics.js.gz +0 -0
  128. package/lib/es6/persisters/persister-automerge.js +1 -1
  129. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  130. package/lib/es6/persisters/persister-browser.js +1 -1
  131. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  132. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  133. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  134. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  135. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  136. package/lib/es6/persisters/persister-file.js +1 -1
  137. package/lib/es6/persisters/persister-file.js.gz +0 -0
  138. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  139. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  140. package/lib/es6/persisters/persister-partykit-client.js +1 -1
  141. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  142. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  143. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  144. package/lib/es6/persisters/persister-remote.js +1 -1
  145. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  146. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  147. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  148. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  149. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  150. package/lib/es6/persisters/persister-yjs.js +1 -1
  151. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  152. package/lib/es6/persisters.js +1 -1
  153. package/lib/es6/persisters.js.gz +0 -0
  154. package/lib/es6/queries.js +1 -1
  155. package/lib/es6/queries.js.gz +0 -0
  156. package/lib/es6/relationships.js +1 -1
  157. package/lib/es6/relationships.js.gz +0 -0
  158. package/lib/es6/store.js +1 -1
  159. package/lib/es6/store.js.gz +0 -0
  160. package/lib/es6/tinybase.js +1 -1
  161. package/lib/es6/tinybase.js.gz +0 -0
  162. package/lib/es6/tools.js +1 -1
  163. package/lib/es6/tools.js.gz +0 -0
  164. package/lib/es6/ui-react-dom-debug.js +1 -1
  165. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  166. package/lib/es6/ui-react-dom.js +1 -1
  167. package/lib/es6/ui-react-dom.js.gz +0 -0
  168. package/lib/es6/ui-react.js +1 -1
  169. package/lib/es6/ui-react.js.gz +0 -0
  170. package/lib/indexes.js +1 -1
  171. package/lib/indexes.js.gz +0 -0
  172. package/lib/metrics.js +1 -1
  173. package/lib/metrics.js.gz +0 -0
  174. package/lib/persisters/persister-automerge.js +1 -1
  175. package/lib/persisters/persister-automerge.js.gz +0 -0
  176. package/lib/persisters/persister-browser.js +1 -1
  177. package/lib/persisters/persister-browser.js.gz +0 -0
  178. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  179. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  180. package/lib/persisters/persister-expo-sqlite.js +1 -1
  181. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  182. package/lib/persisters/persister-file.js +1 -1
  183. package/lib/persisters/persister-file.js.gz +0 -0
  184. package/lib/persisters/persister-indexed-db.js +1 -1
  185. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  186. package/lib/persisters/persister-partykit-client.js +1 -1
  187. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  188. package/lib/persisters/persister-partykit-server.js +1 -1
  189. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  190. package/lib/persisters/persister-remote.js +1 -1
  191. package/lib/persisters/persister-remote.js.gz +0 -0
  192. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  193. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  194. package/lib/persisters/persister-sqlite3.js +1 -1
  195. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  196. package/lib/persisters/persister-yjs.js +1 -1
  197. package/lib/persisters/persister-yjs.js.gz +0 -0
  198. package/lib/persisters.js +1 -1
  199. package/lib/persisters.js.gz +0 -0
  200. package/lib/queries.js +1 -1
  201. package/lib/queries.js.gz +0 -0
  202. package/lib/relationships.js +1 -1
  203. package/lib/relationships.js.gz +0 -0
  204. package/lib/store.js +1 -1
  205. package/lib/store.js.gz +0 -0
  206. package/lib/tinybase.js +1 -1
  207. package/lib/tinybase.js.gz +0 -0
  208. package/lib/tools.js +1 -1
  209. package/lib/tools.js.gz +0 -0
  210. package/lib/types/persisters/persister-automerge.d.ts +36 -3
  211. package/lib/types/persisters/persister-browser.d.ts +71 -8
  212. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +42 -8
  213. package/lib/types/persisters/persister-expo-sqlite.d.ts +40 -7
  214. package/lib/types/persisters/persister-file.d.ts +34 -3
  215. package/lib/types/persisters/persister-indexed-db.d.ts +40 -9
  216. package/lib/types/persisters/persister-partykit-client.d.ts +99 -13
  217. package/lib/types/persisters/persister-partykit-server.d.ts +414 -9
  218. package/lib/types/persisters/persister-remote.d.ts +40 -4
  219. package/lib/types/persisters/persister-sqlite-wasm.d.ts +46 -7
  220. package/lib/types/persisters/persister-sqlite3.d.ts +40 -7
  221. package/lib/types/persisters/persister-yjs.d.ts +37 -5
  222. package/lib/types/persisters.d.ts +10 -10
  223. package/lib/types/queries.d.ts +24 -0
  224. package/lib/types/store.d.ts +912 -32
  225. package/lib/types/tools.d.ts +4 -6
  226. package/lib/types/ui-react-dom.d.ts +13 -2
  227. package/lib/types/ui-react.d.ts +1176 -44
  228. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +38 -4
  229. package/lib/types/with-schemas/persisters/persister-browser.d.ts +75 -10
  230. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +44 -9
  231. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +42 -8
  232. package/lib/types/with-schemas/persisters/persister-file.d.ts +36 -4
  233. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +42 -10
  234. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +102 -15
  235. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +447 -9
  236. package/lib/types/with-schemas/persisters/persister-remote.d.ts +42 -5
  237. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +48 -8
  238. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +41 -7
  239. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +39 -6
  240. package/lib/types/with-schemas/persisters.d.ts +10 -10
  241. package/lib/types/with-schemas/queries.d.ts +24 -0
  242. package/lib/types/with-schemas/store.d.ts +1180 -36
  243. package/lib/types/with-schemas/tools.d.ts +4 -6
  244. package/lib/types/with-schemas/ui-react-dom.d.ts +21 -4
  245. package/lib/types/with-schemas/ui-react.d.ts +1382 -71
  246. package/lib/ui-react-dom.js +1 -1
  247. package/lib/ui-react-dom.js.gz +0 -0
  248. package/lib/ui-react.js +1 -1
  249. package/lib/ui-react.js.gz +0 -0
  250. package/lib/umd/checkpoints.js +1 -1
  251. package/lib/umd/checkpoints.js.gz +0 -0
  252. package/lib/umd/indexes.js +1 -1
  253. package/lib/umd/indexes.js.gz +0 -0
  254. package/lib/umd/metrics.js +1 -1
  255. package/lib/umd/metrics.js.gz +0 -0
  256. package/lib/umd/persisters/persister-automerge.js +1 -1
  257. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  258. package/lib/umd/persisters/persister-browser.js +1 -1
  259. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  260. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  261. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  262. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  263. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  264. package/lib/umd/persisters/persister-file.js +1 -1
  265. package/lib/umd/persisters/persister-file.js.gz +0 -0
  266. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  267. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  268. package/lib/umd/persisters/persister-partykit-client.js +1 -1
  269. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  270. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  271. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  272. package/lib/umd/persisters/persister-remote.js +1 -1
  273. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  274. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  275. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  276. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  277. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  278. package/lib/umd/persisters/persister-yjs.js +1 -1
  279. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  280. package/lib/umd/persisters.js +1 -1
  281. package/lib/umd/persisters.js.gz +0 -0
  282. package/lib/umd/queries.js +1 -1
  283. package/lib/umd/queries.js.gz +0 -0
  284. package/lib/umd/relationships.js +1 -1
  285. package/lib/umd/relationships.js.gz +0 -0
  286. package/lib/umd/store.js +1 -1
  287. package/lib/umd/store.js.gz +0 -0
  288. package/lib/umd/tinybase.js +1 -1
  289. package/lib/umd/tinybase.js.gz +0 -0
  290. package/lib/umd/tools.js +1 -1
  291. package/lib/umd/tools.js.gz +0 -0
  292. package/lib/umd/ui-react-dom-debug.js +1 -1
  293. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  294. package/lib/umd/ui-react-dom.js +1 -1
  295. package/lib/umd/ui-react-dom.js.gz +0 -0
  296. package/lib/umd/ui-react.js +1 -1
  297. package/lib/umd/ui-react.js.gz +0 -0
  298. package/lib/umd-es6/checkpoints.js +1 -1
  299. package/lib/umd-es6/checkpoints.js.gz +0 -0
  300. package/lib/umd-es6/indexes.js +1 -1
  301. package/lib/umd-es6/indexes.js.gz +0 -0
  302. package/lib/umd-es6/metrics.js +1 -1
  303. package/lib/umd-es6/metrics.js.gz +0 -0
  304. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  305. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  306. package/lib/umd-es6/persisters/persister-browser.js +1 -1
  307. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  308. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  309. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  310. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  311. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-file.js +1 -1
  313. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  314. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  315. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  316. package/lib/umd-es6/persisters/persister-partykit-client.js +1 -1
  317. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  318. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  319. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  320. package/lib/umd-es6/persisters/persister-remote.js +1 -1
  321. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  322. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  323. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  324. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  325. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  326. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  327. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  328. package/lib/umd-es6/persisters.js +1 -1
  329. package/lib/umd-es6/persisters.js.gz +0 -0
  330. package/lib/umd-es6/queries.js +1 -1
  331. package/lib/umd-es6/queries.js.gz +0 -0
  332. package/lib/umd-es6/relationships.js +1 -1
  333. package/lib/umd-es6/relationships.js.gz +0 -0
  334. package/lib/umd-es6/store.js +1 -1
  335. package/lib/umd-es6/store.js.gz +0 -0
  336. package/lib/umd-es6/tinybase.js +1 -1
  337. package/lib/umd-es6/tinybase.js.gz +0 -0
  338. package/lib/umd-es6/tools.js +1 -1
  339. package/lib/umd-es6/tools.js.gz +0 -0
  340. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  341. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  342. package/lib/umd-es6/ui-react-dom.js +1 -1
  343. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  344. package/lib/umd-es6/ui-react.js +1 -1
  345. package/lib/umd-es6/ui-react.js.gz +0 -0
  346. package/package.json +42 -40
  347. package/readme.md +2 -2
@@ -7,6 +7,8 @@ const LISTENER = 'Listener';
7
7
  const RESULT = 'Result';
8
8
  const GET = 'get';
9
9
  const ADD = 'add';
10
+ const HAS = 'Has';
11
+ const _HAS = 'has';
10
12
  const IDS = 'Ids';
11
13
  const TABLE = 'Table';
12
14
  const TABLES = TABLE + 's';
@@ -26,11 +28,11 @@ const ifNotUndefined = (value, then, otherwise) =>
26
28
  isUndefined(value) ? otherwise?.() : then(value);
27
29
  const isString = (thing) => getTypeOf(thing) == STRING;
28
30
  const isArray = (thing) => Array.isArray(thing);
31
+ const size = (arrayOrString) => arrayOrString.length;
29
32
  const getUndefined = () => void 0;
30
33
 
31
34
  const arrayMap = (array, cb) => array.map(cb);
32
- const arrayLength = (array) => array.length;
33
- const arrayIsEmpty = (array) => arrayLength(array) == 0;
35
+ const arrayIsEmpty = (array) => size(array) == 0;
34
36
 
35
37
  const object = Object;
36
38
  const objIds = object.keys;
@@ -81,10 +83,14 @@ const {
81
83
  useCallback: useCallback$1,
82
84
  useEffect,
83
85
  useMemo: useMemo$1,
86
+ useLayoutEffect: useLayoutEffect$1,
84
87
  useRef: useRef$1,
85
88
  useState: useState$1,
86
89
  } = React;
87
- const useCreate = (store, create, createDeps = []) => {
90
+ const EMPTY_ARRAY = [];
91
+ const EMPTY_OBJECT = {};
92
+ const DEFAULT_CHECKPOINT_IDS = [[], void 0, []];
93
+ const useCreate = (store, create, createDeps = EMPTY_ARRAY) => {
88
94
  const thing = useMemo$1(
89
95
  () => create(store),
90
96
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -97,20 +103,21 @@ const useListenable = (
97
103
  listenable,
98
104
  thing,
99
105
  defaulted,
100
- args = [],
106
+ args = EMPTY_ARRAY,
101
107
  getFromListenerArg,
108
+ getterPrefix = GET,
109
+ listenerPrefix = EMPTY_STRING,
102
110
  ) => {
103
111
  const [, rerender] = useState$1();
104
112
  const getResult = useCallback$1(
105
- () => thing?.[GET + listenable]?.(...args) ?? defaulted,
113
+ () => thing?.[getterPrefix + listenable]?.(...args) ?? defaulted,
106
114
  /* eslint-disable-next-line react-hooks/exhaustive-deps */
107
- [thing, ...args],
115
+ [thing, listenable, ...args, defaulted],
108
116
  );
109
- const [initialResult] = useState$1(getResult);
110
- const result = useRef$1(initialResult);
117
+ const result = useRef$1();
111
118
  useMemo$1(() => (result.current = getResult()), [getResult]);
112
119
  useListener(
113
- listenable,
120
+ listenerPrefix + listenable,
114
121
  thing,
115
122
  (...listenerArgs) => {
116
123
  result.current = isUndefined(getFromListenerArg)
@@ -118,7 +125,7 @@ const useListenable = (
118
125
  : listenerArgs[getFromListenerArg];
119
126
  rerender([]);
120
127
  },
121
- [],
128
+ [getResult, getFromListenerArg],
122
129
  args,
123
130
  );
124
131
  return result.current;
@@ -127,25 +134,25 @@ const useListener = (
127
134
  listenable,
128
135
  thing,
129
136
  listener,
130
- listenerDeps = [],
131
- preArgs = [],
137
+ listenerDeps = EMPTY_ARRAY,
138
+ preArgs = EMPTY_ARRAY,
132
139
  ...postArgs
133
140
  ) =>
134
- useEffect(() => {
141
+ useLayoutEffect$1(() => {
135
142
  const listenerId = thing?.[ADD + listenable + LISTENER]?.(
136
143
  ...preArgs,
137
144
  listener,
138
145
  ...postArgs,
139
146
  );
140
147
  return () => thing?.delListener(listenerId);
141
- }, [thing, ...preArgs, ...listenerDeps, ...postArgs]);
148
+ }, [thing, listenable, ...preArgs, ...listenerDeps, ...postArgs]);
142
149
  const useSetCallback = (
143
150
  storeOrStoreId,
144
151
  settable,
145
152
  get,
146
- getDeps = [],
153
+ getDeps = EMPTY_ARRAY,
147
154
  then = getUndefined,
148
- thenDeps = [],
155
+ thenDeps = EMPTY_ARRAY,
149
156
  ...args
150
157
  ) => {
151
158
  const store = useStoreOrStoreById(storeOrStoreId);
@@ -164,7 +171,7 @@ const useDel = (
164
171
  storeOrStoreId,
165
172
  deletable,
166
173
  then = getUndefined,
167
- thenDeps = [],
174
+ thenDeps = EMPTY_ARRAY,
168
175
  ...args
169
176
  ) => {
170
177
  const store = useStoreOrStoreById(storeOrStoreId);
@@ -184,26 +191,60 @@ const useCheckpointAction = (checkpointsOrCheckpointsId, action, arg) => {
184
191
  [checkpoints, action, arg],
185
192
  );
186
193
  };
187
- const useCreateStore = (create, createDeps = []) =>
194
+ const useCreateStore = (create, createDeps = EMPTY_ARRAY) =>
188
195
  useMemo$1(create, createDeps);
189
196
  const useStoreIds = () => useThingIds(1);
197
+ const useHasTables = (storeOrStoreId) =>
198
+ useListenable(
199
+ TABLES,
200
+ useStoreOrStoreById(storeOrStoreId),
201
+ false,
202
+ [],
203
+ 1,
204
+ _HAS,
205
+ HAS,
206
+ );
190
207
  const useTables = (storeOrStoreId) =>
191
- useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), {});
208
+ useListenable(TABLES, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT);
192
209
  const useTableIds = (storeOrStoreId) =>
193
- useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId), [], []);
210
+ useListenable(TABLE_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY);
211
+ const useHasTable = (tableId, storeOrStoreId) =>
212
+ useListenable(
213
+ TABLE,
214
+ useStoreOrStoreById(storeOrStoreId),
215
+ false,
216
+ [tableId],
217
+ 2,
218
+ _HAS,
219
+ HAS,
220
+ );
194
221
  const useTable = (tableId, storeOrStoreId) =>
195
- useListenable(TABLE, useStoreOrStoreById(storeOrStoreId), {}, [tableId]);
222
+ useListenable(TABLE, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT, [
223
+ tableId,
224
+ ]);
196
225
  const useTableCellIds = (tableId, storeOrStoreId) =>
197
226
  useListenable(
198
227
  TABLE + CELL_IDS,
199
228
  useStoreOrStoreById(storeOrStoreId),
200
- [],
229
+ EMPTY_ARRAY,
201
230
  [tableId],
202
231
  );
232
+ const useHasTableCell = (tableId, cellId, storeOrStoreId) =>
233
+ useListenable(
234
+ TABLE + CELL,
235
+ useStoreOrStoreById(storeOrStoreId),
236
+ false,
237
+ [tableId, cellId],
238
+ 3,
239
+ _HAS,
240
+ HAS,
241
+ );
203
242
  const useRowCount = (tableId, storeOrStoreId) =>
204
- useListenable(ROW_COUNT, useStoreOrStoreById(storeOrStoreId), [], [tableId]);
243
+ useListenable(ROW_COUNT, useStoreOrStoreById(storeOrStoreId), 0, [tableId]);
205
244
  const useRowIds = (tableId, storeOrStoreId) =>
206
- useListenable(ROW_IDS, useStoreOrStoreById(storeOrStoreId), [], [tableId]);
245
+ useListenable(ROW_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY, [
246
+ tableId,
247
+ ]);
207
248
  const useSortedRowIds = (
208
249
  tableId,
209
250
  cellId,
@@ -215,18 +256,39 @@ const useSortedRowIds = (
215
256
  useListenable(
216
257
  SORTED_ROW_IDS,
217
258
  useStoreOrStoreById(storeOrStoreId),
218
- [],
259
+ EMPTY_ARRAY,
219
260
  [tableId, cellId, descending, offset, limit],
220
261
  6,
221
262
  );
263
+ const useHasRow = (tableId, rowId, storeOrStoreId) =>
264
+ useListenable(
265
+ ROW,
266
+ useStoreOrStoreById(storeOrStoreId),
267
+ false,
268
+ [tableId, rowId],
269
+ 3,
270
+ _HAS,
271
+ HAS,
272
+ );
222
273
  const useRow = (tableId, rowId, storeOrStoreId) =>
223
- useListenable(ROW, useStoreOrStoreById(storeOrStoreId), {}, [tableId, rowId]);
274
+ useListenable(ROW, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT, [
275
+ tableId,
276
+ rowId,
277
+ ]);
224
278
  const useCellIds = (tableId, rowId, storeOrStoreId) =>
279
+ useListenable(CELL_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY, [
280
+ tableId,
281
+ rowId,
282
+ ]);
283
+ const useHasCell = (tableId, rowId, cellId, storeOrStoreId) =>
225
284
  useListenable(
226
- CELL_IDS,
285
+ CELL,
227
286
  useStoreOrStoreById(storeOrStoreId),
228
- [],
229
- [tableId, rowId],
287
+ false,
288
+ [tableId, rowId, cellId],
289
+ 4,
290
+ _HAS,
291
+ HAS,
230
292
  );
231
293
  const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
232
294
  useListenable(
@@ -236,10 +298,30 @@ const useCell = (tableId, rowId, cellId, storeOrStoreId) =>
236
298
  [tableId, rowId, cellId],
237
299
  4,
238
300
  );
301
+ const useHasValues = (storeOrStoreId) =>
302
+ useListenable(
303
+ VALUES,
304
+ useStoreOrStoreById(storeOrStoreId),
305
+ false,
306
+ [],
307
+ 1,
308
+ _HAS,
309
+ HAS,
310
+ );
239
311
  const useValues = (storeOrStoreId) =>
240
- useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), {});
312
+ useListenable(VALUES, useStoreOrStoreById(storeOrStoreId), EMPTY_OBJECT);
241
313
  const useValueIds = (storeOrStoreId) =>
242
- useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId), [], []);
314
+ useListenable(VALUE_IDS, useStoreOrStoreById(storeOrStoreId), EMPTY_ARRAY);
315
+ const useHasValue = (valueId, storeOrStoreId) =>
316
+ useListenable(
317
+ VALUE,
318
+ useStoreOrStoreById(storeOrStoreId),
319
+ false,
320
+ [valueId],
321
+ 2,
322
+ _HAS,
323
+ HAS,
324
+ );
243
325
  const useValue = (valueId, storeOrStoreId) =>
244
326
  useListenable(VALUE, useStoreOrStoreById(storeOrStoreId), void 0, [valueId]);
245
327
  const useSetTablesCallback = (
@@ -296,10 +378,10 @@ const useSetRowCallback = (
296
378
  const useAddRowCallback = (
297
379
  tableId,
298
380
  getRow,
299
- getRowDeps = [],
381
+ getRowDeps = EMPTY_ARRAY,
300
382
  storeOrStoreId,
301
383
  then = getUndefined,
302
- thenDeps = [],
384
+ thenDeps = EMPTY_ARRAY,
303
385
  reuseRowIds = true,
304
386
  ) => {
305
387
  const store = useStoreOrStoreById(storeOrStoreId);
@@ -430,13 +512,27 @@ const useDelValuesCallback = (storeOrStoreId, then, thenDeps) =>
430
512
  useDel(storeOrStoreId, VALUES, then, thenDeps);
431
513
  const useDelValueCallback = (valueId, storeOrStoreId, then, thenDeps) =>
432
514
  useDel(storeOrStoreId, VALUE, then, thenDeps, valueId);
515
+ const useHasTablesListener = (
516
+ listener,
517
+ listenerDeps,
518
+ mutator,
519
+ storeOrStoreId,
520
+ ) =>
521
+ useListener(
522
+ HAS + TABLES,
523
+ useStoreOrStoreById(storeOrStoreId),
524
+ listener,
525
+ listenerDeps,
526
+ [],
527
+ mutator,
528
+ );
433
529
  const useTablesListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
434
530
  useListener(
435
531
  TABLES,
436
532
  useStoreOrStoreById(storeOrStoreId),
437
533
  listener,
438
534
  listenerDeps,
439
- [],
535
+ EMPTY_ARRAY,
440
536
  mutator,
441
537
  );
442
538
  const useTableIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
@@ -445,7 +541,22 @@ const useTableIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
445
541
  useStoreOrStoreById(storeOrStoreId),
446
542
  listener,
447
543
  listenerDeps,
448
- [],
544
+ EMPTY_ARRAY,
545
+ mutator,
546
+ );
547
+ const useHasTableListener = (
548
+ tableId,
549
+ listener,
550
+ listenerDeps,
551
+ mutator,
552
+ storeOrStoreId,
553
+ ) =>
554
+ useListener(
555
+ HAS + TABLE,
556
+ useStoreOrStoreById(storeOrStoreId),
557
+ listener,
558
+ listenerDeps,
559
+ [tableId],
449
560
  mutator,
450
561
  );
451
562
  const useTableListener = (
@@ -478,6 +589,22 @@ const useTableCellIdsListener = (
478
589
  [tableId],
479
590
  mutator,
480
591
  );
592
+ const useHasTableCellListener = (
593
+ tableId,
594
+ cellId,
595
+ listener,
596
+ listenerDeps,
597
+ mutator,
598
+ storeOrStoreId,
599
+ ) =>
600
+ useListener(
601
+ HAS + TABLE + CELL,
602
+ useStoreOrStoreById(storeOrStoreId),
603
+ listener,
604
+ listenerDeps,
605
+ [tableId, cellId],
606
+ mutator,
607
+ );
481
608
  const useRowCountListener = (
482
609
  tableId,
483
610
  listener,
@@ -527,6 +654,22 @@ const useSortedRowIdsListener = (
527
654
  [tableId, cellId, descending, offset, limit],
528
655
  mutator,
529
656
  );
657
+ const useHasRowListener = (
658
+ tableId,
659
+ rowId,
660
+ listener,
661
+ listenerDeps,
662
+ mutator,
663
+ storeOrStoreId,
664
+ ) =>
665
+ useListener(
666
+ HAS + ROW,
667
+ useStoreOrStoreById(storeOrStoreId),
668
+ listener,
669
+ listenerDeps,
670
+ [tableId, rowId],
671
+ mutator,
672
+ );
530
673
  const useRowListener = (
531
674
  tableId,
532
675
  rowId,
@@ -559,6 +702,23 @@ const useCellIdsListener = (
559
702
  [tableId, rowId],
560
703
  mutator,
561
704
  );
705
+ const useHasCellListener = (
706
+ tableId,
707
+ rowId,
708
+ cellId,
709
+ listener,
710
+ listenerDeps,
711
+ mutator,
712
+ storeOrStoreId,
713
+ ) =>
714
+ useListener(
715
+ HAS + CELL,
716
+ useStoreOrStoreById(storeOrStoreId),
717
+ listener,
718
+ listenerDeps,
719
+ [tableId, rowId, cellId],
720
+ mutator,
721
+ );
562
722
  const useCellListener = (
563
723
  tableId,
564
724
  rowId,
@@ -576,13 +736,27 @@ const useCellListener = (
576
736
  [tableId, rowId, cellId],
577
737
  mutator,
578
738
  );
739
+ const useHasValuesListener = (
740
+ listener,
741
+ listenerDeps,
742
+ mutator,
743
+ storeOrStoreId,
744
+ ) =>
745
+ useListener(
746
+ HAS + VALUES,
747
+ useStoreOrStoreById(storeOrStoreId),
748
+ listener,
749
+ listenerDeps,
750
+ [],
751
+ mutator,
752
+ );
579
753
  const useValuesListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
580
754
  useListener(
581
755
  VALUES,
582
756
  useStoreOrStoreById(storeOrStoreId),
583
757
  listener,
584
758
  listenerDeps,
585
- [],
759
+ EMPTY_ARRAY,
586
760
  mutator,
587
761
  );
588
762
  const useValueIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
@@ -591,7 +765,22 @@ const useValueIdsListener = (listener, listenerDeps, mutator, storeOrStoreId) =>
591
765
  useStoreOrStoreById(storeOrStoreId),
592
766
  listener,
593
767
  listenerDeps,
594
- [],
768
+ EMPTY_ARRAY,
769
+ mutator,
770
+ );
771
+ const useHasValueListener = (
772
+ valueId,
773
+ listener,
774
+ listenerDeps,
775
+ mutator,
776
+ storeOrStoreId,
777
+ ) =>
778
+ useListener(
779
+ HAS + VALUE,
780
+ useStoreOrStoreById(storeOrStoreId),
781
+ listener,
782
+ listenerDeps,
783
+ [valueId],
595
784
  mutator,
596
785
  );
597
786
  const useValueListener = (
@@ -642,7 +831,11 @@ const useCreateMetrics = (store, create, createDeps) =>
642
831
  useCreate(store, create, createDeps);
643
832
  const useMetricsIds = () => useThingIds(3);
644
833
  const useMetricIds = (metricsOrMetricsId) =>
645
- useListenable('MetricIds', useMetricsOrMetricsById(metricsOrMetricsId), []);
834
+ useListenable(
835
+ 'MetricIds',
836
+ useMetricsOrMetricsById(metricsOrMetricsId),
837
+ EMPTY_ARRAY,
838
+ );
646
839
  const useMetric = (metricId, metricsOrMetricsId) =>
647
840
  useListenable('Metric', useMetricsOrMetricsById(metricsOrMetricsId), void 0, [
648
841
  metricId,
@@ -667,16 +860,20 @@ const useSliceIds = (indexId, indexesOrIndexesId) =>
667
860
  useListenable(
668
861
  'SliceIds',
669
862
  useIndexesOrIndexesById(indexesOrIndexesId),
670
- [],
863
+ EMPTY_ARRAY,
671
864
  [indexId],
672
865
  );
673
866
  const useIndexIds = (indexesOrIndexesId) =>
674
- useListenable('IndexIds', useIndexesOrIndexesById(indexesOrIndexesId), []);
867
+ useListenable(
868
+ 'IndexIds',
869
+ useIndexesOrIndexesById(indexesOrIndexesId),
870
+ EMPTY_ARRAY,
871
+ );
675
872
  const useSliceRowIds = (indexId, sliceId, indexesOrIndexesId) =>
676
873
  useListenable(
677
874
  'Slice' + ROW_IDS,
678
875
  useIndexesOrIndexesById(indexesOrIndexesId),
679
- [],
876
+ EMPTY_ARRAY,
680
877
  [indexId, sliceId],
681
878
  );
682
879
  const useSliceIdsListener = (
@@ -713,7 +910,7 @@ const useRelationshipIds = (relationshipsOrRelationshipsId) =>
713
910
  useListenable(
714
911
  'RelationshipIds',
715
912
  useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
716
- [],
913
+ EMPTY_ARRAY,
717
914
  );
718
915
  const useRemoteRowId = (
719
916
  relationshipId,
@@ -734,7 +931,7 @@ const useLocalRowIds = (
734
931
  useListenable(
735
932
  'Local' + ROW_IDS,
736
933
  useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
737
- [],
934
+ EMPTY_ARRAY,
738
935
  [relationshipId, remoteRowId],
739
936
  );
740
937
  const useLinkedRowIds = (
@@ -745,7 +942,7 @@ const useLinkedRowIds = (
745
942
  useListenable(
746
943
  'Linked' + ROW_IDS,
747
944
  useRelationshipsOrRelationshipsById(relationshipsOrRelationshipsId),
748
- [],
945
+ EMPTY_ARRAY,
749
946
  [relationshipId, firstRowId],
750
947
  );
751
948
  const useRemoteRowIdListener = (
@@ -794,33 +991,37 @@ const useCreateQueries = (store, create, createDeps) =>
794
991
  useCreate(store, create, createDeps);
795
992
  const useQueriesIds = () => useThingIds(9);
796
993
  const useQueryIds = (queriesOrQueriesId) =>
797
- useListenable('QueryIds', useQueriesOrQueriesById(queriesOrQueriesId), []);
994
+ useListenable(
995
+ 'QueryIds',
996
+ useQueriesOrQueriesById(queriesOrQueriesId),
997
+ EMPTY_ARRAY,
998
+ );
798
999
  const useResultTable = (queryId, queriesOrQueriesId) =>
799
1000
  useListenable(
800
1001
  RESULT + TABLE,
801
1002
  useQueriesOrQueriesById(queriesOrQueriesId),
802
- {},
1003
+ EMPTY_OBJECT,
803
1004
  [queryId],
804
1005
  );
805
1006
  const useResultTableCellIds = (queryId, queriesOrQueriesId) =>
806
1007
  useListenable(
807
1008
  RESULT + TABLE + CELL_IDS,
808
1009
  useQueriesOrQueriesById(queriesOrQueriesId),
809
- [],
1010
+ EMPTY_ARRAY,
810
1011
  [queryId],
811
1012
  );
812
1013
  const useResultRowCount = (queryId, queriesOrQueriesId) =>
813
1014
  useListenable(
814
1015
  RESULT + ROW_COUNT,
815
1016
  useQueriesOrQueriesById(queriesOrQueriesId),
816
- [],
1017
+ 0,
817
1018
  [queryId],
818
1019
  );
819
1020
  const useResultRowIds = (queryId, queriesOrQueriesId) =>
820
1021
  useListenable(
821
1022
  RESULT + ROW_IDS,
822
1023
  useQueriesOrQueriesById(queriesOrQueriesId),
823
- [],
1024
+ EMPTY_ARRAY,
824
1025
  [queryId],
825
1026
  );
826
1027
  const useResultSortedRowIds = (
@@ -834,20 +1035,22 @@ const useResultSortedRowIds = (
834
1035
  useListenable(
835
1036
  RESULT + SORTED_ROW_IDS,
836
1037
  useQueriesOrQueriesById(queriesOrQueriesId),
837
- [],
1038
+ EMPTY_ARRAY,
838
1039
  [queryId, cellId, descending, offset, limit],
839
1040
  6,
840
1041
  );
841
1042
  const useResultRow = (queryId, rowId, queriesOrQueriesId) =>
842
- useListenable(RESULT + ROW, useQueriesOrQueriesById(queriesOrQueriesId), {}, [
843
- queryId,
844
- rowId,
845
- ]);
1043
+ useListenable(
1044
+ RESULT + ROW,
1045
+ useQueriesOrQueriesById(queriesOrQueriesId),
1046
+ EMPTY_OBJECT,
1047
+ [queryId, rowId],
1048
+ );
846
1049
  const useResultCellIds = (queryId, rowId, queriesOrQueriesId) =>
847
1050
  useListenable(
848
1051
  RESULT + CELL_IDS,
849
1052
  useQueriesOrQueriesById(queriesOrQueriesId),
850
- [],
1053
+ EMPTY_ARRAY,
851
1054
  [queryId, rowId],
852
1055
  );
853
1056
  const useResultCell = (queryId, rowId, cellId, queriesOrQueriesId) =>
@@ -976,7 +1179,7 @@ const useCheckpointIds = (checkpointsOrCheckpointsId) =>
976
1179
  useListenable(
977
1180
  'CheckpointIds',
978
1181
  useCheckpointsOrCheckpointsById(checkpointsOrCheckpointsId),
979
- [[], void 0, []],
1182
+ DEFAULT_CHECKPOINT_IDS,
980
1183
  );
981
1184
  const useCheckpoint = (checkpointId, checkpointsOrCheckpointsId) =>
982
1185
  useListenable(
@@ -987,10 +1190,10 @@ const useCheckpoint = (checkpointId, checkpointsOrCheckpointsId) =>
987
1190
  );
988
1191
  const useSetCheckpointCallback = (
989
1192
  getCheckpoint = getUndefined,
990
- getCheckpointDeps = [],
1193
+ getCheckpointDeps = EMPTY_ARRAY,
991
1194
  checkpointsOrCheckpointsId,
992
1195
  then = getUndefined,
993
- thenDeps = [],
1196
+ thenDeps = EMPTY_ARRAY,
994
1197
  ) => {
995
1198
  const checkpoints = useCheckpointsOrCheckpointsById(
996
1199
  checkpointsOrCheckpointsId,
@@ -1011,10 +1214,10 @@ const useGoForwardCallback = (checkpointsOrCheckpointsId) =>
1011
1214
  useCheckpointAction(checkpointsOrCheckpointsId, 'goForward');
1012
1215
  const useGoToCallback = (
1013
1216
  getCheckpointId,
1014
- getCheckpointIdDeps = [],
1217
+ getCheckpointIdDeps = EMPTY_ARRAY,
1015
1218
  checkpointsOrCheckpointsId,
1016
1219
  then = getUndefined,
1017
- thenDeps = [],
1220
+ thenDeps = EMPTY_ARRAY,
1018
1221
  ) => {
1019
1222
  const checkpoints = useCheckpointsOrCheckpointsById(
1020
1223
  checkpointsOrCheckpointsId,
@@ -1083,11 +1286,13 @@ const useCheckpointListener = (
1083
1286
  const useCreatePersister = (
1084
1287
  store,
1085
1288
  create,
1086
- createDeps = [],
1289
+ createDeps = EMPTY_ARRAY,
1087
1290
  then,
1088
- thenDeps = [],
1291
+ thenDeps = EMPTY_ARRAY,
1292
+ destroy,
1293
+ destroyDeps = EMPTY_ARRAY,
1089
1294
  ) => {
1090
- const [, setDone] = useState$1();
1295
+ const [, rerender] = useState$1();
1091
1296
  const persister = useMemo$1(
1092
1297
  () => create(store),
1093
1298
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1096,16 +1301,18 @@ const useCreatePersister = (
1096
1301
  useEffect(
1097
1302
  () => {
1098
1303
  (async () => {
1099
- await then?.(persister);
1100
- setDone(1);
1101
- return;
1304
+ if (then) {
1305
+ await then(persister);
1306
+ rerender([]);
1307
+ }
1102
1308
  })();
1103
1309
  return () => {
1104
1310
  persister?.destroy();
1311
+ destroy?.(persister);
1105
1312
  };
1106
1313
  },
1107
1314
  // eslint-disable-next-line react-hooks/exhaustive-deps
1108
- [persister, ...thenDeps],
1315
+ [persister, ...thenDeps, ...destroyDeps],
1109
1316
  );
1110
1317
  return persister;
1111
1318
  };
@@ -1620,6 +1827,20 @@ export {
1620
1827
  useGoBackwardCallback,
1621
1828
  useGoForwardCallback,
1622
1829
  useGoToCallback,
1830
+ useHasCell,
1831
+ useHasCellListener,
1832
+ useHasRow,
1833
+ useHasRowListener,
1834
+ useHasTable,
1835
+ useHasTableCell,
1836
+ useHasTableCellListener,
1837
+ useHasTableListener,
1838
+ useHasTables,
1839
+ useHasTablesListener,
1840
+ useHasValue,
1841
+ useHasValueListener,
1842
+ useHasValues,
1843
+ useHasValuesListener,
1623
1844
  useIndexIds,
1624
1845
  useIndexes,
1625
1846
  useIndexesIds,
@@ -1 +1 @@
1
- const e=e=>null==e,l=(l,n,t)=>e(l)?null==t?void 0:t():n(l),n=(e,l)=>e.includes(l),t=(e,l)=>e.forEach(l),r=e=>e.length,o=e=>0==r(e),u=(e,...l)=>e.push(...l),s=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,l)=>{var n;return null!=(n=null==e?void 0:e.has(l))&&n},c=l=>e(l)||0==(e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0})(l),v=(e,l)=>null==e?void 0:e.forEach(l),h=(e,l)=>null==e?void 0:e.delete(l),p=e=>new Map(e),C=(e,l)=>null==e?void 0:e.get(l),f=(l,n,t)=>e(t)?(h(l,n),l):null==l?void 0:l.set(n,t),g=(e,l,n)=>(a(e,l)||f(e,l,n()),C(e,l)),k=(e,n,t,o,u=0)=>l((t?g:C)(e,n[u],u>r(n)-2?t:p),(l=>{if(u>r(n)-2)return(null==o?void 0:o(l))&&f(e,n[u]),l;const s=k(l,n,t,o,u+1);return c(l)&&f(e,n[u]),s})),L=l=>new Set(Array.isArray(l)||e(l)?l:[l]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(n=>{let o;const[s,d]=(()=>{const e=[];let l=0;return[n=>{var t;return null!=(t=n?i(e):null)?t:""+l++},l=>{w.test(l)&&r(e)<1e3&&u(e,l)}]})(),a=p();return[(e,l,n,t=[],r=(()=>[]))=>{null!=o||(o=_);const u=s(1);var i,d;return f(a,u,[e,l,n,t,r]),d=u,null==(i=k(l,null!=n?n:[""],L))||i.add(d),u},(e,l,...n)=>t(((e,l=[""])=>{const n=[],o=(e,s)=>s==r(l)?u(n,e):null===l[s]?v(e,(e=>o(e,s+1))):t([l[s],null],(l=>o(C(e,l),s+1)));return o(e,0),n})(e,l),(e=>v(e,(e=>C(a,e)[0](o,...null!=l?l:[],...n))))),e=>l(C(a,e),(([,l,n])=>(k(l,null!=n?n:[""],void 0,(l=>(h(l,e),c(l)?1:0))),f(a,e),d(e),n))),n=>l(C(a,n),(([l,,n=[],u,s])=>{const i=(...d)=>{var a,c;const v=r(d);v==r(n)?l(o,...d,...s(d)):e(n[v])?t(null!=(c=null==(a=u[v])?void 0:a.call(u,...d))?c:[],(e=>i(...d,e))):i(...d,n[v])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(l,n)=>{M=0,S.transaction((()=>{const[t,r]=C(O,n);v(t,((n,t)=>v(n,((n,r)=>v(n,((n,o)=>((l,n,t,r,o)=>e(o)?l.delCell(n,t,r,!0):l.setCell(n,t,r,o))(S,t,r,o,n[l]))))))),v(r,((n,t)=>((l,n,t)=>e(t)?l.delValue(n):l.setValue(n,t))(S,t,n[l])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,l)=>t(((e,l)=>e.splice(0,l))(e,null!=l?l:r(e)),q),G=()=>D(W,r(W)-V),H=()=>l(y,(()=>{u(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=s(W),E=1},K=S.addCellListener(null,null,null,((e,l,n,t,r,o)=>{if(M){H();const e=g(A,l,p),u=g(e,n,p),s=g(u,t,(()=>[o,void 0]));s[1]=r,s[0]===r&&c(f(u,t))&&c(f(e,n))&&c(f(A,l))&&J(),U()}})),N=S.addValueListener(null,((e,l,n,t)=>{if(M){H();const e=g(I,l,(()=>[t,void 0]));e[1]=n,e[0]===n&&c(f(I,l))&&J(),U()}})),P=(l="")=>(e(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,l),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...l)=>{e.unshift(...l)})($,P()),m(0,y),y=s(W),E=1)},R=()=>{o($)||(u(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const l=P(e);return U(),l},Y=(e,l)=>(Z(e)&&C(T,e)!==l&&(f(T,e,l),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return l=e,v(T,((e,n)=>l(n,e)));var l},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:l=>{const t=n(W,l)?Q:n($,l)?R:null;for(;!e(t)&&l!=y;)t();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,l)=>x(l,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
1
+ const e=e=>null==e,l=(l,n,t)=>e(l)?null==t?void 0:t():n(l),n=e=>e.length,t=(e,l)=>e.includes(l),r=(e,l)=>e.forEach(l),o=e=>0==n(e),u=(e,...l)=>e.push(...l),s=e=>e.pop(),i=e=>e.shift(),d=Object.freeze,a=(e,l)=>{var n;return null!=(n=null==e?void 0:e.has(l))&&n},c=l=>e(l)||0==(e=>{var l;return null!=(l=null==e?void 0:e.size)?l:0})(l),v=(e,l)=>null==e?void 0:e.forEach(l),h=(e,l)=>null==e?void 0:e.delete(l),p=e=>new Map(e),C=(e,l)=>null==e?void 0:e.get(l),f=(l,n,t)=>e(t)?(h(l,n),l):null==l?void 0:l.set(n,t),g=(e,l,n)=>(a(e,l)||f(e,l,n()),C(e,l)),k=(e,t,r,o,u=0)=>l((r?g:C)(e,t[u],u>n(t)-2?r:p),(l=>{if(u>n(t)-2)return(null==o?void 0:o(l))&&f(e,t[u]),l;const s=k(l,t,r,o,u+1);return c(l)&&f(e,t[u]),s})),L=l=>new Set(Array.isArray(l)||e(l)?l:[l]),w=/^\d+$/,S=(S=>{const y=new WeakMap;return S=>(y.has(S)||y.set(S,(S=>{let y,z,E,V=100,A=p(),I=p(),M=1;const b=p(),j=p(),[x,B,F]=(t=>{let o;const[s,d]=(()=>{const e=[];let l=0;return[n=>{var t;return null!=(t=n?i(e):null)?t:""+l++},l=>{w.test(l)&&n(e)<1e3&&u(e,l)}]})(),a=p();return[(e,l,n,t=[],r=(()=>[]))=>{null!=o||(o=_);const u=s(1);var i,d;return f(a,u,[e,l,n,t,r]),d=u,null==(i=k(l,null!=n?n:[""],L))||i.add(d),u},(e,l,...t)=>r(((e,l=[""])=>{const t=[],o=(e,s)=>s==n(l)?u(t,e):null===l[s]?v(e,(e=>o(e,s+1))):r([l[s],null],(l=>o(C(e,l),s+1)));return o(e,0),t})(e,l),(e=>v(e,(e=>C(a,e)[0](o,...null!=l?l:[],...t))))),e=>l(C(a,e),(([,l,n])=>(k(l,null!=n?n:[""],void 0,(l=>(h(l,e),c(l)?1:0))),f(a,e),d(e),n))),t=>l(C(a,t),(([l,,t=[],u,s])=>{const i=(...d)=>{var a,c;const v=n(d);v==n(t)?l(o,...d,...s(d)):e(t[v])?r(null!=(c=null==(a=u[v])?void 0:a.call(u,...d))?c:[],(e=>i(...d,e))):i(...d,t[v])};i()}))]})(),O=p(),T=p(),W=[],$=[],m=(l,n)=>{M=0,S.transaction((()=>{const[t,r]=C(O,n);v(t,((n,t)=>v(n,((n,r)=>v(n,((n,o)=>((l,n,t,r,o)=>e(o)?l.delCell(n,t,r,!0):l.setCell(n,t,r,o))(S,t,r,o,n[l]))))))),v(r,((n,t)=>((l,n,t)=>e(t)?l.delValue(n):l.setValue(n,t))(S,t,n[l])))})),M=1},q=e=>{f(O,e),f(T,e),B(j,[e])},D=(e,l)=>r(((e,l)=>e.splice(0,l))(e,null!=l?l:n(e)),q),G=()=>D(W,n(W)-V),H=()=>l(y,(()=>{u(W,y),G(),D($),y=void 0,E=1})),J=()=>{y=s(W),E=1},K=S.addCellListener(null,null,null,((e,l,n,t,r,o)=>{if(M){H();const e=g(A,l,p),u=g(e,n,p),s=g(u,t,(()=>[o,void 0]));s[1]=r,s[0]===r&&c(f(u,t))&&c(f(e,n))&&c(f(A,l))&&J(),U()}})),N=S.addValueListener(null,((e,l,n,t)=>{if(M){H();const e=g(I,l,(()=>[t,void 0]));e[1]=n,e[0]===n&&c(f(I,l))&&J(),U()}})),P=(l="")=>(e(y)&&(y=""+z++,f(O,y,[A,I]),Y(y,l),A=p(),I=p(),E=1),y),Q=()=>{o(W)||(((e,...l)=>{e.unshift(...l)})($,P()),m(0,y),y=s(W),E=1)},R=()=>{o($)||(u(W,y),y=i($),m(1,y),E=1)},U=()=>{E&&(B(b),E=0)},X=e=>{const l=P(e);return U(),l},Y=(e,l)=>(Z(e)&&C(T,e)!==l&&(f(T,e,l),B(j,[e])),_),Z=e=>a(O,e),_={setSize:e=>(V=e,G(),_),addCheckpoint:X,setCheckpoint:Y,getStore:()=>S,getCheckpointIds:()=>[[...W],y,[...$]],forEachCheckpoint:e=>{return l=e,v(T,((e,n)=>l(n,e)));var l},hasCheckpoint:Z,getCheckpoint:e=>C(T,e),goBackward:()=>(Q(),U(),_),goForward:()=>(R(),U(),_),goTo:l=>{const n=t(W,l)?Q:t($,l)?R:null;for(;!e(n)&&l!=y;)n();return U(),_},addCheckpointIdsListener:e=>x(e,b),addCheckpointListener:(e,l)=>x(l,j,[e]),delListener:e=>(F(e),_),clear:()=>(D(W),D($),e(y)||q(y),y=void 0,z=0,X(),_),destroy:()=>{S.delListener(K),S.delListener(N)},getListenerStats:()=>({})};return d(_.clear())})(S)),y.get(S))})();export{S as createCheckpoints};
Binary file