tinybase 5.0.0-beta.2 → 5.0.0-beta.21

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 (1591) hide show
  1. package/@types/_internal/queries/index.d.cts +0 -0
  2. package/@types/_internal/queries/index.d.ts +0 -0
  3. package/@types/_internal/queries/with-schemas/index.d.cts +22 -0
  4. package/@types/_internal/queries/with-schemas/index.d.ts +22 -0
  5. package/@types/_internal/store/index.d.cts +3 -0
  6. package/@types/_internal/store/index.d.ts +3 -0
  7. package/@types/_internal/store/with-schemas/index.d.cts +106 -0
  8. package/@types/_internal/store/with-schemas/index.d.ts +106 -0
  9. package/@types/_internal/ui-react/index.d.cts +0 -0
  10. package/@types/_internal/ui-react/index.d.ts +0 -0
  11. package/@types/_internal/ui-react/with-schemas/index.d.cts +813 -0
  12. package/@types/_internal/ui-react/with-schemas/index.d.ts +813 -0
  13. package/@types/checkpoints/index.d.cts +1033 -0
  14. package/@types/checkpoints/index.d.ts +1033 -0
  15. package/@types/checkpoints/with-schemas/index.d.cts +1125 -0
  16. package/@types/checkpoints/with-schemas/index.d.ts +1125 -0
  17. package/@types/common/index.d.cts +117 -0
  18. package/@types/common/index.d.ts +117 -0
  19. package/@types/common/with-schemas/index.d.cts +117 -0
  20. package/@types/common/with-schemas/index.d.ts +117 -0
  21. package/@types/index.d.cts +18 -0
  22. package/@types/index.d.ts +18 -0
  23. package/@types/indexes/index.d.cts +1037 -0
  24. package/@types/indexes/index.d.ts +1037 -0
  25. package/@types/indexes/with-schemas/index.d.cts +1183 -0
  26. package/@types/indexes/with-schemas/index.d.ts +1183 -0
  27. package/@types/mergeable-store/index.d.cts +222 -0
  28. package/@types/mergeable-store/index.d.ts +222 -0
  29. package/@types/mergeable-store/with-schemas/index.d.cts +509 -0
  30. package/@types/mergeable-store/with-schemas/index.d.ts +509 -0
  31. package/@types/metrics/index.d.cts +895 -0
  32. package/@types/metrics/index.d.ts +895 -0
  33. package/@types/metrics/with-schemas/index.d.cts +982 -0
  34. package/@types/metrics/with-schemas/index.d.ts +982 -0
  35. package/@types/persisters/index.d.cts +1319 -0
  36. package/@types/persisters/index.d.ts +1319 -0
  37. package/@types/persisters/persister-automerge/index.d.cts +162 -0
  38. package/@types/persisters/persister-automerge/index.d.ts +162 -0
  39. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +177 -0
  40. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +177 -0
  41. package/@types/persisters/persister-browser/index.d.cts +174 -0
  42. package/@types/persisters/persister-browser/index.d.ts +174 -0
  43. package/@types/persisters/persister-browser/with-schemas/index.d.cts +199 -0
  44. package/@types/persisters/persister-browser/with-schemas/index.d.ts +199 -0
  45. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +157 -0
  46. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +157 -0
  47. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +176 -0
  48. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +176 -0
  49. package/@types/persisters/persister-electric-sql/index.d.cts +183 -0
  50. package/@types/persisters/persister-electric-sql/index.d.ts +183 -0
  51. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +202 -0
  52. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +202 -0
  53. package/@types/persisters/persister-expo-sqlite/index.d.cts +186 -0
  54. package/@types/persisters/persister-expo-sqlite/index.d.ts +186 -0
  55. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +205 -0
  56. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +205 -0
  57. package/@types/persisters/persister-expo-sqlite-next/index.d.cts +187 -0
  58. package/@types/persisters/persister-expo-sqlite-next/index.d.ts +187 -0
  59. package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.cts +206 -0
  60. package/@types/persisters/persister-expo-sqlite-next/with-schemas/index.d.ts +206 -0
  61. package/@types/persisters/persister-file/index.d.cts +88 -0
  62. package/@types/persisters/persister-file/index.d.ts +88 -0
  63. package/@types/persisters/persister-file/with-schemas/index.d.cts +102 -0
  64. package/@types/persisters/persister-file/with-schemas/index.d.ts +102 -0
  65. package/@types/persisters/persister-indexed-db/index.d.cts +116 -0
  66. package/@types/persisters/persister-indexed-db/index.d.ts +116 -0
  67. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +131 -0
  68. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +131 -0
  69. package/@types/persisters/persister-libsql/index.d.cts +154 -0
  70. package/@types/persisters/persister-libsql/index.d.ts +154 -0
  71. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +173 -0
  72. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +173 -0
  73. package/@types/persisters/persister-partykit-client/index.d.cts +185 -0
  74. package/@types/persisters/persister-partykit-client/index.d.ts +185 -0
  75. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +200 -0
  76. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +200 -0
  77. package/@types/persisters/persister-partykit-server/index.d.cts +631 -0
  78. package/@types/persisters/persister-partykit-server/index.d.ts +631 -0
  79. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +673 -0
  80. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +673 -0
  81. package/@types/persisters/persister-powersync/index.d.cts +169 -0
  82. package/@types/persisters/persister-powersync/index.d.ts +169 -0
  83. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +188 -0
  84. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +188 -0
  85. package/@types/persisters/persister-remote/index.d.cts +113 -0
  86. package/@types/persisters/persister-remote/index.d.ts +113 -0
  87. package/@types/persisters/persister-remote/with-schemas/index.d.cts +129 -0
  88. package/@types/persisters/persister-remote/with-schemas/index.d.ts +129 -0
  89. package/@types/persisters/persister-sqlite-wasm/index.d.cts +170 -0
  90. package/@types/persisters/persister-sqlite-wasm/index.d.ts +170 -0
  91. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +190 -0
  92. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +190 -0
  93. package/@types/persisters/persister-sqlite3/index.d.cts +171 -0
  94. package/@types/persisters/persister-sqlite3/index.d.ts +171 -0
  95. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +190 -0
  96. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +190 -0
  97. package/@types/persisters/persister-yjs/index.d.cts +157 -0
  98. package/@types/persisters/persister-yjs/index.d.ts +157 -0
  99. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +172 -0
  100. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +172 -0
  101. package/@types/persisters/with-schemas/index.d.cts +1393 -0
  102. package/@types/persisters/with-schemas/index.d.ts +1393 -0
  103. package/@types/queries/index.d.cts +3640 -0
  104. package/@types/queries/index.d.ts +3640 -0
  105. package/@types/queries/with-schemas/index.d.cts +3961 -0
  106. package/@types/queries/with-schemas/index.d.ts +3961 -0
  107. package/@types/relationships/index.d.cts +1266 -0
  108. package/@types/relationships/index.d.ts +1266 -0
  109. package/@types/relationships/with-schemas/index.d.cts +1420 -0
  110. package/@types/relationships/with-schemas/index.d.ts +1420 -0
  111. package/@types/store/index.d.cts +7453 -0
  112. package/@types/store/index.d.ts +7453 -0
  113. package/@types/store/with-schemas/index.d.cts +9131 -0
  114. package/@types/store/with-schemas/index.d.ts +9131 -0
  115. package/@types/synchronizers/index.d.cts +139 -0
  116. package/@types/synchronizers/index.d.ts +139 -0
  117. package/@types/synchronizers/synchronizer-local/index.d.cts +27 -0
  118. package/@types/synchronizers/synchronizer-local/index.d.ts +27 -0
  119. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +29 -0
  120. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +29 -0
  121. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +36 -0
  122. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +36 -0
  123. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +42 -0
  124. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +42 -0
  125. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +58 -0
  126. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +58 -0
  127. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +58 -0
  128. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +58 -0
  129. package/@types/synchronizers/with-schemas/index.d.cts +156 -0
  130. package/@types/synchronizers/with-schemas/index.d.ts +156 -0
  131. package/@types/tools/index.d.cts +556 -0
  132. package/@types/tools/index.d.ts +556 -0
  133. package/@types/tools/with-schemas/index.d.cts +567 -0
  134. package/@types/tools/with-schemas/index.d.ts +567 -0
  135. package/@types/ui-react/index.d.cts +15318 -0
  136. package/@types/ui-react/index.d.ts +15318 -0
  137. package/@types/ui-react/with-schemas/index.d.cts +16235 -0
  138. package/@types/ui-react/with-schemas/index.d.ts +16235 -0
  139. package/@types/ui-react-dom/index.d.cts +1751 -0
  140. package/@types/ui-react-dom/index.d.ts +1751 -0
  141. package/@types/ui-react-dom/with-schemas/index.d.cts +1883 -0
  142. package/@types/ui-react-dom/with-schemas/index.d.ts +1883 -0
  143. package/@types/ui-react-inspector/index.d.cts +76 -0
  144. package/@types/ui-react-inspector/index.d.ts +76 -0
  145. package/@types/ui-react-inspector/with-schemas/index.d.cts +1870 -0
  146. package/@types/ui-react-inspector/with-schemas/index.d.ts +1870 -0
  147. package/@types/with-schemas/index.d.cts +18 -0
  148. package/@types/with-schemas/index.d.ts +18 -0
  149. package/checkpoints/index.js +1 -0
  150. package/checkpoints/index.js.gz +0 -0
  151. package/checkpoints/with-schemas/index.js +1 -0
  152. package/cjs/checkpoints/index.cjs +1 -0
  153. package/cjs/checkpoints/index.cjs.gz +0 -0
  154. package/cjs/checkpoints/with-schemas/index.cjs +1 -0
  155. package/cjs/common/index.cjs +1 -0
  156. package/cjs/common/index.cjs.gz +0 -0
  157. package/cjs/common/with-schemas/index.cjs +1 -0
  158. package/cjs/debug/checkpoints/index.cjs +433 -0
  159. package/cjs/debug/checkpoints/with-schemas/index.cjs +433 -0
  160. package/cjs/debug/common/index.cjs +28 -0
  161. package/cjs/debug/common/with-schemas/index.cjs +28 -0
  162. package/cjs/debug/index.cjs +4102 -0
  163. package/cjs/debug/indexes/index.cjs +555 -0
  164. package/cjs/debug/indexes/with-schemas/index.cjs +555 -0
  165. package/cjs/debug/mergeable-store/index.cjs +2249 -0
  166. package/cjs/debug/mergeable-store/with-schemas/index.cjs +2249 -0
  167. package/cjs/debug/metrics/index.cjs +521 -0
  168. package/cjs/debug/metrics/with-schemas/index.cjs +521 -0
  169. package/cjs/debug/persisters/index.cjs +230 -0
  170. package/cjs/debug/persisters/persister-automerge/index.cjs +378 -0
  171. package/cjs/debug/persisters/persister-automerge/with-schemas/index.cjs +378 -0
  172. package/cjs/debug/persisters/persister-browser/index.cjs +282 -0
  173. package/cjs/debug/persisters/persister-browser/with-schemas/index.cjs +282 -0
  174. package/cjs/debug/persisters/persister-cr-sqlite-wasm/index.cjs +929 -0
  175. package/cjs/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +929 -0
  176. package/cjs/debug/persisters/persister-electric-sql/index.cjs +937 -0
  177. package/cjs/debug/persisters/persister-electric-sql/with-schemas/index.cjs +937 -0
  178. package/cjs/debug/persisters/persister-expo-sqlite/index.cjs +930 -0
  179. package/cjs/debug/persisters/persister-expo-sqlite/with-schemas/index.cjs +930 -0
  180. package/cjs/debug/persisters/persister-expo-sqlite-next/index.cjs +932 -0
  181. package/cjs/debug/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +932 -0
  182. package/cjs/debug/persisters/persister-file/index.cjs +265 -0
  183. package/cjs/debug/persisters/persister-file/with-schemas/index.cjs +265 -0
  184. package/cjs/debug/persisters/persister-indexed-db/index.cjs +342 -0
  185. package/cjs/debug/persisters/persister-indexed-db/with-schemas/index.cjs +342 -0
  186. package/cjs/debug/persisters/persister-libsql/index.cjs +930 -0
  187. package/cjs/debug/persisters/persister-libsql/with-schemas/index.cjs +930 -0
  188. package/cjs/debug/persisters/persister-partykit-client/index.cjs +329 -0
  189. package/cjs/debug/persisters/persister-partykit-client/with-schemas/index.cjs +329 -0
  190. package/cjs/debug/persisters/persister-partykit-server/index.cjs +284 -0
  191. package/cjs/debug/persisters/persister-partykit-server/with-schemas/index.cjs +284 -0
  192. package/cjs/debug/persisters/persister-powersync/index.cjs +945 -0
  193. package/cjs/debug/persisters/persister-powersync/with-schemas/index.cjs +945 -0
  194. package/cjs/debug/persisters/persister-remote/index.cjs +287 -0
  195. package/cjs/debug/persisters/persister-remote/with-schemas/index.cjs +287 -0
  196. package/cjs/debug/persisters/persister-sqlite-wasm/index.cjs +938 -0
  197. package/cjs/debug/persisters/persister-sqlite-wasm/with-schemas/index.cjs +938 -0
  198. package/cjs/debug/persisters/persister-sqlite3/index.cjs +940 -0
  199. package/cjs/debug/persisters/persister-sqlite3/with-schemas/index.cjs +940 -0
  200. package/cjs/debug/persisters/persister-yjs/index.cjs +427 -0
  201. package/cjs/debug/persisters/persister-yjs/with-schemas/index.cjs +427 -0
  202. package/cjs/debug/persisters/with-schemas/index.cjs +230 -0
  203. package/cjs/debug/queries/index.cjs +814 -0
  204. package/cjs/debug/queries/with-schemas/index.cjs +814 -0
  205. package/cjs/debug/relationships/index.cjs +531 -0
  206. package/cjs/debug/relationships/with-schemas/index.cjs +531 -0
  207. package/cjs/debug/store/index.cjs +1636 -0
  208. package/cjs/debug/store/with-schemas/index.cjs +1636 -0
  209. package/cjs/debug/synchronizers/index.cjs +466 -0
  210. package/cjs/debug/synchronizers/synchronizer-local/index.cjs +506 -0
  211. package/cjs/debug/synchronizers/synchronizer-local/with-schemas/index.cjs +506 -0
  212. package/cjs/debug/synchronizers/synchronizer-ws-client/index.cjs +529 -0
  213. package/cjs/debug/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +529 -0
  214. package/cjs/debug/synchronizers/synchronizer-ws-server/index.cjs +243 -0
  215. package/cjs/debug/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +243 -0
  216. package/cjs/debug/synchronizers/with-schemas/index.cjs +466 -0
  217. package/cjs/debug/tools/index.cjs +3300 -0
  218. package/cjs/debug/tools/with-schemas/index.cjs +3300 -0
  219. package/cjs/debug/ui-react/index.cjs +1985 -0
  220. package/cjs/debug/ui-react/with-schemas/index.cjs +1985 -0
  221. package/cjs/debug/ui-react-dom/index.cjs +779 -0
  222. package/cjs/debug/ui-react-dom/with-schemas/index.cjs +779 -0
  223. package/cjs/debug/ui-react-inspector/index.cjs +3263 -0
  224. package/cjs/debug/ui-react-inspector/with-schemas/index.cjs +3263 -0
  225. package/cjs/debug/with-schemas/index.cjs +4102 -0
  226. package/cjs/es6/checkpoints/index.cjs +1 -0
  227. package/cjs/es6/checkpoints/index.cjs.gz +0 -0
  228. package/cjs/es6/checkpoints/with-schemas/index.cjs +1 -0
  229. package/cjs/es6/common/index.cjs +1 -0
  230. package/cjs/es6/common/index.cjs.gz +0 -0
  231. package/cjs/es6/common/with-schemas/index.cjs +1 -0
  232. package/cjs/es6/debug/checkpoints/index.cjs +473 -0
  233. package/cjs/es6/debug/checkpoints/with-schemas/index.cjs +473 -0
  234. package/cjs/es6/debug/common/index.cjs +30 -0
  235. package/cjs/es6/debug/common/with-schemas/index.cjs +30 -0
  236. package/cjs/es6/debug/index.cjs +4358 -0
  237. package/cjs/es6/debug/indexes/index.cjs +602 -0
  238. package/cjs/es6/debug/indexes/with-schemas/index.cjs +602 -0
  239. package/cjs/es6/debug/mergeable-store/index.cjs +2349 -0
  240. package/cjs/es6/debug/mergeable-store/with-schemas/index.cjs +2349 -0
  241. package/cjs/es6/debug/metrics/index.cjs +574 -0
  242. package/cjs/es6/debug/metrics/with-schemas/index.cjs +574 -0
  243. package/cjs/es6/debug/persisters/index.cjs +302 -0
  244. package/cjs/es6/debug/persisters/persister-automerge/index.cjs +476 -0
  245. package/cjs/es6/debug/persisters/persister-automerge/with-schemas/index.cjs +476 -0
  246. package/cjs/es6/debug/persisters/persister-browser/index.cjs +384 -0
  247. package/cjs/es6/debug/persisters/persister-browser/with-schemas/index.cjs +384 -0
  248. package/cjs/es6/debug/persisters/persister-cr-sqlite-wasm/index.cjs +1256 -0
  249. package/cjs/es6/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1256 -0
  250. package/cjs/es6/debug/persisters/persister-electric-sql/index.cjs +1264 -0
  251. package/cjs/es6/debug/persisters/persister-electric-sql/with-schemas/index.cjs +1264 -0
  252. package/cjs/es6/debug/persisters/persister-expo-sqlite/index.cjs +1256 -0
  253. package/cjs/es6/debug/persisters/persister-expo-sqlite/with-schemas/index.cjs +1256 -0
  254. package/cjs/es6/debug/persisters/persister-expo-sqlite-next/index.cjs +1259 -0
  255. package/cjs/es6/debug/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +1259 -0
  256. package/cjs/es6/debug/persisters/persister-file/index.cjs +365 -0
  257. package/cjs/es6/debug/persisters/persister-file/with-schemas/index.cjs +365 -0
  258. package/cjs/es6/debug/persisters/persister-indexed-db/index.cjs +481 -0
  259. package/cjs/es6/debug/persisters/persister-indexed-db/with-schemas/index.cjs +481 -0
  260. package/cjs/es6/debug/persisters/persister-libsql/index.cjs +1257 -0
  261. package/cjs/es6/debug/persisters/persister-libsql/with-schemas/index.cjs +1257 -0
  262. package/cjs/es6/debug/persisters/persister-partykit-client/index.cjs +459 -0
  263. package/cjs/es6/debug/persisters/persister-partykit-client/with-schemas/index.cjs +459 -0
  264. package/cjs/es6/debug/persisters/persister-partykit-server/index.cjs +411 -0
  265. package/cjs/es6/debug/persisters/persister-partykit-server/with-schemas/index.cjs +411 -0
  266. package/cjs/es6/debug/persisters/persister-powersync/index.cjs +1312 -0
  267. package/cjs/es6/debug/persisters/persister-powersync/with-schemas/index.cjs +1312 -0
  268. package/cjs/es6/debug/persisters/persister-remote/index.cjs +389 -0
  269. package/cjs/es6/debug/persisters/persister-remote/with-schemas/index.cjs +389 -0
  270. package/cjs/es6/debug/persisters/persister-sqlite-wasm/index.cjs +1286 -0
  271. package/cjs/es6/debug/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1286 -0
  272. package/cjs/es6/debug/persisters/persister-sqlite3/index.cjs +1266 -0
  273. package/cjs/es6/debug/persisters/persister-sqlite3/with-schemas/index.cjs +1266 -0
  274. package/cjs/es6/debug/persisters/persister-yjs/index.cjs +536 -0
  275. package/cjs/es6/debug/persisters/persister-yjs/with-schemas/index.cjs +536 -0
  276. package/cjs/es6/debug/persisters/with-schemas/index.cjs +302 -0
  277. package/cjs/es6/debug/queries/index.cjs +859 -0
  278. package/cjs/es6/debug/queries/with-schemas/index.cjs +859 -0
  279. package/cjs/es6/debug/relationships/index.cjs +591 -0
  280. package/cjs/es6/debug/relationships/with-schemas/index.cjs +591 -0
  281. package/cjs/es6/debug/store/index.cjs +1716 -0
  282. package/cjs/es6/debug/store/with-schemas/index.cjs +1716 -0
  283. package/cjs/es6/debug/synchronizers/index.cjs +594 -0
  284. package/cjs/es6/debug/synchronizers/synchronizer-local/index.cjs +630 -0
  285. package/cjs/es6/debug/synchronizers/synchronizer-local/with-schemas/index.cjs +630 -0
  286. package/cjs/es6/debug/synchronizers/synchronizer-ws-client/index.cjs +681 -0
  287. package/cjs/es6/debug/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +681 -0
  288. package/cjs/es6/debug/synchronizers/synchronizer-ws-server/index.cjs +292 -0
  289. package/cjs/es6/debug/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +292 -0
  290. package/cjs/es6/debug/synchronizers/with-schemas/index.cjs +594 -0
  291. package/cjs/es6/debug/tools/index.cjs +3423 -0
  292. package/cjs/es6/debug/tools/with-schemas/index.cjs +3423 -0
  293. package/cjs/es6/debug/ui-react/index.cjs +2189 -0
  294. package/cjs/es6/debug/ui-react/with-schemas/index.cjs +2189 -0
  295. package/cjs/es6/debug/ui-react-dom/index.cjs +906 -0
  296. package/cjs/es6/debug/ui-react-dom/with-schemas/index.cjs +906 -0
  297. package/cjs/es6/debug/ui-react-inspector/index.cjs +3654 -0
  298. package/cjs/es6/debug/ui-react-inspector/with-schemas/index.cjs +3654 -0
  299. package/cjs/es6/debug/with-schemas/index.cjs +4358 -0
  300. package/cjs/es6/index.cjs +1 -0
  301. package/cjs/es6/index.cjs.gz +0 -0
  302. package/cjs/es6/indexes/index.cjs +1 -0
  303. package/cjs/es6/indexes/index.cjs.gz +0 -0
  304. package/cjs/es6/indexes/with-schemas/index.cjs +1 -0
  305. package/cjs/es6/mergeable-store/index.cjs +1 -0
  306. package/cjs/es6/mergeable-store/index.cjs.gz +0 -0
  307. package/cjs/es6/mergeable-store/with-schemas/index.cjs +1 -0
  308. package/cjs/es6/metrics/index.cjs +1 -0
  309. package/cjs/es6/metrics/index.cjs.gz +0 -0
  310. package/cjs/es6/metrics/with-schemas/index.cjs +1 -0
  311. package/cjs/es6/persisters/index.cjs +1 -0
  312. package/cjs/es6/persisters/index.cjs.gz +0 -0
  313. package/cjs/es6/persisters/persister-automerge/index.cjs +1 -0
  314. package/cjs/es6/persisters/persister-automerge/index.cjs.gz +0 -0
  315. package/cjs/es6/persisters/persister-automerge/with-schemas/index.cjs +1 -0
  316. package/cjs/es6/persisters/persister-browser/index.cjs +1 -0
  317. package/cjs/es6/persisters/persister-browser/index.cjs.gz +0 -0
  318. package/cjs/es6/persisters/persister-browser/with-schemas/index.cjs +1 -0
  319. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs +1 -0
  320. package/cjs/es6/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  321. package/cjs/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -0
  322. package/cjs/es6/persisters/persister-electric-sql/index.cjs +1 -0
  323. package/cjs/es6/persisters/persister-electric-sql/index.cjs.gz +0 -0
  324. package/cjs/es6/persisters/persister-electric-sql/with-schemas/index.cjs +1 -0
  325. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs +1 -0
  326. package/cjs/es6/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  327. package/cjs/es6/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -0
  328. package/cjs/es6/persisters/persister-expo-sqlite-next/index.cjs +1 -0
  329. package/cjs/es6/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
  330. package/cjs/es6/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +1 -0
  331. package/cjs/es6/persisters/persister-file/index.cjs +1 -0
  332. package/cjs/es6/persisters/persister-file/index.cjs.gz +0 -0
  333. package/cjs/es6/persisters/persister-file/with-schemas/index.cjs +1 -0
  334. package/cjs/es6/persisters/persister-indexed-db/index.cjs +1 -0
  335. package/cjs/es6/persisters/persister-indexed-db/index.cjs.gz +0 -0
  336. package/cjs/es6/persisters/persister-indexed-db/with-schemas/index.cjs +1 -0
  337. package/cjs/es6/persisters/persister-libsql/index.cjs +1 -0
  338. package/cjs/es6/persisters/persister-libsql/index.cjs.gz +0 -0
  339. package/cjs/es6/persisters/persister-libsql/with-schemas/index.cjs +1 -0
  340. package/cjs/es6/persisters/persister-partykit-client/index.cjs +1 -0
  341. package/cjs/es6/persisters/persister-partykit-client/index.cjs.gz +0 -0
  342. package/cjs/es6/persisters/persister-partykit-client/with-schemas/index.cjs +1 -0
  343. package/cjs/es6/persisters/persister-partykit-server/index.cjs +1 -0
  344. package/cjs/es6/persisters/persister-partykit-server/index.cjs.gz +0 -0
  345. package/cjs/es6/persisters/persister-partykit-server/with-schemas/index.cjs +1 -0
  346. package/cjs/es6/persisters/persister-powersync/index.cjs +1 -0
  347. package/cjs/es6/persisters/persister-powersync/index.cjs.gz +0 -0
  348. package/cjs/es6/persisters/persister-powersync/with-schemas/index.cjs +1 -0
  349. package/cjs/es6/persisters/persister-remote/index.cjs +1 -0
  350. package/cjs/es6/persisters/persister-remote/index.cjs.gz +0 -0
  351. package/cjs/es6/persisters/persister-remote/with-schemas/index.cjs +1 -0
  352. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs +1 -0
  353. package/cjs/es6/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  354. package/cjs/es6/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -0
  355. package/cjs/es6/persisters/persister-sqlite3/index.cjs +1 -0
  356. package/cjs/es6/persisters/persister-sqlite3/index.cjs.gz +0 -0
  357. package/cjs/es6/persisters/persister-sqlite3/with-schemas/index.cjs +1 -0
  358. package/cjs/es6/persisters/persister-yjs/index.cjs +1 -0
  359. package/cjs/es6/persisters/persister-yjs/index.cjs.gz +0 -0
  360. package/cjs/es6/persisters/persister-yjs/with-schemas/index.cjs +1 -0
  361. package/cjs/es6/persisters/with-schemas/index.cjs +1 -0
  362. package/cjs/es6/queries/index.cjs +1 -0
  363. package/cjs/es6/queries/index.cjs.gz +0 -0
  364. package/cjs/es6/queries/with-schemas/index.cjs +1 -0
  365. package/cjs/es6/relationships/index.cjs +1 -0
  366. package/cjs/es6/relationships/index.cjs.gz +0 -0
  367. package/cjs/es6/relationships/with-schemas/index.cjs +1 -0
  368. package/cjs/es6/store/index.cjs +1 -0
  369. package/cjs/es6/store/index.cjs.gz +0 -0
  370. package/cjs/es6/store/with-schemas/index.cjs +1 -0
  371. package/cjs/es6/synchronizers/index.cjs +1 -0
  372. package/cjs/es6/synchronizers/index.cjs.gz +0 -0
  373. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +1 -0
  374. package/cjs/es6/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  375. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
  376. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +1 -0
  377. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  378. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
  379. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs +1 -0
  380. package/cjs/es6/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  381. package/cjs/es6/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -0
  382. package/cjs/es6/synchronizers/with-schemas/index.cjs +1 -0
  383. package/cjs/es6/tools/index.cjs +1 -0
  384. package/cjs/es6/tools/index.cjs.gz +0 -0
  385. package/cjs/es6/tools/with-schemas/index.cjs +1 -0
  386. package/cjs/es6/ui-react/index.cjs +1 -0
  387. package/cjs/es6/ui-react/index.cjs.gz +0 -0
  388. package/cjs/es6/ui-react/with-schemas/index.cjs +1 -0
  389. package/cjs/es6/ui-react-dom/index.cjs +1 -0
  390. package/cjs/es6/ui-react-dom/index.cjs.gz +0 -0
  391. package/cjs/es6/ui-react-dom/with-schemas/index.cjs +1 -0
  392. package/cjs/es6/ui-react-inspector/index.cjs +1 -0
  393. package/cjs/es6/ui-react-inspector/index.cjs.gz +0 -0
  394. package/cjs/es6/ui-react-inspector/with-schemas/index.cjs +1 -0
  395. package/cjs/es6/with-schemas/index.cjs +1 -0
  396. package/cjs/index.cjs +1 -0
  397. package/cjs/index.cjs.gz +0 -0
  398. package/cjs/indexes/index.cjs +1 -0
  399. package/cjs/indexes/index.cjs.gz +0 -0
  400. package/cjs/indexes/with-schemas/index.cjs +1 -0
  401. package/cjs/mergeable-store/index.cjs +1 -0
  402. package/cjs/mergeable-store/index.cjs.gz +0 -0
  403. package/cjs/mergeable-store/with-schemas/index.cjs +1 -0
  404. package/cjs/metrics/index.cjs +1 -0
  405. package/cjs/metrics/index.cjs.gz +0 -0
  406. package/cjs/metrics/with-schemas/index.cjs +1 -0
  407. package/cjs/persisters/index.cjs +1 -0
  408. package/cjs/persisters/index.cjs.gz +0 -0
  409. package/cjs/persisters/persister-automerge/index.cjs +1 -0
  410. package/cjs/persisters/persister-automerge/index.cjs.gz +0 -0
  411. package/cjs/persisters/persister-automerge/with-schemas/index.cjs +1 -0
  412. package/cjs/persisters/persister-browser/index.cjs +1 -0
  413. package/cjs/persisters/persister-browser/index.cjs.gz +0 -0
  414. package/cjs/persisters/persister-browser/with-schemas/index.cjs +1 -0
  415. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs +1 -0
  416. package/cjs/persisters/persister-cr-sqlite-wasm/index.cjs.gz +0 -0
  417. package/cjs/persisters/persister-cr-sqlite-wasm/with-schemas/index.cjs +1 -0
  418. package/cjs/persisters/persister-electric-sql/index.cjs +1 -0
  419. package/cjs/persisters/persister-electric-sql/index.cjs.gz +0 -0
  420. package/cjs/persisters/persister-electric-sql/with-schemas/index.cjs +1 -0
  421. package/cjs/persisters/persister-expo-sqlite/index.cjs +1 -0
  422. package/cjs/persisters/persister-expo-sqlite/index.cjs.gz +0 -0
  423. package/cjs/persisters/persister-expo-sqlite/with-schemas/index.cjs +1 -0
  424. package/cjs/persisters/persister-expo-sqlite-next/index.cjs +1 -0
  425. package/cjs/persisters/persister-expo-sqlite-next/index.cjs.gz +0 -0
  426. package/cjs/persisters/persister-expo-sqlite-next/with-schemas/index.cjs +1 -0
  427. package/cjs/persisters/persister-file/index.cjs +1 -0
  428. package/cjs/persisters/persister-file/index.cjs.gz +0 -0
  429. package/cjs/persisters/persister-file/with-schemas/index.cjs +1 -0
  430. package/cjs/persisters/persister-indexed-db/index.cjs +1 -0
  431. package/cjs/persisters/persister-indexed-db/index.cjs.gz +0 -0
  432. package/cjs/persisters/persister-indexed-db/with-schemas/index.cjs +1 -0
  433. package/cjs/persisters/persister-libsql/index.cjs +1 -0
  434. package/cjs/persisters/persister-libsql/index.cjs.gz +0 -0
  435. package/cjs/persisters/persister-libsql/with-schemas/index.cjs +1 -0
  436. package/cjs/persisters/persister-partykit-client/index.cjs +1 -0
  437. package/cjs/persisters/persister-partykit-client/index.cjs.gz +0 -0
  438. package/cjs/persisters/persister-partykit-client/with-schemas/index.cjs +1 -0
  439. package/cjs/persisters/persister-partykit-server/index.cjs +1 -0
  440. package/cjs/persisters/persister-partykit-server/index.cjs.gz +0 -0
  441. package/cjs/persisters/persister-partykit-server/with-schemas/index.cjs +1 -0
  442. package/cjs/persisters/persister-powersync/index.cjs +1 -0
  443. package/cjs/persisters/persister-powersync/index.cjs.gz +0 -0
  444. package/cjs/persisters/persister-powersync/with-schemas/index.cjs +1 -0
  445. package/cjs/persisters/persister-remote/index.cjs +1 -0
  446. package/cjs/persisters/persister-remote/index.cjs.gz +0 -0
  447. package/cjs/persisters/persister-remote/with-schemas/index.cjs +1 -0
  448. package/cjs/persisters/persister-sqlite-wasm/index.cjs +1 -0
  449. package/cjs/persisters/persister-sqlite-wasm/index.cjs.gz +0 -0
  450. package/cjs/persisters/persister-sqlite-wasm/with-schemas/index.cjs +1 -0
  451. package/cjs/persisters/persister-sqlite3/index.cjs +1 -0
  452. package/cjs/persisters/persister-sqlite3/index.cjs.gz +0 -0
  453. package/cjs/persisters/persister-sqlite3/with-schemas/index.cjs +1 -0
  454. package/cjs/persisters/persister-yjs/index.cjs +1 -0
  455. package/cjs/persisters/persister-yjs/index.cjs.gz +0 -0
  456. package/cjs/persisters/persister-yjs/with-schemas/index.cjs +1 -0
  457. package/cjs/persisters/with-schemas/index.cjs +1 -0
  458. package/cjs/queries/index.cjs +1 -0
  459. package/cjs/queries/index.cjs.gz +0 -0
  460. package/cjs/queries/with-schemas/index.cjs +1 -0
  461. package/cjs/relationships/index.cjs +1 -0
  462. package/cjs/relationships/index.cjs.gz +0 -0
  463. package/cjs/relationships/with-schemas/index.cjs +1 -0
  464. package/cjs/store/index.cjs +1 -0
  465. package/cjs/store/index.cjs.gz +0 -0
  466. package/cjs/store/with-schemas/index.cjs +1 -0
  467. package/cjs/synchronizers/index.cjs +1 -0
  468. package/cjs/synchronizers/index.cjs.gz +0 -0
  469. package/cjs/synchronizers/synchronizer-local/index.cjs +1 -0
  470. package/cjs/synchronizers/synchronizer-local/index.cjs.gz +0 -0
  471. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +1 -0
  472. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +1 -0
  473. package/cjs/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  474. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -0
  475. package/cjs/synchronizers/synchronizer-ws-server/index.cjs +1 -0
  476. package/cjs/synchronizers/synchronizer-ws-server/index.cjs.gz +0 -0
  477. package/cjs/synchronizers/synchronizer-ws-server/with-schemas/index.cjs +1 -0
  478. package/cjs/synchronizers/with-schemas/index.cjs +1 -0
  479. package/cjs/tools/index.cjs +1 -0
  480. package/cjs/tools/index.cjs.gz +0 -0
  481. package/cjs/tools/with-schemas/index.cjs +1 -0
  482. package/cjs/ui-react/index.cjs +1 -0
  483. package/cjs/ui-react/index.cjs.gz +0 -0
  484. package/cjs/ui-react/with-schemas/index.cjs +1 -0
  485. package/cjs/ui-react-dom/index.cjs +1 -0
  486. package/cjs/ui-react-dom/index.cjs.gz +0 -0
  487. package/cjs/ui-react-dom/with-schemas/index.cjs +1 -0
  488. package/cjs/ui-react-inspector/index.cjs +1 -0
  489. package/cjs/ui-react-inspector/index.cjs.gz +0 -0
  490. package/cjs/ui-react-inspector/with-schemas/index.cjs +1 -0
  491. package/cjs/with-schemas/index.cjs +1 -0
  492. package/cli/index.js +2 -0
  493. package/common/index.js +1 -0
  494. package/common/index.js.gz +0 -0
  495. package/common/with-schemas/index.js +1 -0
  496. package/debug/checkpoints/index.js +431 -0
  497. package/debug/checkpoints/with-schemas/index.js +431 -0
  498. package/debug/common/index.js +25 -0
  499. package/debug/common/with-schemas/index.js +25 -0
  500. package/debug/index.js +4102 -0
  501. package/debug/indexes/index.js +553 -0
  502. package/debug/indexes/with-schemas/index.js +553 -0
  503. package/debug/mergeable-store/index.js +2247 -0
  504. package/debug/mergeable-store/with-schemas/index.js +2247 -0
  505. package/debug/metrics/index.js +519 -0
  506. package/debug/metrics/with-schemas/index.js +519 -0
  507. package/debug/persisters/index.js +228 -0
  508. package/debug/persisters/persister-automerge/index.js +376 -0
  509. package/debug/persisters/persister-automerge/with-schemas/index.js +376 -0
  510. package/debug/persisters/persister-browser/index.js +279 -0
  511. package/debug/persisters/persister-browser/with-schemas/index.js +279 -0
  512. package/debug/persisters/persister-cr-sqlite-wasm/index.js +927 -0
  513. package/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +927 -0
  514. package/debug/persisters/persister-electric-sql/index.js +935 -0
  515. package/debug/persisters/persister-electric-sql/with-schemas/index.js +935 -0
  516. package/debug/persisters/persister-expo-sqlite/index.js +928 -0
  517. package/debug/persisters/persister-expo-sqlite/with-schemas/index.js +928 -0
  518. package/debug/persisters/persister-expo-sqlite-next/index.js +930 -0
  519. package/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +930 -0
  520. package/debug/persisters/persister-file/index.js +258 -0
  521. package/debug/persisters/persister-file/with-schemas/index.js +258 -0
  522. package/debug/persisters/persister-indexed-db/index.js +339 -0
  523. package/debug/persisters/persister-indexed-db/with-schemas/index.js +339 -0
  524. package/debug/persisters/persister-libsql/index.js +928 -0
  525. package/debug/persisters/persister-libsql/with-schemas/index.js +928 -0
  526. package/debug/persisters/persister-partykit-client/index.js +327 -0
  527. package/debug/persisters/persister-partykit-client/with-schemas/index.js +327 -0
  528. package/debug/persisters/persister-partykit-server/index.js +284 -0
  529. package/debug/persisters/persister-partykit-server/with-schemas/index.js +284 -0
  530. package/debug/persisters/persister-powersync/index.js +943 -0
  531. package/debug/persisters/persister-powersync/with-schemas/index.js +943 -0
  532. package/debug/persisters/persister-remote/index.js +285 -0
  533. package/debug/persisters/persister-remote/with-schemas/index.js +285 -0
  534. package/debug/persisters/persister-sqlite-wasm/index.js +936 -0
  535. package/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +936 -0
  536. package/debug/persisters/persister-sqlite3/index.js +938 -0
  537. package/debug/persisters/persister-sqlite3/with-schemas/index.js +938 -0
  538. package/debug/persisters/persister-yjs/index.js +424 -0
  539. package/debug/persisters/persister-yjs/with-schemas/index.js +424 -0
  540. package/debug/persisters/with-schemas/index.js +228 -0
  541. package/debug/queries/index.js +812 -0
  542. package/debug/queries/with-schemas/index.js +812 -0
  543. package/debug/relationships/index.js +529 -0
  544. package/debug/relationships/with-schemas/index.js +529 -0
  545. package/debug/store/index.js +1634 -0
  546. package/debug/store/with-schemas/index.js +1634 -0
  547. package/debug/synchronizers/index.js +464 -0
  548. package/debug/synchronizers/synchronizer-local/index.js +504 -0
  549. package/debug/synchronizers/synchronizer-local/with-schemas/index.js +504 -0
  550. package/debug/synchronizers/synchronizer-ws-client/index.js +527 -0
  551. package/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +527 -0
  552. package/debug/synchronizers/synchronizer-ws-server/index.js +241 -0
  553. package/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +241 -0
  554. package/debug/synchronizers/with-schemas/index.js +464 -0
  555. package/debug/tools/index.js +3298 -0
  556. package/debug/tools/with-schemas/index.js +3298 -0
  557. package/debug/ui-react/index.js +1984 -0
  558. package/debug/ui-react/with-schemas/index.js +1984 -0
  559. package/debug/ui-react-dom/index.js +789 -0
  560. package/debug/ui-react-dom/with-schemas/index.js +789 -0
  561. package/debug/ui-react-inspector/index.js +3281 -0
  562. package/debug/ui-react-inspector/with-schemas/index.js +3281 -0
  563. package/debug/with-schemas/index.js +4102 -0
  564. package/es6/checkpoints/index.js +1 -0
  565. package/es6/checkpoints/index.js.gz +0 -0
  566. package/es6/checkpoints/with-schemas/index.js +1 -0
  567. package/es6/common/index.js +1 -0
  568. package/es6/common/index.js.gz +0 -0
  569. package/es6/common/with-schemas/index.js +1 -0
  570. package/es6/debug/checkpoints/index.js +471 -0
  571. package/es6/debug/checkpoints/with-schemas/index.js +471 -0
  572. package/es6/debug/common/index.js +27 -0
  573. package/es6/debug/common/with-schemas/index.js +27 -0
  574. package/es6/debug/index.js +4358 -0
  575. package/es6/debug/indexes/index.js +600 -0
  576. package/es6/debug/indexes/with-schemas/index.js +600 -0
  577. package/es6/debug/mergeable-store/index.js +2347 -0
  578. package/es6/debug/mergeable-store/with-schemas/index.js +2347 -0
  579. package/es6/debug/metrics/index.js +572 -0
  580. package/es6/debug/metrics/with-schemas/index.js +572 -0
  581. package/es6/debug/persisters/index.js +300 -0
  582. package/es6/debug/persisters/persister-automerge/index.js +474 -0
  583. package/es6/debug/persisters/persister-automerge/with-schemas/index.js +474 -0
  584. package/es6/debug/persisters/persister-browser/index.js +381 -0
  585. package/es6/debug/persisters/persister-browser/with-schemas/index.js +381 -0
  586. package/es6/debug/persisters/persister-cr-sqlite-wasm/index.js +1254 -0
  587. package/es6/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1254 -0
  588. package/es6/debug/persisters/persister-electric-sql/index.js +1262 -0
  589. package/es6/debug/persisters/persister-electric-sql/with-schemas/index.js +1262 -0
  590. package/es6/debug/persisters/persister-expo-sqlite/index.js +1254 -0
  591. package/es6/debug/persisters/persister-expo-sqlite/with-schemas/index.js +1254 -0
  592. package/es6/debug/persisters/persister-expo-sqlite-next/index.js +1257 -0
  593. package/es6/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +1257 -0
  594. package/es6/debug/persisters/persister-file/index.js +362 -0
  595. package/es6/debug/persisters/persister-file/with-schemas/index.js +362 -0
  596. package/es6/debug/persisters/persister-indexed-db/index.js +478 -0
  597. package/es6/debug/persisters/persister-indexed-db/with-schemas/index.js +478 -0
  598. package/es6/debug/persisters/persister-libsql/index.js +1255 -0
  599. package/es6/debug/persisters/persister-libsql/with-schemas/index.js +1255 -0
  600. package/es6/debug/persisters/persister-partykit-client/index.js +457 -0
  601. package/es6/debug/persisters/persister-partykit-client/with-schemas/index.js +457 -0
  602. package/es6/debug/persisters/persister-partykit-server/index.js +411 -0
  603. package/es6/debug/persisters/persister-partykit-server/with-schemas/index.js +411 -0
  604. package/es6/debug/persisters/persister-powersync/index.js +1310 -0
  605. package/es6/debug/persisters/persister-powersync/with-schemas/index.js +1310 -0
  606. package/es6/debug/persisters/persister-remote/index.js +387 -0
  607. package/es6/debug/persisters/persister-remote/with-schemas/index.js +387 -0
  608. package/es6/debug/persisters/persister-sqlite-wasm/index.js +1284 -0
  609. package/es6/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +1284 -0
  610. package/es6/debug/persisters/persister-sqlite3/index.js +1264 -0
  611. package/es6/debug/persisters/persister-sqlite3/with-schemas/index.js +1264 -0
  612. package/es6/debug/persisters/persister-yjs/index.js +534 -0
  613. package/es6/debug/persisters/persister-yjs/with-schemas/index.js +534 -0
  614. package/es6/debug/persisters/with-schemas/index.js +300 -0
  615. package/es6/debug/queries/index.js +857 -0
  616. package/es6/debug/queries/with-schemas/index.js +857 -0
  617. package/es6/debug/relationships/index.js +589 -0
  618. package/es6/debug/relationships/with-schemas/index.js +589 -0
  619. package/es6/debug/store/index.js +1714 -0
  620. package/es6/debug/store/with-schemas/index.js +1714 -0
  621. package/es6/debug/synchronizers/index.js +592 -0
  622. package/es6/debug/synchronizers/synchronizer-local/index.js +628 -0
  623. package/es6/debug/synchronizers/synchronizer-local/with-schemas/index.js +628 -0
  624. package/es6/debug/synchronizers/synchronizer-ws-client/index.js +679 -0
  625. package/es6/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +679 -0
  626. package/es6/debug/synchronizers/synchronizer-ws-server/index.js +290 -0
  627. package/es6/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +290 -0
  628. package/es6/debug/synchronizers/with-schemas/index.js +592 -0
  629. package/es6/debug/tools/index.js +3421 -0
  630. package/es6/debug/tools/with-schemas/index.js +3421 -0
  631. package/es6/debug/ui-react/index.js +2188 -0
  632. package/es6/debug/ui-react/with-schemas/index.js +2188 -0
  633. package/es6/debug/ui-react-dom/index.js +907 -0
  634. package/es6/debug/ui-react-dom/with-schemas/index.js +907 -0
  635. package/es6/debug/ui-react-inspector/index.js +3659 -0
  636. package/es6/debug/ui-react-inspector/with-schemas/index.js +3659 -0
  637. package/es6/debug/with-schemas/index.js +4358 -0
  638. package/es6/index.js +1 -0
  639. package/es6/index.js.gz +0 -0
  640. package/es6/indexes/index.js +1 -0
  641. package/es6/indexes/index.js.gz +0 -0
  642. package/es6/indexes/with-schemas/index.js +1 -0
  643. package/es6/mergeable-store/index.js +1 -0
  644. package/es6/mergeable-store/index.js.gz +0 -0
  645. package/es6/mergeable-store/with-schemas/index.js +1 -0
  646. package/es6/metrics/index.js +1 -0
  647. package/es6/metrics/index.js.gz +0 -0
  648. package/es6/metrics/with-schemas/index.js +1 -0
  649. package/es6/persisters/index.js +1 -0
  650. package/es6/persisters/index.js.gz +0 -0
  651. package/es6/persisters/persister-automerge/index.js +1 -0
  652. package/es6/persisters/persister-automerge/index.js.gz +0 -0
  653. package/es6/persisters/persister-automerge/with-schemas/index.js +1 -0
  654. package/es6/persisters/persister-browser/index.js +1 -0
  655. package/es6/persisters/persister-browser/index.js.gz +0 -0
  656. package/es6/persisters/persister-browser/with-schemas/index.js +1 -0
  657. package/es6/persisters/persister-cr-sqlite-wasm/index.js +1 -0
  658. package/es6/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  659. package/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
  660. package/es6/persisters/persister-electric-sql/index.js +1 -0
  661. package/es6/persisters/persister-electric-sql/index.js.gz +0 -0
  662. package/es6/persisters/persister-electric-sql/with-schemas/index.js +1 -0
  663. package/es6/persisters/persister-expo-sqlite/index.js +1 -0
  664. package/es6/persisters/persister-expo-sqlite/index.js.gz +0 -0
  665. package/es6/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
  666. package/es6/persisters/persister-expo-sqlite-next/index.js +1 -0
  667. package/es6/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  668. package/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
  669. package/es6/persisters/persister-file/index.js +1 -0
  670. package/es6/persisters/persister-file/index.js.gz +0 -0
  671. package/es6/persisters/persister-file/with-schemas/index.js +1 -0
  672. package/es6/persisters/persister-indexed-db/index.js +1 -0
  673. package/es6/persisters/persister-indexed-db/index.js.gz +0 -0
  674. package/es6/persisters/persister-indexed-db/with-schemas/index.js +1 -0
  675. package/es6/persisters/persister-libsql/index.js +1 -0
  676. package/es6/persisters/persister-libsql/index.js.gz +0 -0
  677. package/es6/persisters/persister-libsql/with-schemas/index.js +1 -0
  678. package/es6/persisters/persister-partykit-client/index.js +1 -0
  679. package/es6/persisters/persister-partykit-client/index.js.gz +0 -0
  680. package/es6/persisters/persister-partykit-client/with-schemas/index.js +1 -0
  681. package/es6/persisters/persister-partykit-server/index.js +1 -0
  682. package/es6/persisters/persister-partykit-server/index.js.gz +0 -0
  683. package/es6/persisters/persister-partykit-server/with-schemas/index.js +1 -0
  684. package/es6/persisters/persister-powersync/index.js +1 -0
  685. package/es6/persisters/persister-powersync/index.js.gz +0 -0
  686. package/es6/persisters/persister-powersync/with-schemas/index.js +1 -0
  687. package/es6/persisters/persister-remote/index.js +1 -0
  688. package/es6/persisters/persister-remote/index.js.gz +0 -0
  689. package/es6/persisters/persister-remote/with-schemas/index.js +1 -0
  690. package/es6/persisters/persister-sqlite-wasm/index.js +1 -0
  691. package/es6/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  692. package/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
  693. package/es6/persisters/persister-sqlite3/index.js +1 -0
  694. package/es6/persisters/persister-sqlite3/index.js.gz +0 -0
  695. package/es6/persisters/persister-sqlite3/with-schemas/index.js +1 -0
  696. package/es6/persisters/persister-yjs/index.js +1 -0
  697. package/es6/persisters/persister-yjs/index.js.gz +0 -0
  698. package/es6/persisters/persister-yjs/with-schemas/index.js +1 -0
  699. package/es6/persisters/with-schemas/index.js +1 -0
  700. package/es6/queries/index.js +1 -0
  701. package/es6/queries/index.js.gz +0 -0
  702. package/es6/queries/with-schemas/index.js +1 -0
  703. package/es6/relationships/index.js +1 -0
  704. package/es6/relationships/index.js.gz +0 -0
  705. package/es6/relationships/with-schemas/index.js +1 -0
  706. package/es6/store/index.js +1 -0
  707. package/es6/store/index.js.gz +0 -0
  708. package/es6/store/with-schemas/index.js +1 -0
  709. package/es6/synchronizers/index.js +1 -0
  710. package/es6/synchronizers/index.js.gz +0 -0
  711. package/es6/synchronizers/synchronizer-local/index.js +1 -0
  712. package/es6/synchronizers/synchronizer-local/index.js.gz +0 -0
  713. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  714. package/es6/synchronizers/synchronizer-ws-client/index.js +1 -0
  715. package/es6/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  716. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  717. package/es6/synchronizers/synchronizer-ws-server/index.js +1 -0
  718. package/es6/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  719. package/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
  720. package/es6/synchronizers/with-schemas/index.js +1 -0
  721. package/es6/tools/index.js +1 -0
  722. package/es6/tools/index.js.gz +0 -0
  723. package/es6/tools/with-schemas/index.js +1 -0
  724. package/es6/ui-react/index.js +1 -0
  725. package/es6/ui-react/index.js.gz +0 -0
  726. package/es6/ui-react/with-schemas/index.js +1 -0
  727. package/es6/ui-react-dom/index.js +1 -0
  728. package/es6/ui-react-dom/index.js.gz +0 -0
  729. package/es6/ui-react-dom/with-schemas/index.js +1 -0
  730. package/es6/ui-react-inspector/index.js +1 -0
  731. package/es6/ui-react-inspector/index.js.gz +0 -0
  732. package/es6/ui-react-inspector/with-schemas/index.js +1 -0
  733. package/es6/with-schemas/index.js +1 -0
  734. package/index.js +1 -0
  735. package/index.js.gz +0 -0
  736. package/indexes/index.js +1 -0
  737. package/indexes/index.js.gz +0 -0
  738. package/indexes/with-schemas/index.js +1 -0
  739. package/mergeable-store/index.js +1 -0
  740. package/mergeable-store/index.js.gz +0 -0
  741. package/mergeable-store/with-schemas/index.js +1 -0
  742. package/metrics/index.js +1 -0
  743. package/metrics/index.js.gz +0 -0
  744. package/metrics/with-schemas/index.js +1 -0
  745. package/package.json +3571 -279
  746. package/persisters/index.js +1 -0
  747. package/persisters/index.js.gz +0 -0
  748. package/persisters/persister-automerge/index.js +1 -0
  749. package/persisters/persister-automerge/index.js.gz +0 -0
  750. package/persisters/persister-automerge/with-schemas/index.js +1 -0
  751. package/persisters/persister-browser/index.js +1 -0
  752. package/persisters/persister-browser/index.js.gz +0 -0
  753. package/persisters/persister-browser/with-schemas/index.js +1 -0
  754. package/persisters/persister-cr-sqlite-wasm/index.js +1 -0
  755. package/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  756. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
  757. package/persisters/persister-electric-sql/index.js +1 -0
  758. package/persisters/persister-electric-sql/index.js.gz +0 -0
  759. package/persisters/persister-electric-sql/with-schemas/index.js +1 -0
  760. package/persisters/persister-expo-sqlite/index.js +1 -0
  761. package/persisters/persister-expo-sqlite/index.js.gz +0 -0
  762. package/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
  763. package/persisters/persister-expo-sqlite-next/index.js +1 -0
  764. package/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  765. package/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
  766. package/persisters/persister-file/index.js +1 -0
  767. package/persisters/persister-file/index.js.gz +0 -0
  768. package/persisters/persister-file/with-schemas/index.js +1 -0
  769. package/persisters/persister-indexed-db/index.js +1 -0
  770. package/persisters/persister-indexed-db/index.js.gz +0 -0
  771. package/persisters/persister-indexed-db/with-schemas/index.js +1 -0
  772. package/persisters/persister-libsql/index.js +1 -0
  773. package/persisters/persister-libsql/index.js.gz +0 -0
  774. package/persisters/persister-libsql/with-schemas/index.js +1 -0
  775. package/persisters/persister-partykit-client/index.js +1 -0
  776. package/persisters/persister-partykit-client/index.js.gz +0 -0
  777. package/persisters/persister-partykit-client/with-schemas/index.js +1 -0
  778. package/persisters/persister-partykit-server/index.js +1 -0
  779. package/persisters/persister-partykit-server/index.js.gz +0 -0
  780. package/persisters/persister-partykit-server/with-schemas/index.js +1 -0
  781. package/persisters/persister-powersync/index.js +1 -0
  782. package/persisters/persister-powersync/index.js.gz +0 -0
  783. package/persisters/persister-powersync/with-schemas/index.js +1 -0
  784. package/persisters/persister-remote/index.js +1 -0
  785. package/persisters/persister-remote/index.js.gz +0 -0
  786. package/persisters/persister-remote/with-schemas/index.js +1 -0
  787. package/persisters/persister-sqlite-wasm/index.js +1 -0
  788. package/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  789. package/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
  790. package/persisters/persister-sqlite3/index.js +1 -0
  791. package/persisters/persister-sqlite3/index.js.gz +0 -0
  792. package/persisters/persister-sqlite3/with-schemas/index.js +1 -0
  793. package/persisters/persister-yjs/index.js +1 -0
  794. package/persisters/persister-yjs/index.js.gz +0 -0
  795. package/persisters/persister-yjs/with-schemas/index.js +1 -0
  796. package/persisters/with-schemas/index.js +1 -0
  797. package/queries/index.js +1 -0
  798. package/queries/index.js.gz +0 -0
  799. package/queries/with-schemas/index.js +1 -0
  800. package/readme.md +22 -4
  801. package/relationships/index.js +1 -0
  802. package/relationships/index.js.gz +0 -0
  803. package/relationships/with-schemas/index.js +1 -0
  804. package/releases.md +452 -0
  805. package/store/index.js +1 -0
  806. package/store/index.js.gz +0 -0
  807. package/store/with-schemas/index.js +1 -0
  808. package/synchronizers/index.js +1 -0
  809. package/synchronizers/index.js.gz +0 -0
  810. package/synchronizers/synchronizer-local/index.js +1 -0
  811. package/synchronizers/synchronizer-local/index.js.gz +0 -0
  812. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  813. package/synchronizers/synchronizer-ws-client/index.js +1 -0
  814. package/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  815. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  816. package/synchronizers/synchronizer-ws-server/index.js +1 -0
  817. package/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  818. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
  819. package/synchronizers/with-schemas/index.js +1 -0
  820. package/tools/index.js +1 -0
  821. package/tools/index.js.gz +0 -0
  822. package/tools/with-schemas/index.js +1 -0
  823. package/ui-react/index.js +1 -0
  824. package/ui-react/index.js.gz +0 -0
  825. package/ui-react/with-schemas/index.js +1 -0
  826. package/ui-react-dom/index.js +1 -0
  827. package/ui-react-dom/index.js.gz +0 -0
  828. package/ui-react-dom/with-schemas/index.js +1 -0
  829. package/ui-react-inspector/index.js +1 -0
  830. package/ui-react-inspector/index.js.gz +0 -0
  831. package/ui-react-inspector/with-schemas/index.js +1 -0
  832. package/umd/checkpoints/index.js +1 -0
  833. package/umd/checkpoints/index.js.gz +0 -0
  834. package/umd/checkpoints/with-schemas/index.js +1 -0
  835. package/umd/common/index.js +1 -0
  836. package/umd/common/index.js.gz +0 -0
  837. package/umd/common/with-schemas/index.js +1 -0
  838. package/umd/debug/checkpoints/index.js +450 -0
  839. package/umd/debug/checkpoints/with-schemas/index.js +450 -0
  840. package/umd/debug/common/index.js +38 -0
  841. package/umd/debug/common/with-schemas/index.js +38 -0
  842. package/umd/debug/index.js +4192 -0
  843. package/umd/debug/indexes/index.js +578 -0
  844. package/umd/debug/indexes/with-schemas/index.js +578 -0
  845. package/umd/debug/mergeable-store/index.js +2312 -0
  846. package/umd/debug/mergeable-store/with-schemas/index.js +2312 -0
  847. package/umd/debug/metrics/index.js +544 -0
  848. package/umd/debug/metrics/with-schemas/index.js +544 -0
  849. package/umd/debug/persisters/index.js +242 -0
  850. package/umd/debug/persisters/persister-automerge/index.js +390 -0
  851. package/umd/debug/persisters/persister-automerge/with-schemas/index.js +390 -0
  852. package/umd/debug/persisters/persister-browser/index.js +296 -0
  853. package/umd/debug/persisters/persister-browser/with-schemas/index.js +296 -0
  854. package/umd/debug/persisters/persister-cr-sqlite-wasm/index.js +959 -0
  855. package/umd/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +959 -0
  856. package/umd/debug/persisters/persister-electric-sql/index.js +967 -0
  857. package/umd/debug/persisters/persister-electric-sql/with-schemas/index.js +967 -0
  858. package/umd/debug/persisters/persister-expo-sqlite/index.js +960 -0
  859. package/umd/debug/persisters/persister-expo-sqlite/with-schemas/index.js +960 -0
  860. package/umd/debug/persisters/persister-expo-sqlite-next/index.js +963 -0
  861. package/umd/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +963 -0
  862. package/umd/debug/persisters/persister-file/index.js +280 -0
  863. package/umd/debug/persisters/persister-file/with-schemas/index.js +280 -0
  864. package/umd/debug/persisters/persister-indexed-db/index.js +354 -0
  865. package/umd/debug/persisters/persister-indexed-db/with-schemas/index.js +354 -0
  866. package/umd/debug/persisters/persister-libsql/index.js +960 -0
  867. package/umd/debug/persisters/persister-libsql/with-schemas/index.js +960 -0
  868. package/umd/debug/persisters/persister-partykit-client/index.js +341 -0
  869. package/umd/debug/persisters/persister-partykit-client/with-schemas/index.js +341 -0
  870. package/umd/debug/persisters/persister-partykit-server/index.js +312 -0
  871. package/umd/debug/persisters/persister-partykit-server/with-schemas/index.js +312 -0
  872. package/umd/debug/persisters/persister-powersync/index.js +977 -0
  873. package/umd/debug/persisters/persister-powersync/with-schemas/index.js +977 -0
  874. package/umd/debug/persisters/persister-remote/index.js +299 -0
  875. package/umd/debug/persisters/persister-remote/with-schemas/index.js +299 -0
  876. package/umd/debug/persisters/persister-sqlite-wasm/index.js +968 -0
  877. package/umd/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +968 -0
  878. package/umd/debug/persisters/persister-sqlite3/index.js +970 -0
  879. package/umd/debug/persisters/persister-sqlite3/with-schemas/index.js +970 -0
  880. package/umd/debug/persisters/persister-yjs/index.js +439 -0
  881. package/umd/debug/persisters/persister-yjs/with-schemas/index.js +439 -0
  882. package/umd/debug/persisters/with-schemas/index.js +242 -0
  883. package/umd/debug/queries/index.js +828 -0
  884. package/umd/debug/queries/with-schemas/index.js +828 -0
  885. package/umd/debug/relationships/index.js +551 -0
  886. package/umd/debug/relationships/with-schemas/index.js +551 -0
  887. package/umd/debug/store/index.js +1686 -0
  888. package/umd/debug/store/with-schemas/index.js +1686 -0
  889. package/umd/debug/synchronizers/index.js +482 -0
  890. package/umd/debug/synchronizers/synchronizer-local/index.js +522 -0
  891. package/umd/debug/synchronizers/synchronizer-local/with-schemas/index.js +522 -0
  892. package/umd/debug/synchronizers/synchronizer-ws-client/index.js +547 -0
  893. package/umd/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +547 -0
  894. package/umd/debug/synchronizers/synchronizer-ws-server/index.js +261 -0
  895. package/umd/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +261 -0
  896. package/umd/debug/synchronizers/with-schemas/index.js +482 -0
  897. package/umd/debug/tools/index.js +3351 -0
  898. package/umd/debug/tools/with-schemas/index.js +3351 -0
  899. package/umd/debug/ui-react/index.js +2036 -0
  900. package/umd/debug/ui-react/with-schemas/index.js +2036 -0
  901. package/umd/debug/ui-react-dom/index.js +802 -0
  902. package/umd/debug/ui-react-dom/with-schemas/index.js +802 -0
  903. package/umd/debug/ui-react-inspector/index.js +3342 -0
  904. package/umd/debug/ui-react-inspector/with-schemas/index.js +3342 -0
  905. package/umd/debug/with-schemas/index.js +4192 -0
  906. package/umd/es6/checkpoints/index.js +1 -0
  907. package/umd/es6/checkpoints/index.js.gz +0 -0
  908. package/umd/es6/checkpoints/with-schemas/index.js +1 -0
  909. package/umd/es6/common/index.js +1 -0
  910. package/umd/es6/common/index.js.gz +0 -0
  911. package/umd/es6/common/with-schemas/index.js +1 -0
  912. package/umd/es6/debug/checkpoints/index.js +492 -0
  913. package/umd/es6/debug/checkpoints/with-schemas/index.js +492 -0
  914. package/umd/es6/debug/common/index.js +40 -0
  915. package/umd/es6/debug/common/with-schemas/index.js +40 -0
  916. package/umd/es6/debug/index.js +4456 -0
  917. package/umd/es6/debug/indexes/index.js +627 -0
  918. package/umd/es6/debug/indexes/with-schemas/index.js +627 -0
  919. package/umd/es6/debug/mergeable-store/index.js +2418 -0
  920. package/umd/es6/debug/mergeable-store/with-schemas/index.js +2418 -0
  921. package/umd/es6/debug/metrics/index.js +599 -0
  922. package/umd/es6/debug/metrics/with-schemas/index.js +599 -0
  923. package/umd/es6/debug/persisters/index.js +316 -0
  924. package/umd/es6/debug/persisters/persister-automerge/index.js +490 -0
  925. package/umd/es6/debug/persisters/persister-automerge/with-schemas/index.js +490 -0
  926. package/umd/es6/debug/persisters/persister-browser/index.js +400 -0
  927. package/umd/es6/debug/persisters/persister-browser/with-schemas/index.js +400 -0
  928. package/umd/es6/debug/persisters/persister-cr-sqlite-wasm/index.js +1295 -0
  929. package/umd/es6/debug/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1295 -0
  930. package/umd/es6/debug/persisters/persister-electric-sql/index.js +1303 -0
  931. package/umd/es6/debug/persisters/persister-electric-sql/with-schemas/index.js +1303 -0
  932. package/umd/es6/debug/persisters/persister-expo-sqlite/index.js +1295 -0
  933. package/umd/es6/debug/persisters/persister-expo-sqlite/with-schemas/index.js +1295 -0
  934. package/umd/es6/debug/persisters/persister-expo-sqlite-next/index.js +1299 -0
  935. package/umd/es6/debug/persisters/persister-expo-sqlite-next/with-schemas/index.js +1299 -0
  936. package/umd/es6/debug/persisters/persister-file/index.js +382 -0
  937. package/umd/es6/debug/persisters/persister-file/with-schemas/index.js +382 -0
  938. package/umd/es6/debug/persisters/persister-indexed-db/index.js +495 -0
  939. package/umd/es6/debug/persisters/persister-indexed-db/with-schemas/index.js +495 -0
  940. package/umd/es6/debug/persisters/persister-libsql/index.js +1296 -0
  941. package/umd/es6/debug/persisters/persister-libsql/with-schemas/index.js +1296 -0
  942. package/umd/es6/debug/persisters/persister-partykit-client/index.js +473 -0
  943. package/umd/es6/debug/persisters/persister-partykit-client/with-schemas/index.js +473 -0
  944. package/umd/es6/debug/persisters/persister-partykit-server/index.js +432 -0
  945. package/umd/es6/debug/persisters/persister-partykit-server/with-schemas/index.js +432 -0
  946. package/umd/es6/debug/persisters/persister-powersync/index.js +1355 -0
  947. package/umd/es6/debug/persisters/persister-powersync/with-schemas/index.js +1355 -0
  948. package/umd/es6/debug/persisters/persister-remote/index.js +403 -0
  949. package/umd/es6/debug/persisters/persister-remote/with-schemas/index.js +403 -0
  950. package/umd/es6/debug/persisters/persister-sqlite-wasm/index.js +1329 -0
  951. package/umd/es6/debug/persisters/persister-sqlite-wasm/with-schemas/index.js +1329 -0
  952. package/umd/es6/debug/persisters/persister-sqlite3/index.js +1305 -0
  953. package/umd/es6/debug/persisters/persister-sqlite3/with-schemas/index.js +1305 -0
  954. package/umd/es6/debug/persisters/persister-yjs/index.js +550 -0
  955. package/umd/es6/debug/persisters/persister-yjs/with-schemas/index.js +550 -0
  956. package/umd/es6/debug/persisters/with-schemas/index.js +316 -0
  957. package/umd/es6/debug/queries/index.js +875 -0
  958. package/umd/es6/debug/queries/with-schemas/index.js +875 -0
  959. package/umd/es6/debug/relationships/index.js +613 -0
  960. package/umd/es6/debug/relationships/with-schemas/index.js +613 -0
  961. package/umd/es6/debug/store/index.js +1770 -0
  962. package/umd/es6/debug/store/with-schemas/index.js +1770 -0
  963. package/umd/es6/debug/synchronizers/index.js +616 -0
  964. package/umd/es6/debug/synchronizers/synchronizer-local/index.js +652 -0
  965. package/umd/es6/debug/synchronizers/synchronizer-local/with-schemas/index.js +652 -0
  966. package/umd/es6/debug/synchronizers/synchronizer-ws-client/index.js +705 -0
  967. package/umd/es6/debug/synchronizers/synchronizer-ws-client/with-schemas/index.js +705 -0
  968. package/umd/es6/debug/synchronizers/synchronizer-ws-server/index.js +314 -0
  969. package/umd/es6/debug/synchronizers/synchronizer-ws-server/with-schemas/index.js +314 -0
  970. package/umd/es6/debug/synchronizers/with-schemas/index.js +616 -0
  971. package/umd/es6/debug/tools/index.js +3481 -0
  972. package/umd/es6/debug/tools/with-schemas/index.js +3481 -0
  973. package/umd/es6/debug/ui-react/index.js +2248 -0
  974. package/umd/es6/debug/ui-react/with-schemas/index.js +2248 -0
  975. package/umd/es6/debug/ui-react-dom/index.js +921 -0
  976. package/umd/es6/debug/ui-react-dom/with-schemas/index.js +921 -0
  977. package/umd/es6/debug/ui-react-inspector/index.js +3735 -0
  978. package/umd/es6/debug/ui-react-inspector/with-schemas/index.js +3735 -0
  979. package/umd/es6/debug/with-schemas/index.js +4456 -0
  980. package/umd/es6/index.js +1 -0
  981. package/umd/es6/index.js.gz +0 -0
  982. package/umd/es6/indexes/index.js +1 -0
  983. package/umd/es6/indexes/index.js.gz +0 -0
  984. package/umd/es6/indexes/with-schemas/index.js +1 -0
  985. package/umd/es6/mergeable-store/index.js +1 -0
  986. package/umd/es6/mergeable-store/index.js.gz +0 -0
  987. package/umd/es6/mergeable-store/with-schemas/index.js +1 -0
  988. package/umd/es6/metrics/index.js +1 -0
  989. package/umd/es6/metrics/index.js.gz +0 -0
  990. package/umd/es6/metrics/with-schemas/index.js +1 -0
  991. package/umd/es6/persisters/index.js +1 -0
  992. package/umd/es6/persisters/index.js.gz +0 -0
  993. package/umd/es6/persisters/persister-automerge/index.js +1 -0
  994. package/umd/es6/persisters/persister-automerge/index.js.gz +0 -0
  995. package/umd/es6/persisters/persister-automerge/with-schemas/index.js +1 -0
  996. package/umd/es6/persisters/persister-browser/index.js +1 -0
  997. package/umd/es6/persisters/persister-browser/index.js.gz +0 -0
  998. package/umd/es6/persisters/persister-browser/with-schemas/index.js +1 -0
  999. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js +1 -0
  1000. package/umd/es6/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  1001. package/umd/es6/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
  1002. package/umd/es6/persisters/persister-electric-sql/index.js +1 -0
  1003. package/umd/es6/persisters/persister-electric-sql/index.js.gz +0 -0
  1004. package/umd/es6/persisters/persister-electric-sql/with-schemas/index.js +1 -0
  1005. package/umd/es6/persisters/persister-expo-sqlite/index.js +1 -0
  1006. package/umd/es6/persisters/persister-expo-sqlite/index.js.gz +0 -0
  1007. package/umd/es6/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
  1008. package/umd/es6/persisters/persister-expo-sqlite-next/index.js +1 -0
  1009. package/umd/es6/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  1010. package/umd/es6/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
  1011. package/umd/es6/persisters/persister-file/index.js +1 -0
  1012. package/umd/es6/persisters/persister-file/index.js.gz +0 -0
  1013. package/umd/es6/persisters/persister-file/with-schemas/index.js +1 -0
  1014. package/umd/es6/persisters/persister-indexed-db/index.js +1 -0
  1015. package/umd/es6/persisters/persister-indexed-db/index.js.gz +0 -0
  1016. package/umd/es6/persisters/persister-indexed-db/with-schemas/index.js +1 -0
  1017. package/umd/es6/persisters/persister-libsql/index.js +1 -0
  1018. package/umd/es6/persisters/persister-libsql/index.js.gz +0 -0
  1019. package/umd/es6/persisters/persister-libsql/with-schemas/index.js +1 -0
  1020. package/umd/es6/persisters/persister-partykit-client/index.js +1 -0
  1021. package/umd/es6/persisters/persister-partykit-client/index.js.gz +0 -0
  1022. package/umd/es6/persisters/persister-partykit-client/with-schemas/index.js +1 -0
  1023. package/umd/es6/persisters/persister-partykit-server/index.js +1 -0
  1024. package/umd/es6/persisters/persister-partykit-server/index.js.gz +0 -0
  1025. package/umd/es6/persisters/persister-partykit-server/with-schemas/index.js +1 -0
  1026. package/umd/es6/persisters/persister-powersync/index.js +1 -0
  1027. package/umd/es6/persisters/persister-powersync/index.js.gz +0 -0
  1028. package/umd/es6/persisters/persister-powersync/with-schemas/index.js +1 -0
  1029. package/umd/es6/persisters/persister-remote/index.js +1 -0
  1030. package/umd/es6/persisters/persister-remote/index.js.gz +0 -0
  1031. package/umd/es6/persisters/persister-remote/with-schemas/index.js +1 -0
  1032. package/umd/es6/persisters/persister-sqlite-wasm/index.js +1 -0
  1033. package/umd/es6/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  1034. package/umd/es6/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
  1035. package/umd/es6/persisters/persister-sqlite3/index.js +1 -0
  1036. package/umd/es6/persisters/persister-sqlite3/index.js.gz +0 -0
  1037. package/umd/es6/persisters/persister-sqlite3/with-schemas/index.js +1 -0
  1038. package/umd/es6/persisters/persister-yjs/index.js +1 -0
  1039. package/umd/es6/persisters/persister-yjs/index.js.gz +0 -0
  1040. package/umd/es6/persisters/persister-yjs/with-schemas/index.js +1 -0
  1041. package/umd/es6/persisters/with-schemas/index.js +1 -0
  1042. package/umd/es6/queries/index.js +1 -0
  1043. package/umd/es6/queries/index.js.gz +0 -0
  1044. package/umd/es6/queries/with-schemas/index.js +1 -0
  1045. package/umd/es6/relationships/index.js +1 -0
  1046. package/umd/es6/relationships/index.js.gz +0 -0
  1047. package/umd/es6/relationships/with-schemas/index.js +1 -0
  1048. package/umd/es6/store/index.js +1 -0
  1049. package/umd/es6/store/index.js.gz +0 -0
  1050. package/umd/es6/store/with-schemas/index.js +1 -0
  1051. package/umd/es6/synchronizers/index.js +1 -0
  1052. package/umd/es6/synchronizers/index.js.gz +0 -0
  1053. package/umd/es6/synchronizers/synchronizer-local/index.js +1 -0
  1054. package/umd/es6/synchronizers/synchronizer-local/index.js.gz +0 -0
  1055. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  1056. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +1 -0
  1057. package/umd/es6/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  1058. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  1059. package/umd/es6/synchronizers/synchronizer-ws-server/index.js +1 -0
  1060. package/umd/es6/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  1061. package/umd/es6/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
  1062. package/umd/es6/synchronizers/with-schemas/index.js +1 -0
  1063. package/umd/es6/tools/index.js +1 -0
  1064. package/umd/es6/tools/index.js.gz +0 -0
  1065. package/umd/es6/tools/with-schemas/index.js +1 -0
  1066. package/umd/es6/ui-react/index.js +1 -0
  1067. package/umd/es6/ui-react/index.js.gz +0 -0
  1068. package/umd/es6/ui-react/with-schemas/index.js +1 -0
  1069. package/umd/es6/ui-react-dom/index.js +1 -0
  1070. package/umd/es6/ui-react-dom/index.js.gz +0 -0
  1071. package/umd/es6/ui-react-dom/with-schemas/index.js +1 -0
  1072. package/umd/es6/ui-react-inspector/index.js +1 -0
  1073. package/umd/es6/ui-react-inspector/index.js.gz +0 -0
  1074. package/umd/es6/ui-react-inspector/with-schemas/index.js +1 -0
  1075. package/umd/es6/with-schemas/index.js +1 -0
  1076. package/umd/index.js +1 -0
  1077. package/umd/index.js.gz +0 -0
  1078. package/umd/indexes/index.js +1 -0
  1079. package/umd/indexes/index.js.gz +0 -0
  1080. package/umd/indexes/with-schemas/index.js +1 -0
  1081. package/umd/mergeable-store/index.js +1 -0
  1082. package/umd/mergeable-store/index.js.gz +0 -0
  1083. package/umd/mergeable-store/with-schemas/index.js +1 -0
  1084. package/umd/metrics/index.js +1 -0
  1085. package/umd/metrics/index.js.gz +0 -0
  1086. package/umd/metrics/with-schemas/index.js +1 -0
  1087. package/umd/persisters/index.js +1 -0
  1088. package/umd/persisters/index.js.gz +0 -0
  1089. package/umd/persisters/persister-automerge/index.js +1 -0
  1090. package/umd/persisters/persister-automerge/index.js.gz +0 -0
  1091. package/umd/persisters/persister-automerge/with-schemas/index.js +1 -0
  1092. package/umd/persisters/persister-browser/index.js +1 -0
  1093. package/umd/persisters/persister-browser/index.js.gz +0 -0
  1094. package/umd/persisters/persister-browser/with-schemas/index.js +1 -0
  1095. package/umd/persisters/persister-cr-sqlite-wasm/index.js +1 -0
  1096. package/umd/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  1097. package/umd/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -0
  1098. package/umd/persisters/persister-electric-sql/index.js +1 -0
  1099. package/umd/persisters/persister-electric-sql/index.js.gz +0 -0
  1100. package/umd/persisters/persister-electric-sql/with-schemas/index.js +1 -0
  1101. package/umd/persisters/persister-expo-sqlite/index.js +1 -0
  1102. package/umd/persisters/persister-expo-sqlite/index.js.gz +0 -0
  1103. package/umd/persisters/persister-expo-sqlite/with-schemas/index.js +1 -0
  1104. package/umd/persisters/persister-expo-sqlite-next/index.js +1 -0
  1105. package/umd/persisters/persister-expo-sqlite-next/index.js.gz +0 -0
  1106. package/umd/persisters/persister-expo-sqlite-next/with-schemas/index.js +1 -0
  1107. package/umd/persisters/persister-file/index.js +1 -0
  1108. package/umd/persisters/persister-file/index.js.gz +0 -0
  1109. package/umd/persisters/persister-file/with-schemas/index.js +1 -0
  1110. package/umd/persisters/persister-indexed-db/index.js +1 -0
  1111. package/umd/persisters/persister-indexed-db/index.js.gz +0 -0
  1112. package/umd/persisters/persister-indexed-db/with-schemas/index.js +1 -0
  1113. package/umd/persisters/persister-libsql/index.js +1 -0
  1114. package/umd/persisters/persister-libsql/index.js.gz +0 -0
  1115. package/umd/persisters/persister-libsql/with-schemas/index.js +1 -0
  1116. package/umd/persisters/persister-partykit-client/index.js +1 -0
  1117. package/umd/persisters/persister-partykit-client/index.js.gz +0 -0
  1118. package/umd/persisters/persister-partykit-client/with-schemas/index.js +1 -0
  1119. package/umd/persisters/persister-partykit-server/index.js +1 -0
  1120. package/umd/persisters/persister-partykit-server/index.js.gz +0 -0
  1121. package/umd/persisters/persister-partykit-server/with-schemas/index.js +1 -0
  1122. package/umd/persisters/persister-powersync/index.js +1 -0
  1123. package/umd/persisters/persister-powersync/index.js.gz +0 -0
  1124. package/umd/persisters/persister-powersync/with-schemas/index.js +1 -0
  1125. package/umd/persisters/persister-remote/index.js +1 -0
  1126. package/umd/persisters/persister-remote/index.js.gz +0 -0
  1127. package/umd/persisters/persister-remote/with-schemas/index.js +1 -0
  1128. package/umd/persisters/persister-sqlite-wasm/index.js +1 -0
  1129. package/umd/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  1130. package/umd/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -0
  1131. package/umd/persisters/persister-sqlite3/index.js +1 -0
  1132. package/umd/persisters/persister-sqlite3/index.js.gz +0 -0
  1133. package/umd/persisters/persister-sqlite3/with-schemas/index.js +1 -0
  1134. package/umd/persisters/persister-yjs/index.js +1 -0
  1135. package/umd/persisters/persister-yjs/index.js.gz +0 -0
  1136. package/umd/persisters/persister-yjs/with-schemas/index.js +1 -0
  1137. package/umd/persisters/with-schemas/index.js +1 -0
  1138. package/umd/queries/index.js +1 -0
  1139. package/umd/queries/index.js.gz +0 -0
  1140. package/umd/queries/with-schemas/index.js +1 -0
  1141. package/umd/relationships/index.js +1 -0
  1142. package/umd/relationships/index.js.gz +0 -0
  1143. package/umd/relationships/with-schemas/index.js +1 -0
  1144. package/umd/store/index.js +1 -0
  1145. package/umd/store/index.js.gz +0 -0
  1146. package/umd/store/with-schemas/index.js +1 -0
  1147. package/umd/synchronizers/index.js +1 -0
  1148. package/umd/synchronizers/index.js.gz +0 -0
  1149. package/umd/synchronizers/synchronizer-local/index.js +1 -0
  1150. package/umd/synchronizers/synchronizer-local/index.js.gz +0 -0
  1151. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +1 -0
  1152. package/umd/synchronizers/synchronizer-ws-client/index.js +1 -0
  1153. package/umd/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  1154. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -0
  1155. package/umd/synchronizers/synchronizer-ws-server/index.js +1 -0
  1156. package/umd/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  1157. package/umd/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -0
  1158. package/umd/synchronizers/with-schemas/index.js +1 -0
  1159. package/umd/tools/index.js +1 -0
  1160. package/umd/tools/index.js.gz +0 -0
  1161. package/umd/tools/with-schemas/index.js +1 -0
  1162. package/umd/ui-react/index.js +1 -0
  1163. package/umd/ui-react/index.js.gz +0 -0
  1164. package/umd/ui-react/with-schemas/index.js +1 -0
  1165. package/umd/ui-react-dom/index.js +1 -0
  1166. package/umd/ui-react-dom/index.js.gz +0 -0
  1167. package/umd/ui-react-dom/with-schemas/index.js +1 -0
  1168. package/umd/ui-react-inspector/index.js +1 -0
  1169. package/umd/ui-react-inspector/index.js.gz +0 -0
  1170. package/umd/ui-react-inspector/with-schemas/index.js +1 -0
  1171. package/umd/with-schemas/index.js +1 -0
  1172. package/with-schemas/index.js +1 -0
  1173. package/bin/cli.js +0 -2
  1174. package/lib/checkpoints.js +0 -1
  1175. package/lib/checkpoints.js.gz +0 -0
  1176. package/lib/cjs/checkpoints.cjs +0 -1
  1177. package/lib/cjs/checkpoints.cjs.gz +0 -0
  1178. package/lib/cjs/common.cjs +0 -1
  1179. package/lib/cjs/common.cjs.gz +0 -0
  1180. package/lib/cjs/indexes.cjs +0 -1
  1181. package/lib/cjs/indexes.cjs.gz +0 -0
  1182. package/lib/cjs/mergeable-store.cjs +0 -1
  1183. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  1184. package/lib/cjs/metrics.cjs +0 -1
  1185. package/lib/cjs/metrics.cjs.gz +0 -0
  1186. package/lib/cjs/persisters/persister-automerge.cjs +0 -1
  1187. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  1188. package/lib/cjs/persisters/persister-browser.cjs +0 -1
  1189. package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
  1190. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +0 -1
  1191. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  1192. package/lib/cjs/persisters/persister-electric-sql.cjs +0 -1
  1193. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  1194. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +0 -1
  1195. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  1196. package/lib/cjs/persisters/persister-expo-sqlite.cjs +0 -1
  1197. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  1198. package/lib/cjs/persisters/persister-file.cjs +0 -1
  1199. package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
  1200. package/lib/cjs/persisters/persister-indexed-db.cjs +0 -1
  1201. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  1202. package/lib/cjs/persisters/persister-partykit-client.cjs +0 -1
  1203. package/lib/cjs/persisters/persister-partykit-client.cjs.gz +0 -0
  1204. package/lib/cjs/persisters/persister-partykit-server.cjs +0 -1
  1205. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  1206. package/lib/cjs/persisters/persister-remote.cjs +0 -1
  1207. package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
  1208. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +0 -1
  1209. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  1210. package/lib/cjs/persisters/persister-sqlite3.cjs +0 -1
  1211. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  1212. package/lib/cjs/persisters/persister-yjs.cjs +0 -1
  1213. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  1214. package/lib/cjs/persisters.cjs +0 -1
  1215. package/lib/cjs/persisters.cjs.gz +0 -0
  1216. package/lib/cjs/queries.cjs +0 -1
  1217. package/lib/cjs/queries.cjs.gz +0 -0
  1218. package/lib/cjs/relationships.cjs +0 -1
  1219. package/lib/cjs/relationships.cjs.gz +0 -0
  1220. package/lib/cjs/store.cjs +0 -1
  1221. package/lib/cjs/store.cjs.gz +0 -0
  1222. package/lib/cjs/tinybase.cjs +0 -1
  1223. package/lib/cjs/tinybase.cjs.gz +0 -0
  1224. package/lib/cjs/tools.cjs +0 -1
  1225. package/lib/cjs/tools.cjs.gz +0 -0
  1226. package/lib/cjs/ui-react-dom-debug.cjs +0 -1
  1227. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  1228. package/lib/cjs/ui-react-dom.cjs +0 -1
  1229. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  1230. package/lib/cjs/ui-react.cjs +0 -1
  1231. package/lib/cjs/ui-react.cjs.gz +0 -0
  1232. package/lib/cjs-es6/checkpoints.cjs +0 -1
  1233. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  1234. package/lib/cjs-es6/common.cjs +0 -1
  1235. package/lib/cjs-es6/common.cjs.gz +0 -0
  1236. package/lib/cjs-es6/indexes.cjs +0 -1
  1237. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  1238. package/lib/cjs-es6/mergeable-store.cjs +0 -1
  1239. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  1240. package/lib/cjs-es6/metrics.cjs +0 -1
  1241. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  1242. package/lib/cjs-es6/persisters/persister-automerge.cjs +0 -1
  1243. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  1244. package/lib/cjs-es6/persisters/persister-browser.cjs +0 -1
  1245. package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
  1246. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +0 -1
  1247. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  1248. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +0 -1
  1249. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  1250. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +0 -1
  1251. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  1252. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +0 -1
  1253. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  1254. package/lib/cjs-es6/persisters/persister-file.cjs +0 -1
  1255. package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
  1256. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +0 -1
  1257. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  1258. package/lib/cjs-es6/persisters/persister-partykit-client.cjs +0 -1
  1259. package/lib/cjs-es6/persisters/persister-partykit-client.cjs.gz +0 -0
  1260. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +0 -1
  1261. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  1262. package/lib/cjs-es6/persisters/persister-remote.cjs +0 -1
  1263. package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
  1264. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +0 -1
  1265. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  1266. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +0 -1
  1267. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  1268. package/lib/cjs-es6/persisters/persister-yjs.cjs +0 -1
  1269. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  1270. package/lib/cjs-es6/persisters.cjs +0 -1
  1271. package/lib/cjs-es6/persisters.cjs.gz +0 -0
  1272. package/lib/cjs-es6/queries.cjs +0 -1
  1273. package/lib/cjs-es6/queries.cjs.gz +0 -0
  1274. package/lib/cjs-es6/relationships.cjs +0 -1
  1275. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  1276. package/lib/cjs-es6/store.cjs +0 -1
  1277. package/lib/cjs-es6/store.cjs.gz +0 -0
  1278. package/lib/cjs-es6/tinybase.cjs +0 -1
  1279. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  1280. package/lib/cjs-es6/tools.cjs +0 -1
  1281. package/lib/cjs-es6/tools.cjs.gz +0 -0
  1282. package/lib/cjs-es6/ui-react-dom-debug.cjs +0 -1
  1283. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  1284. package/lib/cjs-es6/ui-react-dom.cjs +0 -1
  1285. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  1286. package/lib/cjs-es6/ui-react.cjs +0 -1
  1287. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  1288. package/lib/common.js +0 -1
  1289. package/lib/common.js.gz +0 -0
  1290. package/lib/debug/checkpoints.js +0 -429
  1291. package/lib/debug/common.js +0 -4
  1292. package/lib/debug/indexes.js +0 -546
  1293. package/lib/debug/mergeable-store.js +0 -1892
  1294. package/lib/debug/metrics.js +0 -518
  1295. package/lib/debug/persisters/persister-automerge.js +0 -341
  1296. package/lib/debug/persisters/persister-browser.js +0 -228
  1297. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +0 -850
  1298. package/lib/debug/persisters/persister-electric-sql.js +0 -858
  1299. package/lib/debug/persisters/persister-expo-sqlite-next.js +0 -853
  1300. package/lib/debug/persisters/persister-expo-sqlite.js +0 -851
  1301. package/lib/debug/persisters/persister-file.js +0 -213
  1302. package/lib/debug/persisters/persister-indexed-db.js +0 -296
  1303. package/lib/debug/persisters/persister-partykit-client.js +0 -284
  1304. package/lib/debug/persisters/persister-partykit-server.js +0 -292
  1305. package/lib/debug/persisters/persister-remote.js +0 -241
  1306. package/lib/debug/persisters/persister-sqlite-wasm.js +0 -859
  1307. package/lib/debug/persisters/persister-sqlite3.js +0 -861
  1308. package/lib/debug/persisters/persister-yjs.js +0 -386
  1309. package/lib/debug/persisters.js +0 -184
  1310. package/lib/debug/queries.js +0 -810
  1311. package/lib/debug/relationships.js +0 -528
  1312. package/lib/debug/store.js +0 -1614
  1313. package/lib/debug/tinybase.js +0 -3507
  1314. package/lib/debug/tools.js +0 -3299
  1315. package/lib/debug/ui-react-dom.js +0 -3251
  1316. package/lib/debug/ui-react.js +0 -1944
  1317. package/lib/es6/checkpoints.js +0 -1
  1318. package/lib/es6/checkpoints.js.gz +0 -0
  1319. package/lib/es6/common.js +0 -1
  1320. package/lib/es6/common.js.gz +0 -0
  1321. package/lib/es6/indexes.js +0 -1
  1322. package/lib/es6/indexes.js.gz +0 -0
  1323. package/lib/es6/mergeable-store.js +0 -1
  1324. package/lib/es6/mergeable-store.js.gz +0 -0
  1325. package/lib/es6/metrics.js +0 -1
  1326. package/lib/es6/metrics.js.gz +0 -0
  1327. package/lib/es6/persisters/persister-automerge.js +0 -1
  1328. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  1329. package/lib/es6/persisters/persister-browser.js +0 -1
  1330. package/lib/es6/persisters/persister-browser.js.gz +0 -0
  1331. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +0 -1
  1332. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  1333. package/lib/es6/persisters/persister-electric-sql.js +0 -1
  1334. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  1335. package/lib/es6/persisters/persister-expo-sqlite-next.js +0 -1
  1336. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  1337. package/lib/es6/persisters/persister-expo-sqlite.js +0 -1
  1338. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  1339. package/lib/es6/persisters/persister-file.js +0 -1
  1340. package/lib/es6/persisters/persister-file.js.gz +0 -0
  1341. package/lib/es6/persisters/persister-indexed-db.js +0 -1
  1342. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  1343. package/lib/es6/persisters/persister-partykit-client.js +0 -1
  1344. package/lib/es6/persisters/persister-partykit-client.js.gz +0 -0
  1345. package/lib/es6/persisters/persister-partykit-server.js +0 -1
  1346. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  1347. package/lib/es6/persisters/persister-remote.js +0 -1
  1348. package/lib/es6/persisters/persister-remote.js.gz +0 -0
  1349. package/lib/es6/persisters/persister-sqlite-wasm.js +0 -1
  1350. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  1351. package/lib/es6/persisters/persister-sqlite3.js +0 -1
  1352. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  1353. package/lib/es6/persisters/persister-yjs.js +0 -1
  1354. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  1355. package/lib/es6/persisters.js +0 -1
  1356. package/lib/es6/persisters.js.gz +0 -0
  1357. package/lib/es6/queries.js +0 -1
  1358. package/lib/es6/queries.js.gz +0 -0
  1359. package/lib/es6/relationships.js +0 -1
  1360. package/lib/es6/relationships.js.gz +0 -0
  1361. package/lib/es6/store.js +0 -1
  1362. package/lib/es6/store.js.gz +0 -0
  1363. package/lib/es6/tinybase.js +0 -1
  1364. package/lib/es6/tinybase.js.gz +0 -0
  1365. package/lib/es6/tools.js +0 -1
  1366. package/lib/es6/tools.js.gz +0 -0
  1367. package/lib/es6/ui-react-dom-debug.js +0 -1
  1368. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  1369. package/lib/es6/ui-react-dom.js +0 -1
  1370. package/lib/es6/ui-react-dom.js.gz +0 -0
  1371. package/lib/es6/ui-react.js +0 -1
  1372. package/lib/es6/ui-react.js.gz +0 -0
  1373. package/lib/indexes.js +0 -1
  1374. package/lib/indexes.js.gz +0 -0
  1375. package/lib/mergeable-store.js +0 -1
  1376. package/lib/mergeable-store.js.gz +0 -0
  1377. package/lib/metrics.js +0 -1
  1378. package/lib/metrics.js.gz +0 -0
  1379. package/lib/persisters/persister-automerge.js +0 -1
  1380. package/lib/persisters/persister-automerge.js.gz +0 -0
  1381. package/lib/persisters/persister-browser.js +0 -1
  1382. package/lib/persisters/persister-browser.js.gz +0 -0
  1383. package/lib/persisters/persister-cr-sqlite-wasm.js +0 -1
  1384. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  1385. package/lib/persisters/persister-electric-sql.js +0 -1
  1386. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  1387. package/lib/persisters/persister-expo-sqlite-next.js +0 -1
  1388. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  1389. package/lib/persisters/persister-expo-sqlite.js +0 -1
  1390. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  1391. package/lib/persisters/persister-file.js +0 -1
  1392. package/lib/persisters/persister-file.js.gz +0 -0
  1393. package/lib/persisters/persister-indexed-db.js +0 -1
  1394. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  1395. package/lib/persisters/persister-partykit-client.js +0 -1
  1396. package/lib/persisters/persister-partykit-client.js.gz +0 -0
  1397. package/lib/persisters/persister-partykit-server.js +0 -1
  1398. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  1399. package/lib/persisters/persister-remote.js +0 -1
  1400. package/lib/persisters/persister-remote.js.gz +0 -0
  1401. package/lib/persisters/persister-sqlite-wasm.js +0 -1
  1402. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  1403. package/lib/persisters/persister-sqlite3.js +0 -1
  1404. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  1405. package/lib/persisters/persister-yjs.js +0 -1
  1406. package/lib/persisters/persister-yjs.js.gz +0 -0
  1407. package/lib/persisters.js +0 -1
  1408. package/lib/persisters.js.gz +0 -0
  1409. package/lib/queries.js +0 -1
  1410. package/lib/queries.js.gz +0 -0
  1411. package/lib/relationships.js +0 -1
  1412. package/lib/relationships.js.gz +0 -0
  1413. package/lib/store.js +0 -1
  1414. package/lib/store.js.gz +0 -0
  1415. package/lib/tinybase.js +0 -1
  1416. package/lib/tinybase.js.gz +0 -0
  1417. package/lib/tools.js +0 -1
  1418. package/lib/tools.js.gz +0 -0
  1419. package/lib/types/checkpoints.d.ts +0 -986
  1420. package/lib/types/common.d.ts +0 -106
  1421. package/lib/types/indexes.d.ts +0 -993
  1422. package/lib/types/mergeable-store.d.ts +0 -55
  1423. package/lib/types/metrics.d.ts +0 -856
  1424. package/lib/types/persisters/persister-automerge.d.ts +0 -146
  1425. package/lib/types/persisters/persister-browser.d.ts +0 -155
  1426. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +0 -142
  1427. package/lib/types/persisters/persister-electric-sql.d.ts +0 -165
  1428. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +0 -169
  1429. package/lib/types/persisters/persister-expo-sqlite.d.ts +0 -170
  1430. package/lib/types/persisters/persister-file.d.ts +0 -78
  1431. package/lib/types/persisters/persister-indexed-db.d.ts +0 -107
  1432. package/lib/types/persisters/persister-partykit-client.d.ts +0 -175
  1433. package/lib/types/persisters/persister-partykit-server.d.ts +0 -604
  1434. package/lib/types/persisters/persister-remote.d.ts +0 -104
  1435. package/lib/types/persisters/persister-sqlite-wasm.d.ts +0 -154
  1436. package/lib/types/persisters/persister-sqlite3.d.ts +0 -155
  1437. package/lib/types/persisters/persister-yjs.d.ts +0 -142
  1438. package/lib/types/persisters.d.ts +0 -1137
  1439. package/lib/types/queries.d.ts +0 -3506
  1440. package/lib/types/relationships.d.ts +0 -1242
  1441. package/lib/types/store.d.ts +0 -6967
  1442. package/lib/types/tinybase.d.ts +0 -14
  1443. package/lib/types/tools.d.ts +0 -521
  1444. package/lib/types/ui-react-dom.d.ts +0 -1705
  1445. package/lib/types/ui-react.d.ts +0 -13695
  1446. package/lib/types/with-schemas/checkpoints.d.ts +0 -1078
  1447. package/lib/types/with-schemas/common.d.ts +0 -106
  1448. package/lib/types/with-schemas/indexes.d.ts +0 -1131
  1449. package/lib/types/with-schemas/internal/queries.d.ts +0 -16
  1450. package/lib/types/with-schemas/internal/store.d.ts +0 -106
  1451. package/lib/types/with-schemas/internal/ui-react.d.ts +0 -806
  1452. package/lib/types/with-schemas/mergeable-store.d.ts +0 -85
  1453. package/lib/types/with-schemas/metrics.d.ts +0 -936
  1454. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +0 -158
  1455. package/lib/types/with-schemas/persisters/persister-browser.d.ts +0 -177
  1456. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +0 -155
  1457. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +0 -178
  1458. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +0 -182
  1459. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +0 -183
  1460. package/lib/types/with-schemas/persisters/persister-file.d.ts +0 -89
  1461. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +0 -119
  1462. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +0 -187
  1463. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +0 -652
  1464. package/lib/types/with-schemas/persisters/persister-remote.d.ts +0 -117
  1465. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +0 -168
  1466. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +0 -168
  1467. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +0 -154
  1468. package/lib/types/with-schemas/persisters.d.ts +0 -1242
  1469. package/lib/types/with-schemas/queries.d.ts +0 -3827
  1470. package/lib/types/with-schemas/relationships.d.ts +0 -1393
  1471. package/lib/types/with-schemas/store.d.ts +0 -8639
  1472. package/lib/types/with-schemas/tinybase.d.ts +0 -14
  1473. package/lib/types/with-schemas/tools.d.ts +0 -532
  1474. package/lib/types/with-schemas/ui-react-dom.d.ts +0 -1834
  1475. package/lib/types/with-schemas/ui-react.d.ts +0 -14595
  1476. package/lib/ui-react-dom.js +0 -1
  1477. package/lib/ui-react-dom.js.gz +0 -0
  1478. package/lib/ui-react.js +0 -1
  1479. package/lib/ui-react.js.gz +0 -0
  1480. package/lib/umd/checkpoints.js +0 -1
  1481. package/lib/umd/checkpoints.js.gz +0 -0
  1482. package/lib/umd/common.js +0 -1
  1483. package/lib/umd/common.js.gz +0 -0
  1484. package/lib/umd/indexes.js +0 -1
  1485. package/lib/umd/indexes.js.gz +0 -0
  1486. package/lib/umd/mergeable-store.js +0 -1
  1487. package/lib/umd/mergeable-store.js.gz +0 -0
  1488. package/lib/umd/metrics.js +0 -1
  1489. package/lib/umd/metrics.js.gz +0 -0
  1490. package/lib/umd/persisters/persister-automerge.js +0 -1
  1491. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  1492. package/lib/umd/persisters/persister-browser.js +0 -1
  1493. package/lib/umd/persisters/persister-browser.js.gz +0 -0
  1494. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +0 -1
  1495. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  1496. package/lib/umd/persisters/persister-electric-sql.js +0 -1
  1497. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  1498. package/lib/umd/persisters/persister-expo-sqlite-next.js +0 -1
  1499. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  1500. package/lib/umd/persisters/persister-expo-sqlite.js +0 -1
  1501. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  1502. package/lib/umd/persisters/persister-file.js +0 -1
  1503. package/lib/umd/persisters/persister-file.js.gz +0 -0
  1504. package/lib/umd/persisters/persister-indexed-db.js +0 -1
  1505. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  1506. package/lib/umd/persisters/persister-partykit-client.js +0 -1
  1507. package/lib/umd/persisters/persister-partykit-client.js.gz +0 -0
  1508. package/lib/umd/persisters/persister-partykit-server.js +0 -1
  1509. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  1510. package/lib/umd/persisters/persister-remote.js +0 -1
  1511. package/lib/umd/persisters/persister-remote.js.gz +0 -0
  1512. package/lib/umd/persisters/persister-sqlite-wasm.js +0 -1
  1513. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  1514. package/lib/umd/persisters/persister-sqlite3.js +0 -1
  1515. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  1516. package/lib/umd/persisters/persister-yjs.js +0 -1
  1517. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  1518. package/lib/umd/persisters.js +0 -1
  1519. package/lib/umd/persisters.js.gz +0 -0
  1520. package/lib/umd/queries.js +0 -1
  1521. package/lib/umd/queries.js.gz +0 -0
  1522. package/lib/umd/relationships.js +0 -1
  1523. package/lib/umd/relationships.js.gz +0 -0
  1524. package/lib/umd/store.js +0 -1
  1525. package/lib/umd/store.js.gz +0 -0
  1526. package/lib/umd/tinybase.js +0 -1
  1527. package/lib/umd/tinybase.js.gz +0 -0
  1528. package/lib/umd/tools.js +0 -1
  1529. package/lib/umd/tools.js.gz +0 -0
  1530. package/lib/umd/ui-react-dom-debug.js +0 -1
  1531. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  1532. package/lib/umd/ui-react-dom.js +0 -1
  1533. package/lib/umd/ui-react-dom.js.gz +0 -0
  1534. package/lib/umd/ui-react.js +0 -1
  1535. package/lib/umd/ui-react.js.gz +0 -0
  1536. package/lib/umd-es6/checkpoints.js +0 -1
  1537. package/lib/umd-es6/checkpoints.js.gz +0 -0
  1538. package/lib/umd-es6/common.js +0 -1
  1539. package/lib/umd-es6/common.js.gz +0 -0
  1540. package/lib/umd-es6/indexes.js +0 -1
  1541. package/lib/umd-es6/indexes.js.gz +0 -0
  1542. package/lib/umd-es6/mergeable-store.js +0 -1
  1543. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  1544. package/lib/umd-es6/metrics.js +0 -1
  1545. package/lib/umd-es6/metrics.js.gz +0 -0
  1546. package/lib/umd-es6/persisters/persister-automerge.js +0 -1
  1547. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  1548. package/lib/umd-es6/persisters/persister-browser.js +0 -1
  1549. package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
  1550. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +0 -1
  1551. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  1552. package/lib/umd-es6/persisters/persister-electric-sql.js +0 -1
  1553. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  1554. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +0 -1
  1555. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  1556. package/lib/umd-es6/persisters/persister-expo-sqlite.js +0 -1
  1557. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  1558. package/lib/umd-es6/persisters/persister-file.js +0 -1
  1559. package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
  1560. package/lib/umd-es6/persisters/persister-indexed-db.js +0 -1
  1561. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  1562. package/lib/umd-es6/persisters/persister-partykit-client.js +0 -1
  1563. package/lib/umd-es6/persisters/persister-partykit-client.js.gz +0 -0
  1564. package/lib/umd-es6/persisters/persister-partykit-server.js +0 -1
  1565. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  1566. package/lib/umd-es6/persisters/persister-remote.js +0 -1
  1567. package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
  1568. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +0 -1
  1569. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  1570. package/lib/umd-es6/persisters/persister-sqlite3.js +0 -1
  1571. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  1572. package/lib/umd-es6/persisters/persister-yjs.js +0 -1
  1573. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  1574. package/lib/umd-es6/persisters.js +0 -1
  1575. package/lib/umd-es6/persisters.js.gz +0 -0
  1576. package/lib/umd-es6/queries.js +0 -1
  1577. package/lib/umd-es6/queries.js.gz +0 -0
  1578. package/lib/umd-es6/relationships.js +0 -1
  1579. package/lib/umd-es6/relationships.js.gz +0 -0
  1580. package/lib/umd-es6/store.js +0 -1
  1581. package/lib/umd-es6/store.js.gz +0 -0
  1582. package/lib/umd-es6/tinybase.js +0 -1
  1583. package/lib/umd-es6/tinybase.js.gz +0 -0
  1584. package/lib/umd-es6/tools.js +0 -1
  1585. package/lib/umd-es6/tools.js.gz +0 -0
  1586. package/lib/umd-es6/ui-react-dom-debug.js +0 -1
  1587. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  1588. package/lib/umd-es6/ui-react-dom.js +0 -1
  1589. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  1590. package/lib/umd-es6/ui-react.js +0 -1
  1591. package/lib/umd-es6/ui-react.js.gz +0 -0
@@ -0,0 +1,3300 @@
1
+ 'use strict';
2
+
3
+ const getTypeOf = (thing) => typeof thing;
4
+ const TINYBASE = 'tinybase';
5
+ const EMPTY_STRING = '';
6
+ const COMMA = ',';
7
+ const STRING = getTypeOf(EMPTY_STRING);
8
+ const BOOLEAN = getTypeOf(true);
9
+ const NUMBER = getTypeOf(0);
10
+ const TYPE = 'type';
11
+ const DEFAULT = 'default';
12
+ const LISTENER = 'Listener';
13
+ const GET = 'get';
14
+ const ADD = 'add';
15
+ const HAS = 'Has';
16
+ const IDS = 'Ids';
17
+ const TABLE = 'Table';
18
+ const TABLES = TABLE + 's';
19
+ const TABLE_IDS = TABLE + IDS;
20
+ const ROW = 'Row';
21
+ const ROW_IDS = ROW + IDS;
22
+ const SORTED_ROW_IDS = 'Sorted' + ROW + IDS;
23
+ const CELL = 'Cell';
24
+ const CELL_IDS = CELL + IDS;
25
+ const VALUE = 'Value';
26
+ const VALUES = VALUE + 's';
27
+ const VALUE_IDS = VALUE + IDS;
28
+
29
+ const promise = Promise;
30
+ const isFiniteNumber = isFinite;
31
+ const isUndefined = (thing) => thing == void 0;
32
+ const ifNotUndefined = (value, then, otherwise) =>
33
+ isUndefined(value) ? otherwise?.() : then(value);
34
+ const isTypeStringOrBoolean = (type) => type == STRING || type == BOOLEAN;
35
+ const isString = (thing) => getTypeOf(thing) == STRING;
36
+ const isArray = (thing) => Array.isArray(thing);
37
+ const slice = (arrayOrString, start, end) => arrayOrString.slice(start, end);
38
+ const size = (arrayOrString) => arrayOrString.length;
39
+ const promiseAll = async (promises) => promise.all(promises);
40
+
41
+ const getCellOrValueType = (cellOrValue) => {
42
+ const type = getTypeOf(cellOrValue);
43
+ return isTypeStringOrBoolean(type) ||
44
+ (type == NUMBER && isFiniteNumber(cellOrValue))
45
+ ? type
46
+ : void 0;
47
+ };
48
+
49
+ const arrayEvery = (array, cb) => array.every(cb);
50
+ const arraySort = (array, sorter) => array.sort(sorter);
51
+ const arrayForEach = (array, cb) => array.forEach(cb);
52
+ const arrayJoin = (array, sep = EMPTY_STRING) => array.join(sep);
53
+ const arrayMap = (array, cb) => array.map(cb);
54
+ const arrayFilter = (array, cb) => array.filter(cb);
55
+ const arrayPush = (array, ...values) => array.push(...values);
56
+ const arrayPop = (array) => array.pop();
57
+ const arrayUnshift = (array, ...values) => array.unshift(...values);
58
+ const arrayShift = (array) => array.shift();
59
+
60
+ const object = Object;
61
+ const getPrototypeOf = (obj) => object.getPrototypeOf(obj);
62
+ const objEntries = object.entries;
63
+ const isObject = (obj) =>
64
+ !isUndefined(obj) &&
65
+ ifNotUndefined(
66
+ getPrototypeOf(obj),
67
+ (objPrototype) =>
68
+ objPrototype == object.prototype ||
69
+ isUndefined(getPrototypeOf(objPrototype)),
70
+
71
+ /* istanbul ignore next */
72
+ () => true,
73
+ );
74
+ const objIds = object.keys;
75
+ const objFreeze = object.freeze;
76
+ const objToArray = (obj, cb) =>
77
+ arrayMap(objEntries(obj), ([id, value]) => cb(value, id));
78
+ const objSize = (obj) => size(objIds(obj));
79
+ const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
80
+
81
+ const collHas = (coll, keyOrValue) => coll?.has(keyOrValue) ?? false;
82
+ const collValues = (coll) => [...(coll?.values() ?? [])];
83
+ const collForEach = (coll, cb) => coll?.forEach(cb);
84
+ const collDel = (coll, keyOrValue) => coll?.delete(keyOrValue);
85
+
86
+ const mapNew = (entries) => new Map(entries);
87
+ const mapGet = (map, key) => map?.get(key);
88
+ const mapForEach = (map, cb) =>
89
+ collForEach(map, (value, key) => cb(key, value));
90
+ const mapMap = (coll, cb) =>
91
+ arrayMap([...(coll?.entries() ?? [])], ([key, value]) => cb(value, key));
92
+ const mapSet = (map, key, value) =>
93
+ isUndefined(value) ? (collDel(map, key), map) : map?.set(key, value);
94
+ const mapEnsure = (map, key, getDefaultValue, hadExistingValue) => {
95
+ if (!collHas(map, key)) {
96
+ mapSet(map, key, getDefaultValue());
97
+ }
98
+ return mapGet(map, key);
99
+ };
100
+
101
+ const upper = (str) => str.toUpperCase();
102
+ const lower = (str) => str.toLowerCase();
103
+ const A = 'a ';
104
+ const A_FUNCTION_FOR = 'A function for';
105
+ const AND_REGISTERS =
106
+ ', and registers a listener so that any changes to that result will cause a re-render';
107
+ const CALLBACK = 'Callback';
108
+ const CHANGES = 'Changes';
109
+ const COUNT = 'Count';
110
+ const DEL = 'Del';
111
+ const DEPS = 'Deps';
112
+ const DEPS_SUFFIX = DEPS + '?: React.DependencyList';
113
+ const DO_ROLLBACK_PARAM = 'doRollback?: DoRollback';
114
+ const DO_ACTIONS_AND_ROLLBACK_PARAMS =
115
+ 'actions: () => Return, ' + DO_ROLLBACK_PARAM;
116
+ const EXPORT = 'export';
117
+ const ID = 'Id';
118
+ const INVALID = 'Invalid';
119
+ const JSON$1 = 'Json';
120
+ const LISTENER_ = lower(LISTENER);
121
+ const OPTIONAL_COLON = '?: ';
122
+ const OR_UNDEFINED = ' | undefined';
123
+ const NON_NULLABLE = 'NonNullable';
124
+ const PARTIAL = 'Partial';
125
+ const PROPS = 'Props';
126
+ const PROVIDER = 'Provider';
127
+ const REGISTERS_A_LISTENER = `Registers a ${LISTENER_} that will be called`;
128
+ const REPRESENTS = 'Represents';
129
+ const ROW_ID_PARAM = 'rowId: ' + ID;
130
+ const SCHEMA = 'Schema';
131
+ const SET = 'Set';
132
+ const SORTED_ARGS = ', descending?: boolean, offset?: number, limit?: number';
133
+ const SQUARE_BRACKETS = '[]';
134
+ const THE_STORE = 'the Store';
135
+ const TRANSACTION = 'Transaction';
136
+ const TRANSACTION_ = lower(TRANSACTION);
137
+ const TRANSACTION_DOC =
138
+ 'Execute a ' + TRANSACTION_ + ' to make multiple mutations';
139
+ const START_TRANSACTION_DOC = 'Explicitly starts a ' + TRANSACTION_;
140
+ const FINISH_TRANSACTION_DOC = 'Explicitly finishes a ' + TRANSACTION_;
141
+ const THE_END_OF_THE_TRANSACTION = 'the end of the ' + TRANSACTION_;
142
+ const VOID = 'void';
143
+ const RETURNS_VOID = ' => ' + VOID;
144
+ const WHEN_SET = 'WhenSet';
145
+ const WHEN_SETTING_IT = ' when setting it';
146
+ const A_STRING_SERIALIZATION_OF = A + 'string serialization of';
147
+ const SPACE = ' ';
148
+ const GETS_A_CALLBACK_THAT_CAN = 'Gets a callback that can ';
149
+ const THE = 'the ';
150
+ const THE_SCHEMA_FOR = ' the schema for';
151
+ const getHasDoc = (has = 0) => (has ? 'the existence of ' : '');
152
+ const getTheContentOfDoc = (content = 0, theStore = 0, has = 0) =>
153
+ getHasDoc(has) +
154
+ `the ${CONTENT[content]}content of` +
155
+ (theStore ? SPACE + THE_STORE : EMPTY_STRING);
156
+ const getTheContentOfTheStoreDoc = (content = 0, verb, set = 0, has = 0) =>
157
+ VERBS[verb] +
158
+ SPACE +
159
+ getHasDoc(has) +
160
+ getTheContentOfDoc(content, 1) +
161
+ (set ? ' when setting it' : EMPTY_STRING);
162
+ const getRowTypeDoc = (tableId, set = 0) =>
163
+ REPRESENTS +
164
+ ` a Row when ${set ? 's' : 'g'}etting ${getTheContentOfDoc()} the '${tableId}' ` +
165
+ TABLE;
166
+ const getIdsDoc = (idsNoun, parentNoun, sorted = 0) =>
167
+ `Gets ${sorted ? 'sorted, paginated' : 'the'} Ids of the ${idsNoun}s in ` +
168
+ parentNoun;
169
+ const getForEachDoc = (childNoun, parentNoun) =>
170
+ `Calls a function for each ${childNoun} in ` + parentNoun;
171
+ const getPropsDoc = (childNoun) =>
172
+ 'The props passed to a component that renders ' + childNoun;
173
+ const getCallbackDoc = (takes) => 'A function that takes ' + takes;
174
+ const getListenerTypeDoc = (childNoun, parentNoun = 0, has = 0) =>
175
+ A_FUNCTION_FOR +
176
+ ' listening to changes to ' +
177
+ getHasDoc(has) +
178
+ NOUNS[childNoun] +
179
+ ' in ' +
180
+ NOUNS[parentNoun];
181
+ const getListenerDoc = (childNoun, parentNoun, pluralChild = 0, has = 0) =>
182
+ REGISTERS_A_LISTENER +
183
+ ' whenever ' +
184
+ getHasDoc(has) +
185
+ NOUNS[childNoun] +
186
+ ' in ' +
187
+ NOUNS[parentNoun] +
188
+ ' change' +
189
+ (pluralChild ? EMPTY_STRING : 's');
190
+ const getTableDoc = (tableId) => `the '${tableId}' ` + TABLE;
191
+ const getRowDoc = (tableId) => 'the specified Row in ' + getTableDoc(tableId);
192
+ const getTableContentDoc = (tableId, verb = 0, has = 0) =>
193
+ VERBS[verb] +
194
+ SPACE +
195
+ getTheContentOfDoc(0, 0, has) +
196
+ SPACE +
197
+ getTableDoc(tableId);
198
+ const getRowContentDoc = (tableId, verb = 0, has = 0) =>
199
+ VERBS[verb] + ` ${getTheContentOfDoc(0, 0, has)} ` + getRowDoc(tableId);
200
+ const getCellContentDoc = (tableId, cellId, verb = 0, has = 0) =>
201
+ VERBS[verb] +
202
+ SPACE +
203
+ getHasDoc(has) +
204
+ `the '${cellId}' Cell for ` +
205
+ getRowDoc(tableId);
206
+ const getValueContentDoc = (valueId, verb = 0, has = 0) =>
207
+ VERBS[verb] + SPACE + getHasDoc(has) + `the '${valueId}' Value`;
208
+ const VERBS = [
209
+ 'Gets',
210
+ 'Checks existence of',
211
+ 'Sets',
212
+ 'Deletes',
213
+ 'Sets part of',
214
+ REPRESENTS,
215
+ 'Gets ' + A_STRING_SERIALIZATION_OF,
216
+ 'Sets ' + A_STRING_SERIALIZATION_OF,
217
+ REGISTERS_A_LISTENER + ' whenever',
218
+ GETS_A_CALLBACK_THAT_CAN + 'set',
219
+ GETS_A_CALLBACK_THAT_CAN + 'add',
220
+ GETS_A_CALLBACK_THAT_CAN + 'set part of',
221
+ GETS_A_CALLBACK_THAT_CAN + 'delete',
222
+ 'Renders',
223
+ 'Gets ' + A_STRING_SERIALIZATION_OF + THE_SCHEMA_FOR,
224
+ 'Sets' + THE_SCHEMA_FOR,
225
+ 'Deletes' + THE_SCHEMA_FOR,
226
+ ];
227
+ const METHOD_PREFIX_VERBS = [
228
+ GET,
229
+ 'has',
230
+ 'set',
231
+ 'del',
232
+ 'set',
233
+ // partial
234
+ 'forEach',
235
+ ADD,
236
+ EMPTY_STRING,
237
+ ];
238
+ const NOUNS = [
239
+ THE_STORE,
240
+ TABLES,
241
+ THE + TABLE + SPACE + IDS,
242
+ A + TABLE,
243
+ THE + ROW + SPACE + IDS,
244
+ A + ROW,
245
+ THE + CELL + SPACE + IDS,
246
+ A + CELL,
247
+ 'invalid Cell changes',
248
+ VALUES,
249
+ THE + VALUE + SPACE + IDS,
250
+ A + VALUE,
251
+ 'invalid Value changes',
252
+ THE + 'sorted ' + ROW + SPACE + IDS,
253
+ THE + CELL + SPACE + IDS + ' anywhere',
254
+ THE + 'number of Rows',
255
+ A + CELL + ' anywhere',
256
+ ];
257
+ const CONTENT = [EMPTY_STRING, 'tabular ', 'keyed value '];
258
+
259
+ const setNew = (entryOrEntries) =>
260
+ new Set(
261
+ isArray(entryOrEntries) || isUndefined(entryOrEntries)
262
+ ? entryOrEntries
263
+ : [entryOrEntries],
264
+ );
265
+ const setAdd = (set, value) => set?.add(value);
266
+
267
+ const NON_ALPHA = /[^A-Za-z]+/;
268
+ const NON_ALPHANUMERIC = /[^A-Za-z0-9]+/;
269
+ const JSDOC = /^( *)\/\*\* *(.*?) *\*\/$/gm;
270
+ const stringHasComma = (str) => str.includes(COMMA);
271
+ const mapUnique = (map, id, value, index = 1) => {
272
+ const uniqueId = `${id}${index == 1 ? '' : index}`;
273
+ if (collHas(map, uniqueId)) {
274
+ return mapUnique(map, id, value, index + 1);
275
+ } else {
276
+ mapSet(map, uniqueId, value);
277
+ return uniqueId;
278
+ }
279
+ };
280
+ const formatJsDoc = (file) =>
281
+ file.replace(JSDOC, (_, indent, text) => {
282
+ const lineLength = 77 - size(indent);
283
+ return `${indent}/**
284
+ ${text.replace(
285
+ new RegExp(`([^\\n]{1,${lineLength}})(\\s|$)`, 'g'),
286
+ `${indent} * $1
287
+ `,
288
+ )}${indent} */`;
289
+ });
290
+ const flat = (array) => array.flat(1e3);
291
+ const camel = (str, firstCap = 0) =>
292
+ arrayJoin(
293
+ arrayMap(
294
+ str.split(NON_ALPHANUMERIC),
295
+ (word, w) =>
296
+ (w > 0 || firstCap ? upper : lower)(slice(word, 0, 1)) + slice(word, 1),
297
+ ),
298
+ );
299
+ const snake = (str) =>
300
+ upper(
301
+ arrayJoin(
302
+ (str && !NON_ALPHA.test(str[0]) ? str : ' ' + str).split(
303
+ NON_ALPHANUMERIC,
304
+ ),
305
+ '_',
306
+ ),
307
+ );
308
+ const comment = (doc) => `/** ${doc}. */`;
309
+ const getParameterList = (...params) =>
310
+ arrayJoin(
311
+ arrayFilter(params, (param) => param),
312
+ ', ',
313
+ );
314
+ const getFieldTypeList = (...props) => '{' + arrayJoin(props, '; ') + '}';
315
+ const getPropTypeList = (...props) =>
316
+ getFieldTypeList(...arrayMap(props, (prop) => 'readonly ' + prop));
317
+ const getCodeFunctions = () => {
318
+ const allImports = [mapNew(), mapNew(), mapNew(), mapNew()];
319
+ const types = mapNew();
320
+ const constants = mapNew();
321
+ const build = (...lines) => arrayJoin(flat(lines), '\n');
322
+ const addImport = (location, source, ...items) =>
323
+ arrayForEach(items, (item) =>
324
+ arrayForEach([0, 1], (eachLocation) =>
325
+ (location ?? eachLocation) == eachLocation
326
+ ? setAdd(mapEnsure(allImports[eachLocation], source, setNew), item)
327
+ : 0,
328
+ ),
329
+ );
330
+ const addType = (name, body, doc, generic = EMPTY_STRING, exported = 1) =>
331
+ mapUnique(types, name, [body, doc, generic, exported]);
332
+ const addInternalFunction = (name, parameters, body) =>
333
+ mapUnique(
334
+ constants,
335
+ name,
336
+ isArray(body)
337
+ ? [`(${parameters}) => {`, body, '}']
338
+ : [`(${parameters}) => ${body}`],
339
+ );
340
+ const addConstant = (name, body) =>
341
+ mapGet(constants, name) === body ? name : mapUnique(constants, name, body);
342
+ const getSortableImport = (importMaybeAs) => {
343
+ const as = importMaybeAs.indexOf(' as ');
344
+ return as != -1 ? slice(importMaybeAs, as + 4) : importMaybeAs;
345
+ };
346
+ const getImports = (location = 0) =>
347
+ arrayMap(
348
+ [
349
+ ...arraySort(
350
+ mapMap(
351
+ allImports[location],
352
+ (items, source) =>
353
+ `import {${arrayJoin(
354
+ arraySort(collValues(items), (import1, import2) =>
355
+ getSortableImport(import1) > getSortableImport(import2)
356
+ ? 1
357
+ : -1,
358
+ ),
359
+ ', ',
360
+ )}} from '${source}';`,
361
+ ),
362
+ (import1, import2) =>
363
+ stringHasComma(import1) != stringHasComma(import2)
364
+ ? stringHasComma(import1)
365
+ ? -1
366
+ : 1
367
+ : import1 > import2
368
+ ? 1
369
+ : -1,
370
+ ),
371
+ EMPTY_STRING,
372
+ ],
373
+ (line) => line.replace('{React}', 'React'),
374
+ // sigh
375
+ );
376
+ const getTypes = () =>
377
+ mapMap(types, ([body, doc, generic, exported], name) => [
378
+ comment(doc),
379
+ `${exported ? EXPORT + ' ' : EMPTY_STRING}type ${name}${generic} = ${body};`,
380
+ EMPTY_STRING,
381
+ ]);
382
+ const getConstants = () =>
383
+ mapMap(constants, (body, name) => {
384
+ body = isArray(body) ? body : [body];
385
+ arrayPush(body, `${arrayPop(body)};`);
386
+ return [`const ${name} = ${arrayShift(body)}`, body, EMPTY_STRING];
387
+ });
388
+ return [
389
+ build,
390
+ addImport,
391
+ addType,
392
+ addInternalFunction,
393
+ addConstant,
394
+ getImports,
395
+ getTypes,
396
+ getConstants,
397
+ ];
398
+ };
399
+
400
+ const getCreateFunction = (getFunction, initFunction) => {
401
+ const thingsByStore = /* @__PURE__ */ new WeakMap();
402
+ return (store) => {
403
+ if (!thingsByStore.has(store)) {
404
+ thingsByStore.set(store, getFunction(store));
405
+ }
406
+ const thing = thingsByStore.get(store);
407
+ return thing;
408
+ };
409
+ };
410
+
411
+ const getSchemaFunctions = (tablesSchema, valuesSchema, addConstant) => {
412
+ const mapTablesSchema = (callback) =>
413
+ objToArray(tablesSchema, (_, tableId) => {
414
+ return callback(
415
+ tableId,
416
+ camel(tableId, 1),
417
+ addConstant(snake(tableId), `'${tableId}'`),
418
+ );
419
+ });
420
+ const mapCellSchema = (tableId, callback) =>
421
+ objToArray(tablesSchema[tableId], (cellSchema, cellId) =>
422
+ callback(
423
+ cellId,
424
+ cellSchema[TYPE],
425
+ cellSchema[DEFAULT],
426
+ addConstant(snake(cellId), `'${cellId}'`),
427
+ camel(cellId, 1),
428
+ ),
429
+ );
430
+ const mapValuesSchema = (callback) =>
431
+ objToArray(valuesSchema, (valueSchema, valueId) =>
432
+ callback(
433
+ valueId,
434
+ valueSchema[TYPE],
435
+ valueSchema[DEFAULT],
436
+ addConstant(snake(valueId), `'${valueId}'`),
437
+ camel(valueId, 1),
438
+ ),
439
+ );
440
+ return [mapTablesSchema, mapCellSchema, mapValuesSchema];
441
+ };
442
+
443
+ const getTypeFunctions = (
444
+ addType,
445
+ mapTablesSchema,
446
+ mapCellSchema,
447
+ mapValuesSchema,
448
+ ) => {
449
+ const getTablesTypes = (storeInstance, storeType) => {
450
+ const storeParam = storeInstance + ': ' + storeType;
451
+ const tablesType = addType(
452
+ TABLES,
453
+ getFieldTypeList(
454
+ ...mapTablesSchema(
455
+ (tableId) =>
456
+ `'${tableId}'?: {[rowId: Id]: ` +
457
+ getFieldTypeList(
458
+ ...mapCellSchema(
459
+ tableId,
460
+ (cellId, type, defaultValue) =>
461
+ `'${cellId}'${isUndefined(defaultValue) ? '?' : EMPTY_STRING}: ${type}`,
462
+ ),
463
+ ) +
464
+ '}',
465
+ ),
466
+ ),
467
+ getTheContentOfTheStoreDoc(1, 5),
468
+ );
469
+ const tablesWhenSetType = addType(
470
+ TABLES + WHEN_SET,
471
+ getFieldTypeList(
472
+ ...mapTablesSchema(
473
+ (tableId) =>
474
+ `'${tableId}'?: {[rowId: Id]: ` +
475
+ getFieldTypeList(
476
+ ...mapCellSchema(
477
+ tableId,
478
+ (cellId, type) => `'${cellId}'?: ${type}`,
479
+ ),
480
+ ) +
481
+ '}',
482
+ ),
483
+ ),
484
+ getTheContentOfTheStoreDoc(1, 5, 1),
485
+ );
486
+ const tableIdType = addType(
487
+ TABLE + ID,
488
+ 'keyof ' + tablesType,
489
+ 'A ' + TABLE + ' Id in ' + THE_STORE,
490
+ );
491
+ const tIdGeneric = `<TId extends ${tableIdType}>`;
492
+ const tableType = addType(
493
+ TABLE,
494
+ NON_NULLABLE + `<${tablesType}[TId]>`,
495
+ 'A ' + TABLE + ' in ' + THE_STORE,
496
+ tIdGeneric,
497
+ );
498
+ const tableWhenSetType = addType(
499
+ TABLE + WHEN_SET,
500
+ NON_NULLABLE + `<${tablesWhenSetType}[TId]>`,
501
+ 'A ' + TABLE + ' in ' + THE_STORE + WHEN_SETTING_IT,
502
+ tIdGeneric,
503
+ );
504
+ const rowType = addType(
505
+ ROW,
506
+ tableType + '<TId>[Id]',
507
+ 'A ' + ROW + ' in a ' + TABLE,
508
+ tIdGeneric,
509
+ );
510
+ const rowWhenSetType = addType(
511
+ ROW + WHEN_SET,
512
+ tableWhenSetType + '<TId>[Id]',
513
+ 'A ' + ROW + ' in a ' + TABLE + WHEN_SETTING_IT,
514
+ tIdGeneric,
515
+ );
516
+ const cellIdType = addType(
517
+ CELL + ID,
518
+ `Extract<keyof ${rowType}<TId>, Id>`,
519
+ 'A ' + CELL + ' Id in a ' + ROW,
520
+ tIdGeneric,
521
+ );
522
+ const cellType = addType(
523
+ CELL,
524
+ NON_NULLABLE + `<${tablesType}[TId]>[Id][CId]`,
525
+ 'A ' + CELL + ' in a ' + ROW,
526
+ `<TId extends ${tableIdType}, CId extends ${cellIdType}<TId>>`,
527
+ );
528
+ const cellIdCellArrayType = addType(
529
+ 'CellIdCellArray',
530
+ `CId extends ${cellIdType}<TId> ? [cellId: CId, cell: ${cellType}<TId, CId>] : never`,
531
+ CELL + ' Ids and types in a ' + ROW,
532
+ `<TId extends ${tableIdType}, CId = ${cellIdType}<TId>>`,
533
+ 0,
534
+ );
535
+ const cellCallbackType = addType(
536
+ CELL + CALLBACK,
537
+ `(...[cellId, cell]: ${cellIdCellArrayType}<TId>)` + RETURNS_VOID,
538
+ getCallbackDoc(A + CELL + ' Id, and ' + CELL),
539
+ tIdGeneric,
540
+ );
541
+ const rowCallbackType = addType(
542
+ ROW + CALLBACK,
543
+ '(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) ' +
544
+ RETURNS_VOID +
545
+ ') ' +
546
+ RETURNS_VOID,
547
+ getCallbackDoc(A + ROW + ' Id, and a ' + CELL + ' iterator'),
548
+ tIdGeneric,
549
+ );
550
+ const tableCellCallbackType = addType(
551
+ TABLE + CELL + CALLBACK,
552
+ `(cellId: ${cellIdType}<TId>, count: number) ` + RETURNS_VOID,
553
+ getCallbackDoc(A + CELL + ' Id, and count of how many times it appears'),
554
+ tIdGeneric,
555
+ );
556
+ const tableIdForEachRowArrayType = addType(
557
+ 'TableIdForEachRowArray',
558
+ `TId extends ${tableIdType} ? [tableId: TId, forEachRow: (rowCallback: ${rowCallbackType}<TId>)${RETURNS_VOID}] : never`,
559
+ TABLE + ' Ids and callback types',
560
+ `<TId = ${tableIdType}>`,
561
+ 0,
562
+ );
563
+ const tableCallbackType = addType(
564
+ TABLE + CALLBACK,
565
+ `(...[tableId, forEachRow]: ${tableIdForEachRowArrayType})` +
566
+ RETURNS_VOID,
567
+ getCallbackDoc(A + TABLE + ' Id, and a ' + ROW + ' iterator'),
568
+ EMPTY_STRING,
569
+ );
570
+ const tableIdRowIdCellIdArrayType = addType(
571
+ 'TableIdRowIdCellIdArray',
572
+ `TId extends ${tableIdType} ? [tableId: TId, rowId: Id, cellId: ${cellIdType}<TId>] : never`,
573
+ 'Ids for GetCellChange',
574
+ `<TId = ${tableIdType}>`,
575
+ 0,
576
+ );
577
+ const getCellChangeType = addType(
578
+ 'GetCellChange',
579
+ `(...[tableId, rowId, cellId]: ${tableIdRowIdCellIdArrayType}) => CellChange`,
580
+ A_FUNCTION_FOR +
581
+ ` returning information about any Cell's changes during a ` +
582
+ TRANSACTION_,
583
+ );
584
+ const hasTablesListenerType = addType(
585
+ HAS + TABLES + LISTENER,
586
+ `(${storeParam}, hasTables: boolean)` + RETURNS_VOID,
587
+ getListenerTypeDoc(1, 0, 1),
588
+ );
589
+ const tablesListenerType = addType(
590
+ TABLES + LISTENER,
591
+ `(${storeParam}, getCellChange: ${getCellChangeType}${OR_UNDEFINED})` +
592
+ RETURNS_VOID,
593
+ getListenerTypeDoc(1),
594
+ );
595
+ const tableIdsListenerType = addType(
596
+ TABLE_IDS + LISTENER,
597
+ `(${storeParam})` + RETURNS_VOID,
598
+ getListenerTypeDoc(2),
599
+ );
600
+ const hasTableListenerType = addType(
601
+ HAS + TABLE + LISTENER,
602
+ `(${storeParam}, tableId: ${tableIdType}, hasTable: boolean)` +
603
+ RETURNS_VOID,
604
+ getListenerTypeDoc(3, 0, 1),
605
+ );
606
+ const tableListenerType = addType(
607
+ TABLE + LISTENER,
608
+ `(${storeParam}, tableId: ${tableIdType}, getCellChange: ${getCellChangeType}${OR_UNDEFINED})` +
609
+ RETURNS_VOID,
610
+ getListenerTypeDoc(3),
611
+ );
612
+ const tableCellIdsListenerType = addType(
613
+ TABLE + CELL_IDS + LISTENER,
614
+ `(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
615
+ getListenerTypeDoc(14, 3),
616
+ );
617
+ const hasTableCellListenerArgsArrayInnerType = addType(
618
+ 'HasTableCellListenerArgsArrayInner',
619
+ `CId extends ${cellIdType}<TId> ? [${storeParam}, tableId: TId, cellId: CId, hasTableCell: boolean] : never`,
620
+ 'Cell args for HasTableCellListener',
621
+ `<TId extends ${tableIdType}, CId = ${cellIdType}<TId>>`,
622
+ 0,
623
+ );
624
+ const hasTableCellListenerArgsArrayOuterType = addType(
625
+ 'HasTableCellListenerArgsArrayOuter',
626
+ `TId extends ${tableIdType} ? ` +
627
+ hasTableCellListenerArgsArrayInnerType +
628
+ '<TId> : never',
629
+ 'Table args for HasTableCellListener',
630
+ `<TId = ${tableIdType}>`,
631
+ 0,
632
+ );
633
+ const hasTableCellListenerType = addType(
634
+ HAS + TABLE + CELL + LISTENER,
635
+ `(...[${storeInstance}, tableId, cellId, hasTableCell]: ` +
636
+ hasTableCellListenerArgsArrayOuterType +
637
+ ')' +
638
+ RETURNS_VOID,
639
+ getListenerTypeDoc(16, 3, 1),
640
+ );
641
+ const rowCountListenerType = addType(
642
+ ROW + 'Count' + LISTENER,
643
+ `(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
644
+ getListenerTypeDoc(15, 3),
645
+ );
646
+ const rowIdsListenerType = addType(
647
+ ROW_IDS + LISTENER,
648
+ `(${storeParam}, tableId: ${tableIdType})` + RETURNS_VOID,
649
+ getListenerTypeDoc(4, 3),
650
+ );
651
+ const sortedRowIdsListenerType = addType(
652
+ SORTED_ROW_IDS + LISTENER,
653
+ '(' +
654
+ getParameterList(
655
+ storeParam,
656
+ 'tableId: ' + tableIdType,
657
+ 'cellId: Id' + OR_UNDEFINED,
658
+ 'descending: boolean',
659
+ 'offset: number',
660
+ 'limit: number' + OR_UNDEFINED,
661
+ 'sortedRowIds: Ids',
662
+ ) +
663
+ ')' +
664
+ RETURNS_VOID,
665
+ getListenerTypeDoc(13, 3),
666
+ );
667
+ const hasRowListenerType = addType(
668
+ HAS + ROW + LISTENER,
669
+ '(' +
670
+ getParameterList(
671
+ `${storeParam}`,
672
+ 'tableId: ' + tableIdType,
673
+ ROW_ID_PARAM,
674
+ `hasRow: boolean`,
675
+ ) +
676
+ ')' +
677
+ RETURNS_VOID,
678
+ getListenerTypeDoc(5, 3, 1),
679
+ );
680
+ const rowListenerType = addType(
681
+ ROW + LISTENER,
682
+ '(' +
683
+ getParameterList(
684
+ `${storeParam}`,
685
+ 'tableId: ' + tableIdType,
686
+ ROW_ID_PARAM,
687
+ `getCellChange: ${getCellChangeType}${OR_UNDEFINED}`,
688
+ ) +
689
+ ')' +
690
+ RETURNS_VOID,
691
+ getListenerTypeDoc(5, 3),
692
+ );
693
+ const cellIdsListenerType = addType(
694
+ CELL_IDS + LISTENER,
695
+ '(' +
696
+ getParameterList(
697
+ `${storeParam}`,
698
+ 'tableId: ' + tableIdType,
699
+ ROW_ID_PARAM,
700
+ ) +
701
+ ')' +
702
+ RETURNS_VOID,
703
+ getListenerTypeDoc(6, 5),
704
+ );
705
+ const hasCellListenerArgsArrayInnerType = addType(
706
+ 'HasCellListenerArgsArrayInner',
707
+ `CId extends ${cellIdType}<TId> ? [${storeParam}, tableId: TId, ${ROW_ID_PARAM}, cellId: CId, hasCell: boolean] : never`,
708
+ 'Cell args for HasCellListener',
709
+ `<TId extends ${tableIdType}, CId = ${cellIdType}<TId>>`,
710
+ 0,
711
+ );
712
+ const hasCellListenerArgsArrayOuterType = addType(
713
+ 'HasCellListenerArgsArrayOuter',
714
+ `TId extends ${tableIdType} ? ` +
715
+ hasCellListenerArgsArrayInnerType +
716
+ '<TId> : never',
717
+ 'Table args for HasCellListener',
718
+ `<TId = ${tableIdType}>`,
719
+ 0,
720
+ );
721
+ const hasCellListenerType = addType(
722
+ HAS + CELL + LISTENER,
723
+ `(...[${storeInstance}, tableId, rowId, cellId, hasCell]: ` +
724
+ hasCellListenerArgsArrayOuterType +
725
+ ')' +
726
+ RETURNS_VOID,
727
+ getListenerTypeDoc(7, 5, 1),
728
+ );
729
+ const cellListenerArgsArrayInnerType = addType(
730
+ 'CellListenerArgsArrayInner',
731
+ `CId extends ${cellIdType}<TId> ? [${storeParam}, tableId: TId, ${ROW_ID_PARAM}, cellId: CId, newCell: ${cellType}<TId, CId> ${OR_UNDEFINED}, oldCell: ${cellType}<TId, CId> ${OR_UNDEFINED}, getCellChange: ${getCellChangeType} ${OR_UNDEFINED}] : never`,
732
+ 'Cell args for CellListener',
733
+ `<TId extends ${tableIdType}, CId = ${cellIdType}<TId>>`,
734
+ 0,
735
+ );
736
+ const cellListenerArgsArrayOuterType = addType(
737
+ 'CellListenerArgsArrayOuter',
738
+ `TId extends ${tableIdType} ? ` +
739
+ cellListenerArgsArrayInnerType +
740
+ '<TId> : never',
741
+ 'Table args for CellListener',
742
+ `<TId = ${tableIdType}>`,
743
+ 0,
744
+ );
745
+ const cellListenerType = addType(
746
+ CELL + LISTENER,
747
+ `(...[${storeInstance}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${cellListenerArgsArrayOuterType})` +
748
+ RETURNS_VOID,
749
+ getListenerTypeDoc(7, 5),
750
+ );
751
+ const invalidCellListenerType = addType(
752
+ INVALID + CELL + LISTENER,
753
+ `(${storeParam}, tableId: Id, ${ROW_ID_PARAM}, cellId: Id, invalidCells: any[])` +
754
+ RETURNS_VOID,
755
+ getListenerTypeDoc(8),
756
+ );
757
+ return [
758
+ tablesType,
759
+ tablesWhenSetType,
760
+ tableIdType,
761
+ tableType,
762
+ tableWhenSetType,
763
+ rowType,
764
+ rowWhenSetType,
765
+ cellIdType,
766
+ cellType,
767
+ cellCallbackType,
768
+ rowCallbackType,
769
+ tableCellCallbackType,
770
+ tableCallbackType,
771
+ hasTablesListenerType,
772
+ tablesListenerType,
773
+ tableIdsListenerType,
774
+ hasTableListenerType,
775
+ tableListenerType,
776
+ tableCellIdsListenerType,
777
+ hasTableCellListenerType,
778
+ rowCountListenerType,
779
+ rowIdsListenerType,
780
+ sortedRowIdsListenerType,
781
+ hasRowListenerType,
782
+ rowListenerType,
783
+ cellIdsListenerType,
784
+ hasCellListenerType,
785
+ cellListenerType,
786
+ invalidCellListenerType,
787
+ ];
788
+ };
789
+ const getValuesTypes = (storeInstance, storeType) => {
790
+ const storeParam = storeInstance + ': ' + storeType;
791
+ const valuesType = addType(
792
+ VALUES,
793
+ getFieldTypeList(
794
+ ...mapValuesSchema(
795
+ (valueId, type, defaultValue) =>
796
+ `'${valueId}'${isUndefined(defaultValue) ? '?' : EMPTY_STRING}: ${type}`,
797
+ ),
798
+ ),
799
+ getTheContentOfTheStoreDoc(2, 5),
800
+ );
801
+ const valuesWhenSetType = addType(
802
+ VALUES + WHEN_SET,
803
+ getFieldTypeList(
804
+ ...mapValuesSchema((valueId, type) => `'${valueId}'?: ${type}`),
805
+ ),
806
+ getTheContentOfTheStoreDoc(2, 5, 1),
807
+ );
808
+ const valueIdType = addType(
809
+ VALUE + ID,
810
+ 'keyof ' + valuesType,
811
+ 'A ' + VALUE + ' Id in ' + THE_STORE,
812
+ );
813
+ const valueType = addType(
814
+ VALUE,
815
+ NON_NULLABLE + `<${valuesType}[VId]>`,
816
+ 'A ' + VALUE + ' Id in ' + THE_STORE,
817
+ `<VId extends ${valueIdType}>`,
818
+ );
819
+ const valueIdValueArrayType = addType(
820
+ 'ValueIdValueArray',
821
+ `VId extends ${valueIdType} ? [valueId: VId, value: ${valueType}<VId>] : never`,
822
+ VALUE + ' Ids and types in ' + THE_STORE,
823
+ `<VId = ${valueIdType}>`,
824
+ 0,
825
+ );
826
+ const valueCallbackType = addType(
827
+ VALUE + CALLBACK,
828
+ `(...[valueId, value]: ${valueIdValueArrayType})` + RETURNS_VOID,
829
+ getCallbackDoc(A + VALUE + ' Id, and ' + VALUE),
830
+ );
831
+ const getValueChangeType = addType(
832
+ 'GetValueChange',
833
+ `(valueId: ${valueIdType}) => ValueChange`,
834
+ A_FUNCTION_FOR +
835
+ ` returning information about any Value's changes during a ` +
836
+ TRANSACTION_,
837
+ );
838
+ const hasValuesListenerType = addType(
839
+ HAS + VALUES + LISTENER,
840
+ `(${storeParam}, hasValues: boolean)` + RETURNS_VOID,
841
+ getListenerTypeDoc(9, 0, 1),
842
+ );
843
+ const valuesListenerType = addType(
844
+ VALUES + LISTENER,
845
+ `(${storeParam}, getValueChange: ${getValueChangeType}${OR_UNDEFINED})` +
846
+ RETURNS_VOID,
847
+ getListenerTypeDoc(9),
848
+ );
849
+ const valueIdsListenerType = addType(
850
+ VALUE_IDS + LISTENER,
851
+ `(${storeParam})` + RETURNS_VOID,
852
+ getListenerTypeDoc(10),
853
+ );
854
+ const hasValueListenerType = addType(
855
+ HAS + VALUE + LISTENER,
856
+ `(${storeParam}, valueId: ValueId, hasValue: boolean)` + RETURNS_VOID,
857
+ getListenerTypeDoc(11, 0, 1),
858
+ );
859
+ const valueListenerArgsArrayType = addType(
860
+ 'ValueListenerArgsArray',
861
+ `VId extends ${valueIdType} ? [${storeParam}, valueId: VId, newValue: ${valueType}<VId> ${OR_UNDEFINED}, oldValue: ${valueType}<VId> ${OR_UNDEFINED}, getValueChange: ${getValueChangeType} ${OR_UNDEFINED}] : never`,
862
+ 'Value args for ValueListener',
863
+ `<VId = ${valueIdType}>`,
864
+ 0,
865
+ );
866
+ const valueListenerType = addType(
867
+ VALUE + LISTENER,
868
+ `(...[${storeInstance}, valueId, newValue, oldValue, getValueChange]: ` +
869
+ valueListenerArgsArrayType +
870
+ ')' +
871
+ RETURNS_VOID,
872
+ getListenerTypeDoc(11),
873
+ );
874
+ const invalidValueListenerType = addType(
875
+ INVALID + VALUE + LISTENER,
876
+ `(${storeParam}, valueId: Id, invalidValues: any[])` + RETURNS_VOID,
877
+ getListenerTypeDoc(12),
878
+ );
879
+ return [
880
+ valuesType,
881
+ valuesWhenSetType,
882
+ valueIdType,
883
+ valueType,
884
+ valueCallbackType,
885
+ hasValuesListenerType,
886
+ valuesListenerType,
887
+ valueIdsListenerType,
888
+ hasValueListenerType,
889
+ valueListenerType,
890
+ invalidValueListenerType,
891
+ ];
892
+ };
893
+ const getTransactionListenerType = (storeInstance, storeType) =>
894
+ addType(
895
+ TRANSACTION + LISTENER,
896
+ `(${storeInstance}: ${storeType})` + RETURNS_VOID,
897
+ A_FUNCTION_FOR + ' listening to the completion of a ' + TRANSACTION_,
898
+ );
899
+ return [getTablesTypes, getValuesTypes, getTransactionListenerType];
900
+ };
901
+
902
+ const storeMethod = (method, parameters = EMPTY_STRING, cast = EMPTY_STRING) =>
903
+ `store.${method}(${parameters})` + (cast ? ' as ' + cast : EMPTY_STRING);
904
+ const fluentStoreMethod = (method, parameters = EMPTY_STRING) =>
905
+ `fluent(() => ${storeMethod(method, parameters)})`;
906
+ const storeListener = (
907
+ method,
908
+ beforeParameters = EMPTY_STRING,
909
+ afterParameters = EMPTY_STRING,
910
+ ) =>
911
+ `store.${method}(${beforeParameters ? beforeParameters + ', ' : EMPTY_STRING}proxy(listener)${afterParameters ? ', ' + afterParameters : EMPTY_STRING})`;
912
+ const getStoreCoreApi = (tablesSchema, valuesSchema, module) => {
913
+ const [
914
+ build,
915
+ addImport,
916
+ addType,
917
+ addInternalFunction,
918
+ addConstant,
919
+ getImports,
920
+ getTypes,
921
+ getConstants,
922
+ ] = getCodeFunctions();
923
+ const [mapTablesSchema, mapCellSchema, mapValuesSchema] = getSchemaFunctions(
924
+ tablesSchema,
925
+ valuesSchema,
926
+ addConstant,
927
+ );
928
+ const [getTablesTypes, getValuesTypes, getTransactionListenerType] =
929
+ getTypeFunctions(addType, mapTablesSchema, mapCellSchema, mapValuesSchema);
930
+ const methods = mapNew();
931
+ const getMethods = (location = 0) =>
932
+ mapMap(methods, ([parameters, returnType, body, doc, generic], name) => {
933
+ const lines = location
934
+ ? [name + `: ${generic}(${parameters}): ${returnType} => ${body},`]
935
+ : [name + generic + `(${parameters}): ${returnType};`];
936
+ if (!location) {
937
+ arrayUnshift(lines, comment(doc));
938
+ }
939
+ arrayPush(lines, EMPTY_STRING);
940
+ return lines;
941
+ });
942
+ const addMethod = (
943
+ name,
944
+ parameters,
945
+ returnType,
946
+ body,
947
+ doc,
948
+ generic = EMPTY_STRING,
949
+ ) => mapUnique(methods, name, [parameters, returnType, body, doc, generic]);
950
+ const addProxyMethod = (
951
+ prefixVerb,
952
+ prefix,
953
+ underlyingName,
954
+ returnType,
955
+ doc,
956
+ params = EMPTY_STRING,
957
+ paramsInCall = EMPTY_STRING,
958
+ generic = EMPTY_STRING,
959
+ ) =>
960
+ addMethod(
961
+ METHOD_PREFIX_VERBS[prefixVerb] +
962
+ prefix +
963
+ (prefixVerb == 4 ? PARTIAL : EMPTY_STRING) +
964
+ underlyingName,
965
+ params,
966
+ returnType,
967
+ (returnType == storeType ? fluentStoreMethod : storeMethod)(
968
+ METHOD_PREFIX_VERBS[prefixVerb] +
969
+ (prefixVerb == 4 ? PARTIAL : EMPTY_STRING) +
970
+ underlyingName,
971
+ paramsInCall,
972
+ prefixVerb ? void 0 : returnType,
973
+ ),
974
+ doc,
975
+ generic,
976
+ );
977
+ const addProxyListener = (
978
+ underlyingName,
979
+ listenerType,
980
+ doc,
981
+ params = EMPTY_STRING,
982
+ paramsInCall = EMPTY_STRING,
983
+ mutator = 1,
984
+ generic = EMPTY_STRING,
985
+ ) =>
986
+ addMethod(
987
+ ADD + underlyingName + LISTENER,
988
+ (params ? params + ', ' : EMPTY_STRING) +
989
+ LISTENER_ +
990
+ ': ' +
991
+ listenerType +
992
+ (mutator ? ', mutator?: boolean' : EMPTY_STRING),
993
+ ID,
994
+ storeListener(
995
+ ADD + underlyingName + LISTENER,
996
+ paramsInCall,
997
+ mutator ? 'mutator' : EMPTY_STRING,
998
+ ),
999
+ doc,
1000
+ generic,
1001
+ );
1002
+ const moduleDefinition = `./${camel(module)}.d`;
1003
+ const storeType = camel(module, 1);
1004
+ const storeInstance = camel(storeType);
1005
+ const createSteps = [];
1006
+ const mapCellOrValueTypes = mapNew();
1007
+ let sharedTableTypes = [];
1008
+ let sharedValueTypes = [];
1009
+ addImport(
1010
+ 1,
1011
+ moduleDefinition,
1012
+ storeType,
1013
+ `create${storeType} as create${storeType}Decl`,
1014
+ );
1015
+ if (!objIsEmpty(tablesSchema)) {
1016
+ addImport(0, TINYBASE, 'CellChange');
1017
+ addImport(null, TINYBASE, IDS);
1018
+ const [
1019
+ tablesType,
1020
+ tablesWhenSetType,
1021
+ tableIdType,
1022
+ tableType,
1023
+ tableWhenSetType,
1024
+ rowType,
1025
+ rowWhenSetType,
1026
+ cellIdType,
1027
+ _cellType,
1028
+ cellCallbackType,
1029
+ rowCallbackType,
1030
+ tableCellCallbackType,
1031
+ tableCallbackType,
1032
+ hasTablesListenerType,
1033
+ tablesListenerType,
1034
+ tableIdsListenerType,
1035
+ hasTableListenerType,
1036
+ tableListenerType,
1037
+ tableCellIdsListenerType,
1038
+ hasTableCellListenerType,
1039
+ rowCountListenerType,
1040
+ rowIdsListenerType,
1041
+ sortedRowIdsListenerType,
1042
+ hasRowListenerType,
1043
+ rowListenerType,
1044
+ cellIdsListenerType,
1045
+ hasCellListenerType,
1046
+ cellListenerType,
1047
+ invalidCellListenerType,
1048
+ ] = getTablesTypes(storeInstance, storeType);
1049
+ const tablesTypes = mapNew();
1050
+ mapTablesSchema((tableId, tableName) => {
1051
+ const tableIdGeneric = `<'${tableId}'>`;
1052
+ const tableTypes = [
1053
+ // Table
1054
+ addType(
1055
+ tableName + TABLE,
1056
+ tableType + tableIdGeneric,
1057
+ REPRESENTS + ` the '${tableId}' ` + TABLE,
1058
+ ),
1059
+ // TableWhenSet
1060
+ addType(
1061
+ tableName + TABLE + WHEN_SET,
1062
+ tableWhenSetType + tableIdGeneric,
1063
+ REPRESENTS + ` the '${tableId}' ` + TABLE + WHEN_SETTING_IT,
1064
+ ),
1065
+ // Row
1066
+ addType(
1067
+ tableName + ROW,
1068
+ rowType + tableIdGeneric,
1069
+ getRowTypeDoc(tableId),
1070
+ ),
1071
+ // RowWhenSet
1072
+ addType(
1073
+ tableName + ROW + WHEN_SET,
1074
+ rowWhenSetType + tableIdGeneric,
1075
+ getRowTypeDoc(tableId, 1),
1076
+ ),
1077
+ // CellId
1078
+ addType(
1079
+ tableName + CELL + ID,
1080
+ cellIdType + tableIdGeneric,
1081
+ `A Cell Id for the '${tableId}' ` + TABLE,
1082
+ ),
1083
+ // CellCallback
1084
+ addType(
1085
+ tableName + CELL + CALLBACK,
1086
+ cellCallbackType + tableIdGeneric,
1087
+ getCallbackDoc(
1088
+ `a Cell Id and value from a Row in the '${tableId}' ` + TABLE,
1089
+ ),
1090
+ ),
1091
+ // RowCallback
1092
+ addType(
1093
+ tableName + ROW + CALLBACK,
1094
+ rowCallbackType + tableIdGeneric,
1095
+ getCallbackDoc(
1096
+ `a Row Id from the '${tableId}' Table, and a Cell iterator`,
1097
+ ),
1098
+ ),
1099
+ // TableCellCallbackType
1100
+ addType(
1101
+ tableName + TABLE + CELL + CALLBACK,
1102
+ tableCellCallbackType + tableIdGeneric,
1103
+ getCallbackDoc(
1104
+ `a Cell Id from anywhere in the '${tableId}' Table, and a count of how many times it appears`,
1105
+ ),
1106
+ ),
1107
+ ];
1108
+ mapSet(tablesTypes, tableId, tableTypes);
1109
+ addImport(1, moduleDefinition, ...tableTypes);
1110
+ });
1111
+ addImport(
1112
+ 1,
1113
+ moduleDefinition,
1114
+ tablesType,
1115
+ tablesWhenSetType,
1116
+ tableIdType,
1117
+ cellIdType,
1118
+ tableCallbackType,
1119
+ hasTablesListenerType,
1120
+ tablesListenerType,
1121
+ tableIdsListenerType,
1122
+ hasTableListenerType,
1123
+ tableListenerType,
1124
+ tableCellIdsListenerType,
1125
+ hasTableCellListenerType,
1126
+ rowCountListenerType,
1127
+ rowIdsListenerType,
1128
+ sortedRowIdsListenerType,
1129
+ hasRowListenerType,
1130
+ rowListenerType,
1131
+ cellIdsListenerType,
1132
+ hasCellListenerType,
1133
+ cellListenerType,
1134
+ invalidCellListenerType,
1135
+ );
1136
+ sharedTableTypes = [
1137
+ tablesType,
1138
+ tablesWhenSetType,
1139
+ tableIdType,
1140
+ cellIdType,
1141
+ hasTablesListenerType,
1142
+ tablesListenerType,
1143
+ tableIdsListenerType,
1144
+ hasTableListenerType,
1145
+ tableListenerType,
1146
+ tableCellIdsListenerType,
1147
+ hasTableCellListenerType,
1148
+ rowCountListenerType,
1149
+ rowIdsListenerType,
1150
+ sortedRowIdsListenerType,
1151
+ hasRowListenerType,
1152
+ rowListenerType,
1153
+ cellIdsListenerType,
1154
+ hasCellListenerType,
1155
+ cellListenerType,
1156
+ tablesTypes,
1157
+ ];
1158
+ arrayForEach(
1159
+ [
1160
+ [tablesType],
1161
+ [BOOLEAN],
1162
+ [storeType, 'tables: ' + tablesWhenSetType, 'tables'],
1163
+ [storeType],
1164
+ ],
1165
+ ([returnType, params, paramsInCall], verb) =>
1166
+ addProxyMethod(
1167
+ verb,
1168
+ EMPTY_STRING,
1169
+ TABLES,
1170
+ returnType,
1171
+ getTheContentOfTheStoreDoc(1, verb),
1172
+ params,
1173
+ paramsInCall,
1174
+ ),
1175
+ );
1176
+ addProxyMethod(
1177
+ 0,
1178
+ EMPTY_STRING,
1179
+ TABLE_IDS,
1180
+ tableIdType + SQUARE_BRACKETS,
1181
+ getIdsDoc(TABLE, THE_STORE),
1182
+ );
1183
+ addProxyMethod(
1184
+ 5,
1185
+ EMPTY_STRING,
1186
+ TABLE,
1187
+ VOID,
1188
+ getForEachDoc(TABLE, THE_STORE),
1189
+ 'tableCallback: ' + tableCallbackType,
1190
+ 'tableCallback as any',
1191
+ );
1192
+ mapTablesSchema((tableId, tableName, TABLE_ID) => {
1193
+ const [
1194
+ tableType2,
1195
+ tableWhenSetType2,
1196
+ rowType2,
1197
+ rowWhenSetType2,
1198
+ cellIdType2,
1199
+ cellCallbackType2,
1200
+ rowCallbackType2,
1201
+ tableCellCallbackType2,
1202
+ ] = mapGet(tablesTypes, tableId);
1203
+ arrayForEach(
1204
+ [
1205
+ [tableType2],
1206
+ [BOOLEAN],
1207
+ [storeType, 'table: ' + tableWhenSetType2, ', table'],
1208
+ [storeType],
1209
+ ],
1210
+ ([returnType, params, paramsInCall = EMPTY_STRING], verb) =>
1211
+ addProxyMethod(
1212
+ verb,
1213
+ tableName,
1214
+ TABLE,
1215
+ returnType,
1216
+ getTableContentDoc(tableId, verb),
1217
+ params,
1218
+ TABLE_ID + paramsInCall,
1219
+ ),
1220
+ );
1221
+ addProxyMethod(
1222
+ 0,
1223
+ tableName,
1224
+ TABLE + CELL_IDS,
1225
+ IDS,
1226
+ getIdsDoc(CELL, 'the whole of ' + getTableDoc(tableId)),
1227
+ EMPTY_STRING,
1228
+ TABLE_ID,
1229
+ );
1230
+ addProxyMethod(
1231
+ 5,
1232
+ tableName,
1233
+ TABLE + CELL,
1234
+ VOID,
1235
+ getForEachDoc(TABLE + CELL, 'the whole of ' + getTableDoc(tableId)),
1236
+ 'tableCellCallback: ' + tableCellCallbackType2,
1237
+ TABLE_ID + ', tableCellCallback as any',
1238
+ );
1239
+ addProxyMethod(
1240
+ 0,
1241
+ tableName,
1242
+ ROW + COUNT,
1243
+ 'number',
1244
+ 'Gets the number of Rows in the ' + getTableDoc(tableId),
1245
+ EMPTY_STRING,
1246
+ TABLE_ID,
1247
+ );
1248
+ addProxyMethod(
1249
+ 0,
1250
+ tableName,
1251
+ ROW_IDS,
1252
+ IDS,
1253
+ getIdsDoc(ROW, getTableDoc(tableId)),
1254
+ EMPTY_STRING,
1255
+ TABLE_ID,
1256
+ );
1257
+ addProxyMethod(
1258
+ 0,
1259
+ tableName,
1260
+ SORTED_ROW_IDS,
1261
+ IDS,
1262
+ getIdsDoc(ROW, getTableDoc(tableId), 1),
1263
+ 'cellId?: ' + cellIdType2 + SORTED_ARGS,
1264
+ TABLE_ID + ', cellId, descending, offset, limit',
1265
+ );
1266
+ addProxyMethod(
1267
+ 5,
1268
+ tableName,
1269
+ ROW,
1270
+ VOID,
1271
+ getForEachDoc(ROW, getTableDoc(tableId)),
1272
+ 'rowCallback: ' + rowCallbackType2,
1273
+ TABLE_ID + ', rowCallback as any',
1274
+ );
1275
+ arrayForEach(
1276
+ [
1277
+ [rowType2],
1278
+ [BOOLEAN],
1279
+ [storeType, ', row: ' + rowWhenSetType2, ', row'],
1280
+ [storeType],
1281
+ [storeType, ', partialRow: ' + rowWhenSetType2, ', partialRow'],
1282
+ ],
1283
+ (
1284
+ [returnType, params = EMPTY_STRING, paramsInCall = EMPTY_STRING],
1285
+ verb,
1286
+ ) =>
1287
+ addProxyMethod(
1288
+ verb,
1289
+ tableName,
1290
+ ROW,
1291
+ returnType,
1292
+ getRowContentDoc(tableId, verb),
1293
+ ROW_ID_PARAM + params,
1294
+ TABLE_ID + ', rowId' + paramsInCall,
1295
+ ),
1296
+ );
1297
+ addProxyMethod(
1298
+ 6,
1299
+ tableName,
1300
+ ROW,
1301
+ ID + OR_UNDEFINED,
1302
+ 'Add a new Row to ' + getTableDoc(tableId),
1303
+ 'row: ' + rowWhenSetType2 + ', reuseIds?: boolean',
1304
+ TABLE_ID + ', row, reuseIds',
1305
+ );
1306
+ addProxyMethod(
1307
+ 0,
1308
+ tableName,
1309
+ CELL_IDS,
1310
+ cellIdType2 + SQUARE_BRACKETS,
1311
+ getIdsDoc(CELL, getRowDoc(tableId)),
1312
+ ROW_ID_PARAM,
1313
+ TABLE_ID + ', rowId',
1314
+ );
1315
+ addProxyMethod(
1316
+ 5,
1317
+ tableName,
1318
+ CELL,
1319
+ VOID,
1320
+ getForEachDoc(CELL, getRowDoc(tableId)),
1321
+ ROW_ID_PARAM + ', cellCallback: ' + cellCallbackType2,
1322
+ TABLE_ID + ', rowId, cellCallback as any',
1323
+ );
1324
+ mapCellSchema(
1325
+ tableId,
1326
+ (cellId, type, defaultValue, CELL_ID, cellName) => {
1327
+ const mapCellType = 'Map' + camel(type, 1);
1328
+ mapSet(mapCellOrValueTypes, type, mapCellType);
1329
+ const returnCellType =
1330
+ type + (isUndefined(defaultValue) ? OR_UNDEFINED : EMPTY_STRING);
1331
+ arrayForEach(
1332
+ [
1333
+ [returnCellType],
1334
+ [BOOLEAN],
1335
+ [storeType, `, cell: ${type} | ` + mapCellType, ', cell as any'],
1336
+ [storeType],
1337
+ ],
1338
+ (
1339
+ [returnType, params = EMPTY_STRING, paramsInCall = EMPTY_STRING],
1340
+ verb,
1341
+ ) =>
1342
+ addProxyMethod(
1343
+ verb,
1344
+ tableName + cellName,
1345
+ CELL,
1346
+ returnType,
1347
+ getCellContentDoc(tableId, cellId, verb),
1348
+ ROW_ID_PARAM + params,
1349
+ TABLE_ID + ', rowId, ' + CELL_ID + paramsInCall,
1350
+ ),
1351
+ );
1352
+ addProxyMethod(
1353
+ 1,
1354
+ tableName + cellName,
1355
+ TABLE + CELL,
1356
+ BOOLEAN,
1357
+ VERBS[1] +
1358
+ ` the '${cellId}' Cell anywhere in ` +
1359
+ getTableDoc(tableId),
1360
+ EMPTY_STRING,
1361
+ TABLE_ID + ', ' + CELL_ID,
1362
+ );
1363
+ },
1364
+ );
1365
+ });
1366
+ addProxyMethod(
1367
+ 0,
1368
+ EMPTY_STRING,
1369
+ TABLES + JSON$1,
1370
+ JSON$1,
1371
+ getTheContentOfTheStoreDoc(1, 6),
1372
+ );
1373
+ addProxyMethod(
1374
+ 2,
1375
+ EMPTY_STRING,
1376
+ TABLES + JSON$1,
1377
+ storeType,
1378
+ getTheContentOfTheStoreDoc(1, 7),
1379
+ 'tablesJson: ' + JSON$1,
1380
+ 'tables' + JSON$1,
1381
+ );
1382
+ addProxyListener(
1383
+ HAS + TABLES,
1384
+ hasTablesListenerType,
1385
+ getTheContentOfTheStoreDoc(1, 8, 0, 1) + ' changes',
1386
+ );
1387
+ addProxyListener(
1388
+ TABLES,
1389
+ tablesListenerType,
1390
+ getTheContentOfTheStoreDoc(1, 8) + ' changes',
1391
+ );
1392
+ addProxyListener(TABLE_IDS, tableIdsListenerType, getListenerDoc(2, 0, 1));
1393
+ addProxyListener(
1394
+ HAS + TABLE,
1395
+ hasTableListenerType,
1396
+ getListenerDoc(3, 0, 0, 1),
1397
+ `tableId: ${tableIdType} | null`,
1398
+ 'tableId',
1399
+ );
1400
+ addProxyListener(
1401
+ TABLE,
1402
+ tableListenerType,
1403
+ getListenerDoc(3, 0),
1404
+ `tableId: ${tableIdType} | null`,
1405
+ 'tableId',
1406
+ );
1407
+ addProxyListener(
1408
+ TABLE + CELL_IDS,
1409
+ tableCellIdsListenerType,
1410
+ getListenerDoc(14, 3, 1),
1411
+ `tableId: ${tableIdType} | null`,
1412
+ 'tableId',
1413
+ );
1414
+ addProxyListener(
1415
+ HAS + TABLE + CELL,
1416
+ hasTableCellListenerType,
1417
+ getListenerDoc(16, 3, 0, 1),
1418
+ `tableId: ${tableIdType} | null, cellId: ${arrayJoin(
1419
+ mapTablesSchema(
1420
+ (tableId) => mapGet(tablesTypes, tableId)?.[4] ?? EMPTY_STRING,
1421
+ ),
1422
+ ' | ',
1423
+ )} | null`,
1424
+ 'tableId, cellId',
1425
+ );
1426
+ addProxyListener(
1427
+ ROW + COUNT,
1428
+ rowCountListenerType,
1429
+ getListenerDoc(15, 3),
1430
+ `tableId: ${tableIdType} | null`,
1431
+ 'tableId',
1432
+ );
1433
+ addProxyListener(
1434
+ ROW_IDS,
1435
+ rowIdsListenerType,
1436
+ getListenerDoc(4, 3, 1),
1437
+ `tableId: ${tableIdType} | null`,
1438
+ 'tableId',
1439
+ );
1440
+ addProxyListener(
1441
+ SORTED_ROW_IDS,
1442
+ sortedRowIdsListenerType,
1443
+ getListenerDoc(13, 3, 1),
1444
+ getParameterList(
1445
+ 'tableId: TId',
1446
+ `cellId: ${cellIdType}<TId>` + OR_UNDEFINED,
1447
+ 'descending: boolean',
1448
+ 'offset: number',
1449
+ 'limit: number' + OR_UNDEFINED,
1450
+ ),
1451
+ getParameterList('tableId', 'cellId', 'descending', 'offset', 'limit'),
1452
+ 1,
1453
+ '<TId extends TableId>',
1454
+ );
1455
+ addProxyListener(
1456
+ HAS + ROW,
1457
+ hasRowListenerType,
1458
+ getListenerDoc(5, 3, 0, 1),
1459
+ `tableId: ${tableIdType} | null, rowId: IdOrNull`,
1460
+ 'tableId, rowId',
1461
+ );
1462
+ addProxyListener(
1463
+ ROW,
1464
+ rowListenerType,
1465
+ getListenerDoc(5, 3),
1466
+ `tableId: ${tableIdType} | null, rowId: IdOrNull`,
1467
+ 'tableId, rowId',
1468
+ );
1469
+ addProxyListener(
1470
+ CELL_IDS,
1471
+ cellIdsListenerType,
1472
+ getListenerDoc(6, 5, 1),
1473
+ `tableId: ${tableIdType} | null, rowId: IdOrNull`,
1474
+ 'tableId, rowId',
1475
+ );
1476
+ addProxyListener(
1477
+ HAS + CELL,
1478
+ hasCellListenerType,
1479
+ getListenerDoc(7, 5, 0, 1),
1480
+ `tableId: ${tableIdType} | null, rowId: IdOrNull, cellId: ${arrayJoin(
1481
+ mapTablesSchema(
1482
+ (tableId) => mapGet(tablesTypes, tableId)?.[4] ?? EMPTY_STRING,
1483
+ ),
1484
+ ' | ',
1485
+ )} | null`,
1486
+ 'tableId, rowId, cellId',
1487
+ );
1488
+ addProxyListener(
1489
+ CELL,
1490
+ cellListenerType,
1491
+ getListenerDoc(7, 5),
1492
+ `tableId: ${tableIdType} | null, rowId: IdOrNull, cellId: ${arrayJoin(
1493
+ mapTablesSchema(
1494
+ (tableId) => mapGet(tablesTypes, tableId)?.[4] ?? EMPTY_STRING,
1495
+ ),
1496
+ ' | ',
1497
+ )} | null`,
1498
+ 'tableId, rowId, cellId',
1499
+ );
1500
+ addProxyListener(
1501
+ INVALID + CELL,
1502
+ invalidCellListenerType,
1503
+ REGISTERS_A_LISTENER + ' whenever an invalid Cell change was attempted',
1504
+ `tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull`,
1505
+ 'tableId, rowId, cellId',
1506
+ );
1507
+ addImport(1, moduleDefinition, ...collValues(mapCellOrValueTypes));
1508
+ arrayPush(
1509
+ createSteps,
1510
+ '.set' + TABLES + SCHEMA + '({',
1511
+ flat(
1512
+ mapTablesSchema((tableId, _, TABLE_ID) => [
1513
+ `[${TABLE_ID}]: {`,
1514
+ ...mapCellSchema(
1515
+ tableId,
1516
+ (_2, type, defaultValue, CELL_ID) =>
1517
+ `[${CELL_ID}]: {[${addConstant(
1518
+ snake(TYPE),
1519
+ `'${TYPE}'`,
1520
+ )}]: ${addConstant(snake(type), `'${type}'`)}${isUndefined(defaultValue) ? EMPTY_STRING : `, [${addConstant(snake(DEFAULT), `'${DEFAULT}'`)}]: ` + (isString(defaultValue) ? addConstant(snake(defaultValue), `'${defaultValue}'`) : defaultValue)}},`,
1521
+ ),
1522
+ `},`,
1523
+ ]),
1524
+ ),
1525
+ '})',
1526
+ );
1527
+ } else {
1528
+ addImport(null, TINYBASE, TABLES);
1529
+ }
1530
+ if (!objIsEmpty(valuesSchema)) {
1531
+ const [
1532
+ valuesType,
1533
+ valuesWhenSetType,
1534
+ valueIdType,
1535
+ _valueType,
1536
+ valueCallbackType,
1537
+ hasValuesListenerType,
1538
+ valuesListenerType,
1539
+ valueIdsListenerType,
1540
+ hasValueListenerType,
1541
+ valueListenerType,
1542
+ invalidValueListenerType,
1543
+ ] = getValuesTypes(storeInstance, storeType);
1544
+ addImport(
1545
+ 1,
1546
+ moduleDefinition,
1547
+ valuesType,
1548
+ valuesWhenSetType,
1549
+ valueIdType,
1550
+ valueCallbackType,
1551
+ hasValuesListenerType,
1552
+ valuesListenerType,
1553
+ valueIdsListenerType,
1554
+ hasValueListenerType,
1555
+ valueListenerType,
1556
+ invalidValueListenerType,
1557
+ );
1558
+ sharedValueTypes = [
1559
+ valuesType,
1560
+ valuesWhenSetType,
1561
+ valueIdType,
1562
+ hasValuesListenerType,
1563
+ valuesListenerType,
1564
+ valueIdsListenerType,
1565
+ hasValueListenerType,
1566
+ valueListenerType,
1567
+ ];
1568
+ arrayForEach(
1569
+ [
1570
+ [valuesType],
1571
+ [BOOLEAN],
1572
+ [storeType, 'values: ' + valuesWhenSetType, 'values'],
1573
+ [storeType],
1574
+ [storeType, 'partialValues: ' + valuesWhenSetType, 'partialValues'],
1575
+ ],
1576
+ ([returnType, params, paramsInCall], verb) =>
1577
+ addProxyMethod(
1578
+ verb,
1579
+ EMPTY_STRING,
1580
+ VALUES,
1581
+ returnType,
1582
+ getTheContentOfTheStoreDoc(2, verb),
1583
+ params,
1584
+ paramsInCall,
1585
+ ),
1586
+ );
1587
+ addProxyMethod(
1588
+ 0,
1589
+ EMPTY_STRING,
1590
+ VALUE_IDS,
1591
+ valueIdType + SQUARE_BRACKETS,
1592
+ getIdsDoc(VALUE, THE_STORE),
1593
+ );
1594
+ addProxyMethod(
1595
+ 5,
1596
+ EMPTY_STRING,
1597
+ VALUE,
1598
+ `void`,
1599
+ getForEachDoc(VALUE, THE_STORE),
1600
+ `valueCallback: ${valueCallbackType}`,
1601
+ 'valueCallback as any',
1602
+ );
1603
+ mapValuesSchema((valueId, type, _, VALUE_ID, valueName) => {
1604
+ const mapValueType = 'Map' + camel(type, 1);
1605
+ mapSet(mapCellOrValueTypes, type, mapValueType);
1606
+ arrayForEach(
1607
+ [
1608
+ [type],
1609
+ [BOOLEAN],
1610
+ [storeType, `value: ${type} | ` + mapValueType, ', value as any'],
1611
+ [storeType],
1612
+ ],
1613
+ ([returnType, params, paramsInCall = EMPTY_STRING], verb) =>
1614
+ addProxyMethod(
1615
+ verb,
1616
+ valueName,
1617
+ VALUE,
1618
+ returnType,
1619
+ getValueContentDoc(valueId, verb),
1620
+ params,
1621
+ VALUE_ID + paramsInCall,
1622
+ ),
1623
+ );
1624
+ });
1625
+ addProxyMethod(
1626
+ 0,
1627
+ EMPTY_STRING,
1628
+ VALUES + JSON$1,
1629
+ JSON$1,
1630
+ getTheContentOfTheStoreDoc(2, 6),
1631
+ );
1632
+ addProxyMethod(
1633
+ 2,
1634
+ EMPTY_STRING,
1635
+ VALUES + JSON$1,
1636
+ storeType,
1637
+ getTheContentOfTheStoreDoc(2, 7),
1638
+ 'valuesJson: ' + JSON$1,
1639
+ 'values' + JSON$1,
1640
+ );
1641
+ addProxyListener(
1642
+ HAS + VALUES,
1643
+ hasValuesListenerType,
1644
+ getTheContentOfTheStoreDoc(2, 8, 0, 1) + ' changes',
1645
+ );
1646
+ addProxyListener(
1647
+ VALUES,
1648
+ valuesListenerType,
1649
+ getTheContentOfTheStoreDoc(2, 8) + ' changes',
1650
+ );
1651
+ addProxyListener(VALUE_IDS, valueIdsListenerType, getListenerDoc(10, 0, 1));
1652
+ addProxyListener(
1653
+ HAS + VALUE,
1654
+ hasValueListenerType,
1655
+ getListenerDoc(11, 0, 0, 1),
1656
+ `valueId: ${valueIdType} | null`,
1657
+ 'valueId',
1658
+ );
1659
+ addProxyListener(
1660
+ VALUE,
1661
+ valueListenerType,
1662
+ getListenerDoc(11, 0),
1663
+ `valueId: ${valueIdType} | null`,
1664
+ 'valueId',
1665
+ );
1666
+ addProxyListener(
1667
+ INVALID + VALUE,
1668
+ invalidValueListenerType,
1669
+ REGISTERS_A_LISTENER + ' whenever an invalid Value change was attempted',
1670
+ `valueId: IdOrNull`,
1671
+ 'valueId',
1672
+ );
1673
+ addImport(1, moduleDefinition, ...collValues(mapCellOrValueTypes));
1674
+ addImport(0, TINYBASE, 'ValueChange');
1675
+ arrayPush(
1676
+ createSteps,
1677
+ '.set' + VALUES + SCHEMA + '({',
1678
+ mapValuesSchema((_, type, defaultValue, VALUE_ID) => [
1679
+ `[${VALUE_ID}]: {[${addConstant(
1680
+ snake(TYPE),
1681
+ `'${TYPE}'`,
1682
+ )}]: ${addConstant(snake(type), `'${type}'`)}${isUndefined(defaultValue) ? EMPTY_STRING : `, [${addConstant(snake(DEFAULT), `'${DEFAULT}'`)}]: ` + (isString(defaultValue) ? addConstant(snake(defaultValue), `'${defaultValue}'`) : defaultValue)}},`,
1683
+ ]),
1684
+ '})',
1685
+ );
1686
+ } else {
1687
+ addImport(null, TINYBASE, VALUES);
1688
+ }
1689
+ addProxyMethod(
1690
+ 0,
1691
+ EMPTY_STRING,
1692
+ 'Content',
1693
+ `[${TABLES}, ${VALUES}]`,
1694
+ getTheContentOfTheStoreDoc(0, 0),
1695
+ );
1696
+ addProxyMethod(
1697
+ 2,
1698
+ EMPTY_STRING,
1699
+ 'Content',
1700
+ storeType,
1701
+ getTheContentOfTheStoreDoc(0, 2),
1702
+ `[tables, values]: [${TABLES}, ${VALUES}]`,
1703
+ '[tables, values]',
1704
+ );
1705
+ addProxyMethod(
1706
+ 7,
1707
+ EMPTY_STRING,
1708
+ 'applyChanges',
1709
+ storeType,
1710
+ `Applies a set of ${CHANGES} to the Store`,
1711
+ 'changes: ' + CHANGES,
1712
+ 'changes',
1713
+ );
1714
+ mapForEach(mapCellOrValueTypes, (type, mapCellType) =>
1715
+ addType(
1716
+ mapCellType,
1717
+ `(cell: ${type}${OR_UNDEFINED}) => ` + type,
1718
+ `Takes a ${type} Cell value and returns another`,
1719
+ ),
1720
+ );
1721
+ addImport(
1722
+ null,
1723
+ TINYBASE,
1724
+ 'DoRollback',
1725
+ ID,
1726
+ 'IdOrNull',
1727
+ JSON$1,
1728
+ 'Store',
1729
+ CHANGES,
1730
+ );
1731
+ addProxyMethod(
1732
+ 0,
1733
+ EMPTY_STRING,
1734
+ JSON$1,
1735
+ JSON$1,
1736
+ getTheContentOfTheStoreDoc(0, 6),
1737
+ );
1738
+ addProxyMethod(
1739
+ 2,
1740
+ EMPTY_STRING,
1741
+ JSON$1,
1742
+ storeType,
1743
+ getTheContentOfTheStoreDoc(0, 7),
1744
+ 'tablesAndValuesJson: ' + JSON$1,
1745
+ 'tablesAndValuesJson',
1746
+ );
1747
+ addProxyMethod(
1748
+ 7,
1749
+ EMPTY_STRING,
1750
+ TRANSACTION_,
1751
+ 'Return',
1752
+ TRANSACTION_DOC,
1753
+ DO_ACTIONS_AND_ROLLBACK_PARAMS,
1754
+ 'actions, doRollback',
1755
+ '<Return>',
1756
+ );
1757
+ addProxyMethod(
1758
+ 7,
1759
+ EMPTY_STRING,
1760
+ 'start' + TRANSACTION,
1761
+ storeType,
1762
+ START_TRANSACTION_DOC,
1763
+ );
1764
+ addProxyMethod(
1765
+ 7,
1766
+ EMPTY_STRING,
1767
+ 'finish' + TRANSACTION,
1768
+ storeType,
1769
+ FINISH_TRANSACTION_DOC,
1770
+ DO_ROLLBACK_PARAM,
1771
+ 'doRollback',
1772
+ );
1773
+ const transactionListenerType = getTransactionListenerType(
1774
+ storeInstance,
1775
+ storeType,
1776
+ );
1777
+ addProxyListener(
1778
+ 'Start' + TRANSACTION,
1779
+ transactionListenerType,
1780
+ REGISTERS_A_LISTENER + ' just before the start of the ' + TRANSACTION_,
1781
+ EMPTY_STRING,
1782
+ EMPTY_STRING,
1783
+ 0,
1784
+ );
1785
+ addProxyListener(
1786
+ 'WillFinish' + TRANSACTION,
1787
+ transactionListenerType,
1788
+ REGISTERS_A_LISTENER + ' just before ' + THE_END_OF_THE_TRANSACTION,
1789
+ EMPTY_STRING,
1790
+ EMPTY_STRING,
1791
+ 0,
1792
+ );
1793
+ addProxyListener(
1794
+ 'DidFinish' + TRANSACTION,
1795
+ transactionListenerType,
1796
+ REGISTERS_A_LISTENER + ' just after ' + THE_END_OF_THE_TRANSACTION,
1797
+ EMPTY_STRING,
1798
+ EMPTY_STRING,
1799
+ 0,
1800
+ );
1801
+ addProxyMethod(
1802
+ 7,
1803
+ EMPTY_STRING,
1804
+ 'call' + LISTENER,
1805
+ storeType,
1806
+ 'Manually provoke a listener to be called',
1807
+ 'listenerId: Id',
1808
+ 'listenerId',
1809
+ );
1810
+ addProxyMethod(
1811
+ 3,
1812
+ EMPTY_STRING,
1813
+ LISTENER,
1814
+ storeType,
1815
+ 'Remove a listener that was previously added to ' + THE_STORE,
1816
+ 'listenerId: Id',
1817
+ 'listenerId',
1818
+ );
1819
+ addMethod(
1820
+ 'getStore',
1821
+ EMPTY_STRING,
1822
+ 'Store',
1823
+ 'store',
1824
+ VERBS[0] + ' the underlying Store object',
1825
+ );
1826
+ addImport(1, TINYBASE, 'createStore');
1827
+ addImport(
1828
+ 1,
1829
+ moduleDefinition,
1830
+ storeType,
1831
+ `create${storeType} as create${storeType}Decl`,
1832
+ transactionListenerType,
1833
+ );
1834
+ addConstant('store', ['createStore()', ...createSteps]);
1835
+ addInternalFunction('fluent', 'actions: () => Store', [
1836
+ 'actions();',
1837
+ `return ${storeInstance};`,
1838
+ ]);
1839
+ addInternalFunction(
1840
+ 'proxy',
1841
+ `listener: any`,
1842
+ `(_: Store, ...params: any[]) => listener(${storeInstance}, ...params)`,
1843
+ );
1844
+ addConstant(storeInstance, ['{', ...getMethods(1), '}']);
1845
+ return [
1846
+ build(
1847
+ ...getImports(0),
1848
+ ...getTypes(),
1849
+ EXPORT + ' interface ' + storeType + ' {',
1850
+ ...getMethods(0),
1851
+ '}',
1852
+ EMPTY_STRING,
1853
+ comment(`Creates a ${storeType} object`),
1854
+ EXPORT + ' function create' + storeType + '(): ' + storeType + ';',
1855
+ ),
1856
+ build(
1857
+ ...getImports(1),
1858
+ EXPORT +
1859
+ ' const create' +
1860
+ storeType +
1861
+ ': typeof create' +
1862
+ storeType +
1863
+ 'Decl = () => {',
1864
+ ...getConstants(),
1865
+ `return Object.freeze(${storeInstance});`,
1866
+ '};',
1867
+ ),
1868
+ sharedTableTypes,
1869
+ sharedValueTypes,
1870
+ ];
1871
+ };
1872
+
1873
+ const getGet = (noun) => GET + noun;
1874
+ const getGetAndGetDeps = (noun) =>
1875
+ getParameterList(getGet(noun), getGet(noun) + DEPS);
1876
+ const DEBUG_IDS_PROP_TYPE = 'debugIds?: boolean';
1877
+ const DEBUG_IDS_PROP = 'debugIds={debugIds}';
1878
+ const THEN_DEPS = 'then' + DEPS_SUFFIX;
1879
+ const PARAMETER = 'Parameter';
1880
+ const GETTER_ARGS = ': (parameter: ' + PARAMETER + ', store: Store) => ';
1881
+ const USE_CONTEXT = 'const contextValue = useContext(Context);';
1882
+ const BASED_ON_A_PARAMETER = ', based on a parameter';
1883
+ const COLON_SPACE = ': ';
1884
+ const GENERIC_PARAMETER = '<' + PARAMETER + ',>';
1885
+ const PARAMETERIZED_CALLBACK =
1886
+ PARAMETER + 'ized' + CALLBACK + '<' + PARAMETER + '>';
1887
+ const ROW_ID = 'rowId';
1888
+ const ROW_ID_PROP = 'rowId={rowId}';
1889
+ const SEPARATOR_AND_DEBUG_IDS = ', separator, debugIds';
1890
+ const SEPARATOR_PROP_TYPE = 'separator?: ReactElement | string';
1891
+ const THEN_PREFIX = 'then?: (store: Store';
1892
+ const THEN_AND_THEN_DEPS = getParameterList(
1893
+ THEN_PREFIX + ')' + RETURNS_VOID,
1894
+ THEN_DEPS,
1895
+ );
1896
+ const THEN_AND_THEN_DEPS_IN_CALL = 'then, then' + DEPS;
1897
+ const TYPED_ROW_ID = ROW_ID + COLON_SPACE + ID;
1898
+ const VIEW = 'View';
1899
+ const getListenerHookParams = (listenerType, ...extraParams) =>
1900
+ getParameterList(
1901
+ ...extraParams,
1902
+ LISTENER_ + ': ' + listenerType,
1903
+ LISTENER_ + DEPS_SUFFIX,
1904
+ 'mutator?: boolean',
1905
+ );
1906
+ const getListenerHookParamsInCall = (...extraParams) =>
1907
+ getParameterList(...extraParams, LISTENER_, LISTENER_ + DEPS, 'mutator');
1908
+ const getStoreUiReactApi = (
1909
+ tablesSchema,
1910
+ valuesSchema,
1911
+ module,
1912
+ sharedTableTypes,
1913
+ sharedValueTypes,
1914
+ ) => {
1915
+ const [
1916
+ build,
1917
+ addImport,
1918
+ addType,
1919
+ addInternalFunction,
1920
+ addConstant,
1921
+ getImports,
1922
+ getTypes,
1923
+ getConstants,
1924
+ ] = getCodeFunctions();
1925
+ const [mapTablesSchema, mapCellSchema, mapValuesSchema] = getSchemaFunctions(
1926
+ tablesSchema,
1927
+ valuesSchema,
1928
+ addConstant,
1929
+ );
1930
+ const moduleDefinition = `./${camel(module)}.d`;
1931
+ const uiReactModuleDefinition = `./${camel(module)}-ui-react.d`;
1932
+ const tinyBaseUiReact = 'tinybase/ui-react';
1933
+ const storeType = camel(module, 1);
1934
+ const storeInstance = camel(storeType);
1935
+ const StoreOrStoreId = storeType + 'Or' + storeType + ID;
1936
+ const storeOrStoreId = storeInstance + 'Or' + storeType + ID;
1937
+ const storeProp = storeInstance + `={${storeInstance}}`;
1938
+ const functions = mapNew();
1939
+ const addFunction = (
1940
+ name,
1941
+ parameters,
1942
+ returnType,
1943
+ body,
1944
+ doc,
1945
+ generic = EMPTY_STRING,
1946
+ ) => {
1947
+ addImport(1, uiReactModuleDefinition, name + ' as ' + name + 'Decl');
1948
+ return mapUnique(functions, name, [
1949
+ parameters,
1950
+ returnType,
1951
+ body,
1952
+ doc,
1953
+ generic,
1954
+ ]);
1955
+ };
1956
+ const addHook = (
1957
+ name,
1958
+ parameters,
1959
+ returnType,
1960
+ body,
1961
+ doc,
1962
+ generic = EMPTY_STRING,
1963
+ ) => addFunction(`use${name}`, parameters, returnType, body, doc, generic);
1964
+ const addProxyHook = (
1965
+ name,
1966
+ underlyingName,
1967
+ returnType,
1968
+ doc,
1969
+ preParameters = EMPTY_STRING,
1970
+ preParametersInCall = EMPTY_STRING,
1971
+ generic = EMPTY_STRING,
1972
+ postParameters = EMPTY_STRING,
1973
+ postParametersInCall = EMPTY_STRING,
1974
+ ) => {
1975
+ addImport(
1976
+ 1,
1977
+ tinyBaseUiReact,
1978
+ `use${underlyingName} as use${underlyingName}Core`,
1979
+ );
1980
+ return addHook(
1981
+ name,
1982
+ getParameterList(preParameters, storeOrStoreIdParameter, postParameters),
1983
+ returnType,
1984
+ useHook +
1985
+ `(${storeOrStoreId}, use${underlyingName}Core, [` +
1986
+ (preParametersInCall ? preParametersInCall : EMPTY_STRING) +
1987
+ (postParametersInCall ? '], [' + postParametersInCall : EMPTY_STRING) +
1988
+ ']);',
1989
+ doc,
1990
+ generic,
1991
+ );
1992
+ };
1993
+ const addComponent = (name, parameters, body, doc) =>
1994
+ addFunction(name, parameters, 1, body, doc);
1995
+ const getFunctions = (location = 0) =>
1996
+ mapMap(functions, ([parameters, returnType, body, doc, generic], name) => {
1997
+ const lines = location
1998
+ ? [
1999
+ EXPORT +
2000
+ ` const ${name}: typeof ${name}Decl = ${generic}(${parameters}): ${returnType == 1 ? 'any' : returnType} =>`,
2001
+ body,
2002
+ ]
2003
+ : [
2004
+ EXPORT +
2005
+ ` function ${name}${generic}(${parameters}): ${returnType == 1 ? 'ComponentReturnType' : returnType};`,
2006
+ ];
2007
+ if (!location) {
2008
+ arrayUnshift(lines, comment(doc));
2009
+ }
2010
+ arrayPush(lines, EMPTY_STRING);
2011
+ return lines;
2012
+ });
2013
+ addImport(
2014
+ null,
2015
+ TINYBASE,
2016
+ ID,
2017
+ 'Store',
2018
+ CALLBACK,
2019
+ PARAMETER + 'ized' + CALLBACK,
2020
+ );
2021
+ addImport(0, tinyBaseUiReact, 'ComponentReturnType');
2022
+ addImport(1, tinyBaseUiReact, 'useCellIds');
2023
+ addImport(null, tinyBaseUiReact, 'ExtraProps');
2024
+ addImport(0, moduleDefinition, storeType);
2025
+ const storeOrStoreIdType = addType(
2026
+ StoreOrStoreId,
2027
+ storeType + ' | ' + ID,
2028
+ `Used when you need to refer to a ${storeType} in a React hook or component`,
2029
+ );
2030
+ const providerPropsType = addType(
2031
+ PROVIDER + PROPS,
2032
+ getPropTypeList(
2033
+ storeInstance + OPTIONAL_COLON + storeType,
2034
+ storeInstance + `ById?: {[${storeInstance}Id: Id]: ${storeType}}`,
2035
+ ),
2036
+ `Used with the ${PROVIDER} component, so that a ` +
2037
+ storeType +
2038
+ ' can be passed into the context of an application',
2039
+ );
2040
+ addImport(0, 'react', 'ReactElement', 'ComponentType');
2041
+ addImport(1, 'react', 'React');
2042
+ addImport(1, uiReactModuleDefinition, storeOrStoreIdType, providerPropsType);
2043
+ const storeOrStoreIdParameter =
2044
+ storeOrStoreId + OPTIONAL_COLON + storeOrStoreIdType;
2045
+ addConstant('{createContext, useContext, useMemo}', 'React');
2046
+ addConstant(
2047
+ 'Context',
2048
+ `createContext<[${storeType}?, {[${storeInstance}Id: Id]: ${storeType}}?]>([])`,
2049
+ );
2050
+ addHook(
2051
+ `Create${storeType}`,
2052
+ `create: () => ${storeType}, create` + DEPS_SUFFIX,
2053
+ storeType,
2054
+ '\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)',
2055
+ `Create a ${storeType} within a React application with convenient memoization`,
2056
+ );
2057
+ const getStoreHook = addHook(
2058
+ storeType,
2059
+ `id?: Id`,
2060
+ storeType + OR_UNDEFINED,
2061
+ [
2062
+ '{',
2063
+ USE_CONTEXT,
2064
+ 'return id == null ? contextValue[0] : contextValue[1]?.[id];',
2065
+ '}',
2066
+ ],
2067
+ `Get a reference to a ${storeType} from within a ${PROVIDER} component context`,
2068
+ );
2069
+ const useHook = addInternalFunction(
2070
+ `useHook`,
2071
+ storeOrStoreId +
2072
+ `: ${storeOrStoreIdType} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,
2073
+ [
2074
+ `const ${storeInstance} = ${getStoreHook}(${storeOrStoreId} as Id);`,
2075
+ `return hook(...preParams, ((${storeOrStoreId} == null || typeof ${storeOrStoreId} == 'string')`,
2076
+ `? ${storeInstance} : ${storeOrStoreId})?.getStore(), ...postParams)`,
2077
+ ],
2078
+ );
2079
+ const getProps = addInternalFunction(
2080
+ 'getProps',
2081
+ 'getProps: ((id: any) => ExtraProps) | undefined, id: Id',
2082
+ '(getProps == null) ? ({} as ExtraProps) : getProps(id)',
2083
+ );
2084
+ const wrap = addInternalFunction(
2085
+ 'wrap',
2086
+ getParameterList(
2087
+ 'children: any',
2088
+ 'separator?: any',
2089
+ 'encloseWithId?: boolean',
2090
+ 'id?: Id',
2091
+ ),
2092
+ [
2093
+ 'const separated = separator==null || !Array.isArray(children)',
2094
+ ' ? children',
2095
+ ' : children.map((child, c) => (c > 0 ? [separator, child] : child));',
2096
+ `return encloseWithId ? [id, ':{', separated, '}'] : separated;`,
2097
+ ],
2098
+ );
2099
+ const useCustomOrDefaultCellIds = addInternalFunction(
2100
+ 'useCustomOrDefaultCellIds',
2101
+ getParameterList(
2102
+ 'customCellIds: Ids | undefined',
2103
+ 'tableId: Id',
2104
+ 'rowId: Id',
2105
+ `${storeOrStoreId}?: ${storeOrStoreIdType} | undefined`,
2106
+ ),
2107
+ [
2108
+ `const defaultCellIds = ${useHook}(${storeOrStoreId}, useCellIds, [tableId, rowId]);`,
2109
+ 'return customCellIds ?? defaultCellIds;',
2110
+ ],
2111
+ );
2112
+ const NullComponent = addConstant('NullComponent', `() => null`);
2113
+ if (!objIsEmpty(tablesSchema)) {
2114
+ const [
2115
+ tablesType,
2116
+ tablesWhenSetType,
2117
+ tableIdType,
2118
+ cellIdType,
2119
+ hasTablesListenerType,
2120
+ tablesListenerType,
2121
+ tableIdsListenerType,
2122
+ hasTableListenerType,
2123
+ tableListenerType,
2124
+ tableCellIdsListenerType,
2125
+ hasTableCellListenerType,
2126
+ rowCountListenerType,
2127
+ rowIdsListenerType,
2128
+ sortedRowIdsListenerType,
2129
+ hasRowListenerType,
2130
+ rowListenerType,
2131
+ cellIdsListenerType,
2132
+ hasCellListenerType,
2133
+ cellListenerType,
2134
+ tablesTypes,
2135
+ ] = sharedTableTypes;
2136
+ addImport(
2137
+ null,
2138
+ moduleDefinition,
2139
+ tablesType,
2140
+ tablesWhenSetType,
2141
+ tableIdType,
2142
+ hasTablesListenerType,
2143
+ tablesListenerType,
2144
+ tableIdsListenerType,
2145
+ hasTableListenerType,
2146
+ tableListenerType,
2147
+ tableCellIdsListenerType,
2148
+ hasTableCellListenerType,
2149
+ rowCountListenerType,
2150
+ rowIdsListenerType,
2151
+ sortedRowIdsListenerType,
2152
+ hasRowListenerType,
2153
+ rowListenerType,
2154
+ cellIdsListenerType,
2155
+ cellListenerType,
2156
+ hasCellListenerType,
2157
+ );
2158
+ addImport(0, moduleDefinition, cellIdType);
2159
+ addImport(1, moduleDefinition, storeType);
2160
+ addImport(null, TINYBASE, IDS, 'IdOrNull');
2161
+ const tableView = addInternalFunction(
2162
+ 'tableView',
2163
+ `{${storeInstance}, rowComponent, getRowComponentProps, customCellIds` +
2164
+ SEPARATOR_AND_DEBUG_IDS +
2165
+ '}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>',
2166
+ [
2167
+ 'const Row = rowComponent ?? defaultRowComponent;',
2168
+ `return ${wrap}(rowIds.map((rowId) => (`,
2169
+ '<Row',
2170
+ '{...' + getProps + '(getRowComponentProps, rowId)}',
2171
+ 'key={rowId}',
2172
+ 'tableId={tableId}',
2173
+ ROW_ID_PROP,
2174
+ 'customCellIds={customCellIds}',
2175
+ storeProp,
2176
+ DEBUG_IDS_PROP,
2177
+ '/>',
2178
+ '))',
2179
+ SEPARATOR_AND_DEBUG_IDS,
2180
+ ', tableId,',
2181
+ ');',
2182
+ ],
2183
+ );
2184
+ const getDefaultTableComponent = addInternalFunction(
2185
+ 'getDefaultTableComponent',
2186
+ 'tableId: Id',
2187
+ arrayJoin(
2188
+ mapTablesSchema(
2189
+ (_, tableName, TABLE_ID) =>
2190
+ `tableId == ${TABLE_ID} ? ${tableName}TableView : `,
2191
+ ),
2192
+ ) + NullComponent,
2193
+ );
2194
+ const getDefaultCellComponent = addInternalFunction(
2195
+ 'getDefaultCellComponent',
2196
+ 'tableId: Id, cellId: Id',
2197
+ arrayJoin(
2198
+ mapTablesSchema(
2199
+ (tableId, tableName, TABLE_ID) =>
2200
+ `tableId == ${TABLE_ID} ? ${
2201
+ arrayJoin(
2202
+ mapCellSchema(
2203
+ tableId,
2204
+ (_, _2, _3, CELL_ID, cellName) =>
2205
+ `cellId == ${CELL_ID} ? ` +
2206
+ tableName +
2207
+ cellName +
2208
+ 'CellView : ',
2209
+ ),
2210
+ ) + NullComponent
2211
+ } : `,
2212
+ ),
2213
+ ) + NullComponent,
2214
+ );
2215
+ addProxyHook(
2216
+ HAS + TABLES,
2217
+ HAS + TABLES,
2218
+ BOOLEAN,
2219
+ getTheContentOfTheStoreDoc(1, 0, 0, 1) + AND_REGISTERS,
2220
+ );
2221
+ addProxyHook(
2222
+ TABLES,
2223
+ TABLES,
2224
+ tablesType,
2225
+ getTheContentOfTheStoreDoc(1, 0) + AND_REGISTERS,
2226
+ );
2227
+ const useTableIds = addProxyHook(
2228
+ TABLE_IDS,
2229
+ TABLE_IDS,
2230
+ tableIdType + SQUARE_BRACKETS,
2231
+ getIdsDoc(TABLE, THE_STORE) + AND_REGISTERS,
2232
+ );
2233
+ addProxyHook(
2234
+ SET + TABLES + CALLBACK,
2235
+ SET + TABLES + CALLBACK,
2236
+ PARAMETERIZED_CALLBACK,
2237
+ getTheContentOfTheStoreDoc(1, 9) + BASED_ON_A_PARAMETER,
2238
+ getParameterList(
2239
+ getGet(TABLES) + GETTER_ARGS + tablesWhenSetType,
2240
+ getGet(TABLES) + DEPS_SUFFIX,
2241
+ ),
2242
+ getGetAndGetDeps(TABLES),
2243
+ GENERIC_PARAMETER,
2244
+ getParameterList(
2245
+ THEN_PREFIX,
2246
+ `tables: ${tablesWhenSetType})` + RETURNS_VOID,
2247
+ THEN_DEPS,
2248
+ ),
2249
+ THEN_AND_THEN_DEPS_IN_CALL,
2250
+ );
2251
+ addProxyHook(
2252
+ DEL + TABLES + CALLBACK,
2253
+ DEL + TABLES + CALLBACK,
2254
+ CALLBACK,
2255
+ getTheContentOfTheStoreDoc(1, 12),
2256
+ EMPTY_STRING,
2257
+ EMPTY_STRING,
2258
+ EMPTY_STRING,
2259
+ THEN_AND_THEN_DEPS,
2260
+ THEN_AND_THEN_DEPS_IN_CALL,
2261
+ );
2262
+ const cellPropsType = addType(
2263
+ CELL + PROPS,
2264
+ getPropTypeList(
2265
+ 'tableId?: TId',
2266
+ 'rowId: Id',
2267
+ 'cellId?: CId',
2268
+ storeInstance + OPTIONAL_COLON + storeType,
2269
+ DEBUG_IDS_PROP_TYPE,
2270
+ ),
2271
+ getPropsDoc(A + CELL),
2272
+ `<TId extends ${tableIdType}, CId extends ${cellIdType}<TId>>`,
2273
+ );
2274
+ const rowPropsType = addType(
2275
+ ROW + PROPS,
2276
+ getPropTypeList(
2277
+ `tableId?: TId`,
2278
+ 'rowId: Id',
2279
+ storeInstance + OPTIONAL_COLON + storeType,
2280
+ 'cellComponents?: {readonly [CId in ' +
2281
+ cellIdType +
2282
+ `<TId>]?: ComponentType<${cellPropsType}<TId, CId>>;}`,
2283
+ `getCellComponentProps?: (cellId: ${cellIdType}<TId>) => ExtraProps`,
2284
+ `customCellIds?: ${cellIdType}<TId>[]`,
2285
+ SEPARATOR_PROP_TYPE,
2286
+ DEBUG_IDS_PROP_TYPE,
2287
+ ),
2288
+ getPropsDoc(A + ROW),
2289
+ `<TId extends ${tableIdType}>`,
2290
+ );
2291
+ const tablePropsType = addType(
2292
+ TABLE + PROPS,
2293
+ getPropTypeList(
2294
+ `tableId?: TId`,
2295
+ storeInstance + OPTIONAL_COLON + storeType,
2296
+ `rowComponent?: ComponentType<${rowPropsType}<TId>>`,
2297
+ `getRowComponentProps?: (rowId: Id) => ExtraProps`,
2298
+ `customCellIds?: CellId<TId>[]`,
2299
+ SEPARATOR_PROP_TYPE,
2300
+ DEBUG_IDS_PROP_TYPE,
2301
+ ),
2302
+ getPropsDoc(A + TABLE),
2303
+ `<TId extends ${tableIdType}>`,
2304
+ );
2305
+ const sortedTablePropsType = addType(
2306
+ 'Sorted' + TABLE + PROPS,
2307
+ getPropTypeList(
2308
+ `tableId?: TId`,
2309
+ 'cellId?: ' + cellIdType + '<TId>',
2310
+ 'descending?: boolean',
2311
+ 'offset?: number',
2312
+ 'limit?: number',
2313
+ storeInstance + OPTIONAL_COLON + storeType,
2314
+ `rowComponent?: ComponentType<${rowPropsType}<TId>>`,
2315
+ `getRowComponentProps?: (rowId: Id) => ExtraProps`,
2316
+ `customCellIds?: CellId<TId>[]`,
2317
+ SEPARATOR_PROP_TYPE,
2318
+ DEBUG_IDS_PROP_TYPE,
2319
+ ),
2320
+ getPropsDoc(A + 'sorted ' + TABLE),
2321
+ `<TId extends ${tableIdType}>`,
2322
+ );
2323
+ const tablesPropsType = addType(
2324
+ TABLES + PROPS,
2325
+ getPropTypeList(
2326
+ storeInstance + OPTIONAL_COLON + storeType,
2327
+ 'tableComponents?: {readonly [TId in ' +
2328
+ tableIdType +
2329
+ `]?: ComponentType<${tablePropsType}<TId>>;}`,
2330
+ `getTableComponentProps?: (tableId: ${tableIdType}) => ExtraProps`,
2331
+ SEPARATOR_PROP_TYPE,
2332
+ DEBUG_IDS_PROP_TYPE,
2333
+ ),
2334
+ getPropsDoc(getTheContentOfDoc(1, 1)),
2335
+ );
2336
+ addImport(
2337
+ 1,
2338
+ uiReactModuleDefinition,
2339
+ tablesPropsType,
2340
+ tablePropsType,
2341
+ sortedTablePropsType,
2342
+ rowPropsType,
2343
+ cellPropsType,
2344
+ );
2345
+ addComponent(
2346
+ TABLES + VIEW,
2347
+ '{' +
2348
+ storeInstance +
2349
+ ', tableComponents, getTableComponentProps' +
2350
+ SEPARATOR_AND_DEBUG_IDS +
2351
+ '}: ' +
2352
+ tablesPropsType,
2353
+ [
2354
+ wrap + `(${useTableIds}(${storeInstance}).map((tableId) => {`,
2355
+ 'const Table = (tableComponents?.[tableId] ?? ' +
2356
+ getDefaultTableComponent +
2357
+ `(tableId)) as React.ComponentType<TableProps<typeof tableId>>;`,
2358
+ 'return <Table',
2359
+ `{...${getProps}(getTableComponentProps, tableId)}`,
2360
+ 'tableId={tableId}',
2361
+ 'key={tableId}',
2362
+ storeProp,
2363
+ DEBUG_IDS_PROP,
2364
+ '/>;',
2365
+ '}), separator)',
2366
+ ],
2367
+ getTheContentOfTheStoreDoc(1, 13) + AND_REGISTERS,
2368
+ );
2369
+ mapTablesSchema((tableId, tableName, TABLE_ID) => {
2370
+ const [
2371
+ tableType,
2372
+ tableWhenSetType,
2373
+ rowType,
2374
+ rowWhenSetType,
2375
+ cellIdType2,
2376
+ ] = mapGet(tablesTypes, tableId);
2377
+ addImport(
2378
+ null,
2379
+ moduleDefinition,
2380
+ tableType,
2381
+ tableWhenSetType,
2382
+ rowType,
2383
+ rowWhenSetType,
2384
+ cellIdType2,
2385
+ );
2386
+ addProxyHook(
2387
+ HAS + tableName + TABLE,
2388
+ HAS + TABLE,
2389
+ BOOLEAN,
2390
+ getTableContentDoc(tableId, 0, 1) + AND_REGISTERS,
2391
+ EMPTY_STRING,
2392
+ TABLE_ID,
2393
+ );
2394
+ addProxyHook(
2395
+ tableName + TABLE,
2396
+ TABLE,
2397
+ tableType,
2398
+ getTableContentDoc(tableId) + AND_REGISTERS,
2399
+ EMPTY_STRING,
2400
+ TABLE_ID,
2401
+ );
2402
+ addProxyHook(
2403
+ tableName + TABLE + CELL_IDS,
2404
+ TABLE + CELL_IDS,
2405
+ IDS,
2406
+ getIdsDoc(CELL, 'the whole of ' + getTableDoc(tableId)) + AND_REGISTERS,
2407
+ EMPTY_STRING,
2408
+ TABLE_ID,
2409
+ );
2410
+ addProxyHook(
2411
+ tableName + ROW + COUNT,
2412
+ ROW + COUNT,
2413
+ NUMBER,
2414
+ 'Gets the number of Rows in ' + getTableDoc(tableId) + AND_REGISTERS,
2415
+ EMPTY_STRING,
2416
+ TABLE_ID,
2417
+ );
2418
+ const useRowIds = addProxyHook(
2419
+ tableName + ROW_IDS,
2420
+ ROW_IDS,
2421
+ IDS,
2422
+ getIdsDoc(ROW, getTableDoc(tableId)) + AND_REGISTERS,
2423
+ EMPTY_STRING,
2424
+ TABLE_ID,
2425
+ );
2426
+ const useSortedRowIds = addProxyHook(
2427
+ tableName + SORTED_ROW_IDS,
2428
+ SORTED_ROW_IDS,
2429
+ IDS,
2430
+ getIdsDoc(ROW, getTableDoc(tableId), 1) + AND_REGISTERS,
2431
+ 'cellId?: ' +
2432
+ cellIdType2 +
2433
+ ', descending?: boolean, offset?: number, limit?: number',
2434
+ TABLE_ID + ', cellId, descending, offset, limit',
2435
+ );
2436
+ addProxyHook(
2437
+ HAS + tableName + ROW,
2438
+ HAS + ROW,
2439
+ BOOLEAN,
2440
+ getRowContentDoc(tableId, 0, 1) + AND_REGISTERS,
2441
+ TYPED_ROW_ID,
2442
+ getParameterList(TABLE_ID, ROW_ID),
2443
+ );
2444
+ addProxyHook(
2445
+ tableName + ROW,
2446
+ ROW,
2447
+ rowType,
2448
+ getRowContentDoc(tableId) + AND_REGISTERS,
2449
+ TYPED_ROW_ID,
2450
+ getParameterList(TABLE_ID, ROW_ID),
2451
+ );
2452
+ addProxyHook(
2453
+ tableName + CELL_IDS,
2454
+ CELL_IDS,
2455
+ cellIdType2 + SQUARE_BRACKETS,
2456
+ getIdsDoc(CELL, getRowDoc(tableId)) + AND_REGISTERS,
2457
+ TYPED_ROW_ID,
2458
+ getParameterList(TABLE_ID, ROW_ID),
2459
+ );
2460
+ addProxyHook(
2461
+ SET + tableName + TABLE + CALLBACK,
2462
+ SET + TABLE + CALLBACK,
2463
+ PARAMETERIZED_CALLBACK,
2464
+ getTableContentDoc(tableId, 9) + BASED_ON_A_PARAMETER,
2465
+ getParameterList(
2466
+ getGet(TABLE) + GETTER_ARGS + tableWhenSetType,
2467
+ getGet(TABLE) + DEPS_SUFFIX,
2468
+ ),
2469
+ getParameterList(TABLE_ID, getGetAndGetDeps(TABLE)),
2470
+ GENERIC_PARAMETER,
2471
+ getParameterList(
2472
+ THEN_PREFIX,
2473
+ `table: ${tableWhenSetType})` + RETURNS_VOID,
2474
+ THEN_DEPS,
2475
+ ),
2476
+ THEN_AND_THEN_DEPS_IN_CALL,
2477
+ );
2478
+ addProxyHook(
2479
+ DEL + tableName + TABLE + CALLBACK,
2480
+ DEL + TABLE + CALLBACK,
2481
+ CALLBACK,
2482
+ getTableContentDoc(tableId, 12),
2483
+ EMPTY_STRING,
2484
+ TABLE_ID,
2485
+ EMPTY_STRING,
2486
+ THEN_AND_THEN_DEPS,
2487
+ THEN_AND_THEN_DEPS_IN_CALL,
2488
+ );
2489
+ addProxyHook(
2490
+ SET + tableName + ROW + CALLBACK,
2491
+ SET + ROW + CALLBACK,
2492
+ PARAMETERIZED_CALLBACK,
2493
+ getRowContentDoc(tableId, 9) + BASED_ON_A_PARAMETER,
2494
+ getParameterList(
2495
+ TYPED_ROW_ID,
2496
+ getGet(ROW) + GETTER_ARGS + rowWhenSetType,
2497
+ getGet(ROW) + DEPS_SUFFIX,
2498
+ ),
2499
+ getParameterList(TABLE_ID, ROW_ID, getGetAndGetDeps(ROW)),
2500
+ GENERIC_PARAMETER,
2501
+ getParameterList(
2502
+ THEN_PREFIX,
2503
+ `row: ${rowWhenSetType})` + RETURNS_VOID,
2504
+ THEN_DEPS,
2505
+ ),
2506
+ THEN_AND_THEN_DEPS_IN_CALL,
2507
+ );
2508
+ addProxyHook(
2509
+ 'Add' + tableName + ROW + CALLBACK,
2510
+ 'Add' + ROW + CALLBACK,
2511
+ PARAMETERIZED_CALLBACK,
2512
+ getRowContentDoc(tableId, 10) + BASED_ON_A_PARAMETER,
2513
+ getParameterList(
2514
+ getGet(ROW) + GETTER_ARGS + rowWhenSetType,
2515
+ getGet(ROW) + DEPS_SUFFIX,
2516
+ ),
2517
+ getParameterList(TABLE_ID, getGetAndGetDeps(ROW)),
2518
+ GENERIC_PARAMETER,
2519
+ 'then?: (' +
2520
+ getParameterList(
2521
+ TYPED_ROW_ID + OR_UNDEFINED,
2522
+ 'store: Store',
2523
+ 'row: ' + rowWhenSetType + ')' + RETURNS_VOID,
2524
+ 'then' + DEPS_SUFFIX,
2525
+ ) +
2526
+ ', reuseRowIds?: boolean',
2527
+ THEN_AND_THEN_DEPS_IN_CALL + ', reuseRowIds',
2528
+ );
2529
+ addProxyHook(
2530
+ SET + tableName + PARTIAL + ROW + CALLBACK,
2531
+ SET + PARTIAL + ROW + CALLBACK,
2532
+ PARAMETERIZED_CALLBACK,
2533
+ getRowContentDoc(tableId, 11) + BASED_ON_A_PARAMETER,
2534
+ getParameterList(
2535
+ TYPED_ROW_ID,
2536
+ getGet(PARTIAL + ROW) + GETTER_ARGS + rowWhenSetType,
2537
+ getGet(PARTIAL + ROW) + DEPS_SUFFIX,
2538
+ ),
2539
+ getParameterList(TABLE_ID, ROW_ID, getGetAndGetDeps(PARTIAL + ROW)),
2540
+ GENERIC_PARAMETER,
2541
+ getParameterList(
2542
+ THEN_PREFIX,
2543
+ `partialRow: ${rowWhenSetType})` + RETURNS_VOID,
2544
+ THEN_DEPS,
2545
+ ),
2546
+ THEN_AND_THEN_DEPS_IN_CALL,
2547
+ );
2548
+ addProxyHook(
2549
+ DEL + tableName + ROW + CALLBACK,
2550
+ DEL + ROW + CALLBACK,
2551
+ CALLBACK,
2552
+ getRowContentDoc(tableId, 12),
2553
+ TYPED_ROW_ID,
2554
+ getParameterList(TABLE_ID, ROW_ID),
2555
+ EMPTY_STRING,
2556
+ THEN_AND_THEN_DEPS,
2557
+ THEN_AND_THEN_DEPS_IN_CALL,
2558
+ );
2559
+ const rowView = addComponent(
2560
+ tableName + ROW + VIEW,
2561
+ '{rowId, ' +
2562
+ storeInstance +
2563
+ ', cellComponents, getCellComponentProps, customCellIds' +
2564
+ SEPARATOR_AND_DEBUG_IDS +
2565
+ `}: ${rowPropsType}<'${tableId}'>`,
2566
+ [
2567
+ wrap +
2568
+ `(${useCustomOrDefaultCellIds}(customCellIds, ` +
2569
+ TABLE_ID +
2570
+ `, rowId, ${storeInstance}).map((cellId: ${cellIdType2}) => {`,
2571
+ 'const Cell = (cellComponents?.[cellId] ?? ' +
2572
+ getDefaultCellComponent +
2573
+ `(${TABLE_ID}, cellId)) as React.ComponentType<CellProps<typeof ` +
2574
+ TABLE_ID +
2575
+ ', typeof cellId>>;',
2576
+ 'return <Cell',
2577
+ `{...${getProps}(getCellComponentProps, cellId)} `,
2578
+ 'key={cellId}',
2579
+ `tableId={${TABLE_ID}}`,
2580
+ ROW_ID_PROP,
2581
+ 'cellId={cellId}',
2582
+ storeProp,
2583
+ DEBUG_IDS_PROP,
2584
+ '/>;',
2585
+ '})' + SEPARATOR_AND_DEBUG_IDS + ', rowId)',
2586
+ ],
2587
+ getRowContentDoc(tableId, 13) + AND_REGISTERS,
2588
+ );
2589
+ addComponent(
2590
+ tableName + 'Sorted' + TABLE + VIEW,
2591
+ '{cellId, descending, offset, limit, ...props}: ' +
2592
+ sortedTablePropsType +
2593
+ `<'${tableId}'>`,
2594
+ tableView +
2595
+ '(props, ' +
2596
+ useSortedRowIds +
2597
+ `(cellId, descending, offset, limit, props.${storeInstance}), ${TABLE_ID}, ${rowView});`,
2598
+ getTableContentDoc(tableId, 13) + ', sorted' + AND_REGISTERS,
2599
+ );
2600
+ addComponent(
2601
+ tableName + TABLE + VIEW,
2602
+ `props: ${tablePropsType}<'${tableId}'>`,
2603
+ tableView +
2604
+ '(props, ' +
2605
+ useRowIds +
2606
+ `(props.${storeInstance}), ${TABLE_ID}, ${rowView});`,
2607
+ getTableContentDoc(tableId, 13) + AND_REGISTERS,
2608
+ );
2609
+ mapCellSchema(
2610
+ tableId,
2611
+ (cellId, type, defaultValue, CELL_ID, cellName) => {
2612
+ const mapCellType = 'Map' + camel(type, 1);
2613
+ addImport(0, moduleDefinition, mapCellType);
2614
+ addImport(1, moduleDefinition, mapCellType);
2615
+ addProxyHook(
2616
+ HAS + tableName + cellName + TABLE + CELL,
2617
+ HAS + TABLE + CELL,
2618
+ BOOLEAN,
2619
+ `Gets ${getHasDoc(1)}the '${cellId}' Cell anywhere in ` +
2620
+ getTableDoc(tableId) +
2621
+ AND_REGISTERS,
2622
+ EMPTY_STRING,
2623
+ getParameterList(TABLE_ID, CELL_ID),
2624
+ );
2625
+ addProxyHook(
2626
+ HAS + tableName + cellName + CELL,
2627
+ HAS + CELL,
2628
+ BOOLEAN,
2629
+ getCellContentDoc(tableId, cellId, 0, 1) + AND_REGISTERS,
2630
+ TYPED_ROW_ID,
2631
+ getParameterList(TABLE_ID, ROW_ID, CELL_ID),
2632
+ );
2633
+ const useCell = addProxyHook(
2634
+ tableName + cellName + CELL,
2635
+ CELL,
2636
+ type + (isUndefined(defaultValue) ? OR_UNDEFINED : EMPTY_STRING),
2637
+ getCellContentDoc(tableId, cellId) + AND_REGISTERS,
2638
+ TYPED_ROW_ID,
2639
+ getParameterList(TABLE_ID, ROW_ID, CELL_ID),
2640
+ );
2641
+ addProxyHook(
2642
+ SET + tableName + cellName + CELL + CALLBACK,
2643
+ SET + CELL + CALLBACK,
2644
+ PARAMETERIZED_CALLBACK,
2645
+ getCellContentDoc(tableId, cellId, 9) + BASED_ON_A_PARAMETER,
2646
+ getParameterList(
2647
+ TYPED_ROW_ID,
2648
+ getGet(CELL) + GETTER_ARGS + type + ' | ' + mapCellType,
2649
+ getGet(CELL) + DEPS_SUFFIX,
2650
+ ),
2651
+ getParameterList(TABLE_ID, ROW_ID, CELL_ID, getGetAndGetDeps(CELL)),
2652
+ GENERIC_PARAMETER,
2653
+ getParameterList(
2654
+ THEN_PREFIX,
2655
+ `cell: ${type} | ${mapCellType})` + RETURNS_VOID,
2656
+ THEN_DEPS,
2657
+ ),
2658
+ THEN_AND_THEN_DEPS_IN_CALL,
2659
+ );
2660
+ addProxyHook(
2661
+ DEL + tableName + cellName + CELL + CALLBACK,
2662
+ DEL + CELL + CALLBACK,
2663
+ CALLBACK,
2664
+ getCellContentDoc(tableId, cellId, 12),
2665
+ getParameterList(TYPED_ROW_ID, 'forceDel?: boolean'),
2666
+ getParameterList(TABLE_ID, ROW_ID, CELL_ID, 'forceDel'),
2667
+ EMPTY_STRING,
2668
+ THEN_AND_THEN_DEPS,
2669
+ THEN_AND_THEN_DEPS_IN_CALL,
2670
+ );
2671
+ addComponent(
2672
+ tableName + cellName + CELL + VIEW,
2673
+ `{rowId, ${storeInstance}, debugIds}: ` +
2674
+ cellPropsType +
2675
+ `<'${tableId}', '${cellId}'>`,
2676
+ [
2677
+ wrap +
2678
+ `('' + ${useCell}(rowId, ` +
2679
+ storeInstance +
2680
+ `) ?? '', undefined, debugIds, ${CELL_ID})`,
2681
+ ],
2682
+ getCellContentDoc(tableId, cellId, 13) + AND_REGISTERS,
2683
+ );
2684
+ },
2685
+ );
2686
+ });
2687
+ const cellIdsType = arrayJoin(
2688
+ mapTablesSchema(
2689
+ (tableId) => mapGet(tablesTypes, tableId)?.[4] ?? EMPTY_STRING,
2690
+ ),
2691
+ ' | ',
2692
+ );
2693
+ addProxyHook(
2694
+ HAS + TABLES + LISTENER,
2695
+ HAS + TABLES + LISTENER,
2696
+ VOID,
2697
+ getTheContentOfTheStoreDoc(1, 8, 0, 1) + ' changes',
2698
+ getListenerHookParams(hasTablesListenerType),
2699
+ getListenerHookParamsInCall(),
2700
+ );
2701
+ addProxyHook(
2702
+ TABLES + LISTENER,
2703
+ TABLES + LISTENER,
2704
+ VOID,
2705
+ getTheContentOfTheStoreDoc(1, 8) + ' changes',
2706
+ getListenerHookParams(tablesListenerType),
2707
+ getListenerHookParamsInCall(),
2708
+ );
2709
+ addProxyHook(
2710
+ TABLE_IDS + LISTENER,
2711
+ TABLE_IDS + LISTENER,
2712
+ VOID,
2713
+ getListenerDoc(2, 0, 1),
2714
+ getListenerHookParams(tableIdsListenerType),
2715
+ getListenerHookParamsInCall(),
2716
+ );
2717
+ addProxyHook(
2718
+ HAS + TABLE + LISTENER,
2719
+ HAS + TABLE + LISTENER,
2720
+ VOID,
2721
+ getListenerDoc(3, 0, 0, 1),
2722
+ getListenerHookParams(
2723
+ hasTableListenerType,
2724
+ `tableId: ${tableIdType} | null`,
2725
+ ),
2726
+ getListenerHookParamsInCall('tableId'),
2727
+ );
2728
+ addProxyHook(
2729
+ TABLE + LISTENER,
2730
+ TABLE + LISTENER,
2731
+ VOID,
2732
+ getListenerDoc(3, 0),
2733
+ getListenerHookParams(
2734
+ tableListenerType,
2735
+ `tableId: ${tableIdType} | null`,
2736
+ ),
2737
+ getListenerHookParamsInCall('tableId'),
2738
+ );
2739
+ addProxyHook(
2740
+ TABLE + CELL_IDS + LISTENER,
2741
+ TABLE + CELL_IDS + LISTENER,
2742
+ VOID,
2743
+ getListenerDoc(14, 3, 1),
2744
+ getListenerHookParams(
2745
+ tableCellIdsListenerType,
2746
+ `tableId: ${tableIdType} | null`,
2747
+ ),
2748
+ getListenerHookParamsInCall('tableId'),
2749
+ );
2750
+ addProxyHook(
2751
+ HAS + TABLE + CELL + LISTENER,
2752
+ HAS + TABLE + CELL + LISTENER,
2753
+ VOID,
2754
+ getListenerDoc(16, 3, 0, 1),
2755
+ getListenerHookParams(
2756
+ hasTableCellListenerType,
2757
+ `tableId: ${tableIdType} | null`,
2758
+ `cellId: ${cellIdsType} | null`,
2759
+ ),
2760
+ getListenerHookParamsInCall('tableId', 'cellId'),
2761
+ );
2762
+ addProxyHook(
2763
+ ROW + COUNT + LISTENER,
2764
+ ROW + COUNT + LISTENER,
2765
+ VOID,
2766
+ getListenerDoc(15, 3),
2767
+ getListenerHookParams(
2768
+ rowCountListenerType,
2769
+ `tableId: ${tableIdType} | null`,
2770
+ ),
2771
+ getListenerHookParamsInCall('tableId'),
2772
+ );
2773
+ addProxyHook(
2774
+ ROW_IDS + LISTENER,
2775
+ ROW_IDS + LISTENER,
2776
+ VOID,
2777
+ getListenerDoc(4, 3, 1),
2778
+ getListenerHookParams(
2779
+ rowIdsListenerType,
2780
+ `tableId: ${tableIdType} | null`,
2781
+ ),
2782
+ getListenerHookParamsInCall('tableId'),
2783
+ );
2784
+ addProxyHook(
2785
+ SORTED_ROW_IDS + LISTENER,
2786
+ SORTED_ROW_IDS + LISTENER,
2787
+ VOID,
2788
+ getListenerDoc(13, 3, 1),
2789
+ getListenerHookParams(
2790
+ sortedRowIdsListenerType,
2791
+ `tableId: ${tableIdType} | null`,
2792
+ 'cellId: ' + cellIdsType + OR_UNDEFINED,
2793
+ 'descending: boolean',
2794
+ 'offset: number',
2795
+ 'limit: number' + OR_UNDEFINED,
2796
+ ),
2797
+ getListenerHookParamsInCall(
2798
+ 'tableId',
2799
+ 'cellId',
2800
+ 'descending',
2801
+ 'offset',
2802
+ 'limit',
2803
+ ),
2804
+ );
2805
+ addProxyHook(
2806
+ HAS + ROW + LISTENER,
2807
+ HAS + ROW + LISTENER,
2808
+ VOID,
2809
+ getListenerDoc(5, 3, 0, 1),
2810
+ getListenerHookParams(
2811
+ hasRowListenerType,
2812
+ `tableId: ${tableIdType} | null`,
2813
+ ROW_ID + `: IdOrNull`,
2814
+ ),
2815
+ getListenerHookParamsInCall('tableId', ROW_ID),
2816
+ );
2817
+ addProxyHook(
2818
+ ROW + LISTENER,
2819
+ ROW + LISTENER,
2820
+ VOID,
2821
+ getListenerDoc(5, 3),
2822
+ getListenerHookParams(
2823
+ rowListenerType,
2824
+ `tableId: ${tableIdType} | null`,
2825
+ ROW_ID + `: IdOrNull`,
2826
+ ),
2827
+ getListenerHookParamsInCall('tableId', ROW_ID),
2828
+ );
2829
+ addProxyHook(
2830
+ CELL_IDS + LISTENER,
2831
+ CELL_IDS + LISTENER,
2832
+ VOID,
2833
+ getListenerDoc(6, 5, 1),
2834
+ getListenerHookParams(
2835
+ cellIdsListenerType,
2836
+ `tableId: ${tableIdType} | null`,
2837
+ ROW_ID + `: IdOrNull`,
2838
+ ),
2839
+ getListenerHookParamsInCall('tableId', ROW_ID),
2840
+ );
2841
+ addProxyHook(
2842
+ HAS + CELL + LISTENER,
2843
+ HAS + CELL + LISTENER,
2844
+ VOID,
2845
+ getListenerDoc(7, 5, 0, 1),
2846
+ getListenerHookParams(
2847
+ hasCellListenerType,
2848
+ `tableId: ${tableIdType} | null`,
2849
+ ROW_ID + `: IdOrNull`,
2850
+ `cellId: ${cellIdsType} | null`,
2851
+ ),
2852
+ getListenerHookParamsInCall('tableId', ROW_ID, 'cellId'),
2853
+ );
2854
+ addProxyHook(
2855
+ CELL + LISTENER,
2856
+ CELL + LISTENER,
2857
+ VOID,
2858
+ getListenerDoc(7, 5),
2859
+ getListenerHookParams(
2860
+ cellListenerType,
2861
+ `tableId: ${tableIdType} | null`,
2862
+ ROW_ID + `: IdOrNull`,
2863
+ `cellId: ${cellIdsType} | null`,
2864
+ ),
2865
+ getListenerHookParamsInCall('tableId', ROW_ID, 'cellId'),
2866
+ );
2867
+ }
2868
+ if (!objIsEmpty(valuesSchema)) {
2869
+ const [
2870
+ valuesType,
2871
+ valuesWhenSetType,
2872
+ valueIdType,
2873
+ hasValuesListenerType,
2874
+ valuesListenerType,
2875
+ valueIdsListenerType,
2876
+ hasValueListenerType,
2877
+ valueListenerType,
2878
+ ] = sharedValueTypes;
2879
+ addImport(null, moduleDefinition, ...sharedValueTypes);
2880
+ addImport(1, moduleDefinition, storeType);
2881
+ const getDefaultValueComponent = addInternalFunction(
2882
+ 'getDefaultValueComponent',
2883
+ 'valueId: Id',
2884
+ arrayJoin(
2885
+ mapValuesSchema(
2886
+ (_, _2, _3, VALUE_ID, valueName) =>
2887
+ `valueId == ${VALUE_ID} ? ` + valueName + 'ValueView : ',
2888
+ ),
2889
+ ) + NullComponent,
2890
+ );
2891
+ addProxyHook(
2892
+ HAS + VALUES,
2893
+ HAS + VALUES,
2894
+ BOOLEAN,
2895
+ getTheContentOfTheStoreDoc(2, 0, 0, 1) + AND_REGISTERS,
2896
+ );
2897
+ addProxyHook(
2898
+ VALUES,
2899
+ VALUES,
2900
+ valuesType,
2901
+ getTheContentOfTheStoreDoc(2, 0) + AND_REGISTERS,
2902
+ );
2903
+ const useValueIds = addProxyHook(
2904
+ VALUE_IDS,
2905
+ VALUE_IDS,
2906
+ valueIdType + SQUARE_BRACKETS,
2907
+ getIdsDoc(VALUE, THE_STORE) + AND_REGISTERS,
2908
+ );
2909
+ addProxyHook(
2910
+ SET + VALUES + CALLBACK,
2911
+ SET + VALUES + CALLBACK,
2912
+ PARAMETERIZED_CALLBACK,
2913
+ getTheContentOfTheStoreDoc(2, 9) + BASED_ON_A_PARAMETER,
2914
+ getParameterList(
2915
+ getGet(VALUES) + GETTER_ARGS + valuesWhenSetType,
2916
+ getGet(VALUES) + DEPS_SUFFIX,
2917
+ ),
2918
+ getGetAndGetDeps(VALUES),
2919
+ GENERIC_PARAMETER,
2920
+ getParameterList(
2921
+ THEN_PREFIX,
2922
+ `values: ${valuesWhenSetType})` + RETURNS_VOID,
2923
+ THEN_DEPS,
2924
+ ),
2925
+ THEN_AND_THEN_DEPS_IN_CALL,
2926
+ );
2927
+ addProxyHook(
2928
+ SET + PARTIAL + VALUES + CALLBACK,
2929
+ SET + PARTIAL + VALUES + CALLBACK,
2930
+ PARAMETERIZED_CALLBACK,
2931
+ getTheContentOfTheStoreDoc(2, 11) + BASED_ON_A_PARAMETER,
2932
+ getParameterList(
2933
+ getGet(PARTIAL + VALUES) + GETTER_ARGS + valuesWhenSetType,
2934
+ getGet(PARTIAL + VALUES) + DEPS_SUFFIX,
2935
+ ),
2936
+ getGetAndGetDeps(PARTIAL + VALUES),
2937
+ GENERIC_PARAMETER,
2938
+ getParameterList(
2939
+ THEN_PREFIX,
2940
+ `partialValues: ${valuesWhenSetType})` + RETURNS_VOID,
2941
+ THEN_DEPS,
2942
+ ),
2943
+ THEN_AND_THEN_DEPS_IN_CALL,
2944
+ );
2945
+ addProxyHook(
2946
+ DEL + VALUES + CALLBACK,
2947
+ DEL + VALUES + CALLBACK,
2948
+ CALLBACK,
2949
+ getTheContentOfTheStoreDoc(2, 12),
2950
+ EMPTY_STRING,
2951
+ EMPTY_STRING,
2952
+ EMPTY_STRING,
2953
+ THEN_AND_THEN_DEPS,
2954
+ THEN_AND_THEN_DEPS_IN_CALL,
2955
+ );
2956
+ const valuePropsType = addType(
2957
+ VALUE + PROPS,
2958
+ getPropTypeList(
2959
+ `valueId?: VId`,
2960
+ storeInstance + OPTIONAL_COLON + storeType,
2961
+ DEBUG_IDS_PROP_TYPE,
2962
+ ),
2963
+ getPropsDoc('a Value'),
2964
+ `<VId extends ${valueIdType}>`,
2965
+ );
2966
+ const valuesPropsType = addType(
2967
+ VALUES + PROPS,
2968
+ getPropTypeList(
2969
+ storeInstance + OPTIONAL_COLON + storeType,
2970
+ 'valueComponents?: {readonly [VId in ' +
2971
+ valueIdType +
2972
+ `]?: ComponentType<${valuePropsType}<VId>>;}`,
2973
+ `getValueComponentProps?: (valueId: ${valueIdType}) => ExtraProps`,
2974
+ SEPARATOR_PROP_TYPE,
2975
+ DEBUG_IDS_PROP_TYPE,
2976
+ ),
2977
+ getPropsDoc(getTheContentOfDoc(2, 1)),
2978
+ );
2979
+ addImport(1, uiReactModuleDefinition, valuesPropsType, valuePropsType);
2980
+ addComponent(
2981
+ VALUES + VIEW,
2982
+ '{' +
2983
+ storeInstance +
2984
+ ', valueComponents, getValueComponentProps' +
2985
+ SEPARATOR_AND_DEBUG_IDS +
2986
+ '}: ' +
2987
+ valuesPropsType,
2988
+ [
2989
+ wrap + `(${useValueIds}(${storeInstance}).map((valueId) => {`,
2990
+ 'const Value = valueComponents?.[valueId] ?? ' +
2991
+ getDefaultValueComponent +
2992
+ '(valueId);',
2993
+ 'return <Value',
2994
+ `{...${getProps}(getValueComponentProps, valueId)}`,
2995
+ 'key={valueId}',
2996
+ storeProp,
2997
+ DEBUG_IDS_PROP,
2998
+ '/>;',
2999
+ '}), separator)',
3000
+ ],
3001
+ getTheContentOfTheStoreDoc(2, 13) + AND_REGISTERS,
3002
+ );
3003
+ mapValuesSchema((valueId, type, _, VALUE_ID, valueName) => {
3004
+ const mapValueType = 'Map' + camel(type, 1);
3005
+ addImport(0, moduleDefinition, mapValueType);
3006
+ addImport(1, moduleDefinition, mapValueType);
3007
+ addProxyHook(
3008
+ HAS + valueName + VALUE,
3009
+ HAS + VALUE,
3010
+ BOOLEAN,
3011
+ getValueContentDoc(valueId, 0, 1) + AND_REGISTERS,
3012
+ EMPTY_STRING,
3013
+ VALUE_ID,
3014
+ );
3015
+ const useValue = addProxyHook(
3016
+ valueName + VALUE,
3017
+ VALUE,
3018
+ type,
3019
+ getValueContentDoc(valueId) + AND_REGISTERS,
3020
+ EMPTY_STRING,
3021
+ VALUE_ID,
3022
+ );
3023
+ addProxyHook(
3024
+ SET + valueName + VALUE + CALLBACK,
3025
+ SET + VALUE + CALLBACK,
3026
+ PARAMETERIZED_CALLBACK,
3027
+ getValueContentDoc(valueId, 9) + BASED_ON_A_PARAMETER,
3028
+ getParameterList(
3029
+ getGet(VALUE) + GETTER_ARGS + type + ' | ' + mapValueType,
3030
+ getGet(VALUE) + DEPS_SUFFIX,
3031
+ ),
3032
+ getParameterList(VALUE_ID, getGetAndGetDeps(VALUE)),
3033
+ GENERIC_PARAMETER,
3034
+ getParameterList(
3035
+ THEN_PREFIX,
3036
+ `value: ${type} | ${mapValueType})` + RETURNS_VOID,
3037
+ THEN_DEPS,
3038
+ ),
3039
+ THEN_AND_THEN_DEPS_IN_CALL,
3040
+ );
3041
+ addProxyHook(
3042
+ DEL + valueName + VALUE + CALLBACK,
3043
+ DEL + VALUE + CALLBACK,
3044
+ CALLBACK,
3045
+ getValueContentDoc(valueId, 12),
3046
+ EMPTY_STRING,
3047
+ VALUE_ID,
3048
+ EMPTY_STRING,
3049
+ THEN_AND_THEN_DEPS,
3050
+ THEN_AND_THEN_DEPS_IN_CALL,
3051
+ );
3052
+ addComponent(
3053
+ valueName + VALUE + VIEW,
3054
+ `{${storeInstance}, debugIds}: ${valuePropsType}<'${valueId}'>`,
3055
+ [
3056
+ wrap +
3057
+ `('' + ${useValue}(` +
3058
+ storeInstance +
3059
+ `) ?? '', undefined, debugIds, ${VALUE_ID})`,
3060
+ ],
3061
+ getValueContentDoc(valueId, 13) + AND_REGISTERS,
3062
+ );
3063
+ });
3064
+ addProxyHook(
3065
+ HAS + VALUES + LISTENER,
3066
+ HAS + VALUES + LISTENER,
3067
+ VOID,
3068
+ getTheContentOfTheStoreDoc(2, 8, 0, 1) + ' changes',
3069
+ getListenerHookParams(hasValuesListenerType),
3070
+ getListenerHookParamsInCall(),
3071
+ );
3072
+ addProxyHook(
3073
+ VALUES + LISTENER,
3074
+ VALUES + LISTENER,
3075
+ VOID,
3076
+ getTheContentOfTheStoreDoc(2, 8) + ' changes',
3077
+ getListenerHookParams(valuesListenerType),
3078
+ getListenerHookParamsInCall(),
3079
+ );
3080
+ addProxyHook(
3081
+ VALUE_IDS + LISTENER,
3082
+ VALUE_IDS + LISTENER,
3083
+ VOID,
3084
+ getListenerDoc(10, 0, 1),
3085
+ getListenerHookParams(valueIdsListenerType),
3086
+ getListenerHookParamsInCall(),
3087
+ );
3088
+ addProxyHook(
3089
+ HAS + VALUE + LISTENER,
3090
+ HAS + VALUE + LISTENER,
3091
+ VOID,
3092
+ getListenerDoc(11, 0, 0, 1),
3093
+ getListenerHookParams(
3094
+ hasValueListenerType,
3095
+ `valueId: ${valueIdType} | null`,
3096
+ ),
3097
+ getListenerHookParamsInCall('valueId'),
3098
+ );
3099
+ addProxyHook(
3100
+ VALUE + LISTENER,
3101
+ VALUE + LISTENER,
3102
+ VOID,
3103
+ getListenerDoc(11, 0),
3104
+ getListenerHookParams(
3105
+ valueListenerType,
3106
+ `valueId: ${valueIdType} | null`,
3107
+ ),
3108
+ getListenerHookParamsInCall('valueId'),
3109
+ );
3110
+ }
3111
+ addComponent(
3112
+ PROVIDER,
3113
+ `{${storeInstance}, ${storeInstance}ById, children}: ` +
3114
+ providerPropsType +
3115
+ ' & {readonly children: React.ReactNode}',
3116
+ [
3117
+ '{',
3118
+ USE_CONTEXT,
3119
+ 'return (',
3120
+ '<Context.' + PROVIDER,
3121
+ 'value={useMemo(',
3122
+ `() => [${storeInstance} ?? contextValue[0], {...contextValue[1], ...${storeInstance}ById}],`,
3123
+ `[${storeInstance}, ${storeInstance}ById, contextValue],`,
3124
+ ')}>',
3125
+ '{children}',
3126
+ `</Context.${PROVIDER}>`,
3127
+ ');',
3128
+ '}',
3129
+ ],
3130
+ 'Wraps part of an application in a context that provides default objects to be used by hooks and components within',
3131
+ );
3132
+ return [
3133
+ build(...getImports(0), ...getTypes(), ...getFunctions(0)),
3134
+ build(...getImports(1), ...getConstants(), ...getFunctions(1)),
3135
+ ];
3136
+ };
3137
+
3138
+ const getStoreApi = (tablesSchema, valuesSchema, module) => {
3139
+ if (objIsEmpty(tablesSchema) && objIsEmpty(valuesSchema)) {
3140
+ return [EMPTY_STRING, EMPTY_STRING, EMPTY_STRING, EMPTY_STRING];
3141
+ }
3142
+ const [dTsCore, tsCore, sharedTableTypes, sharedValueTypes] = getStoreCoreApi(
3143
+ tablesSchema,
3144
+ valuesSchema,
3145
+ module,
3146
+ );
3147
+ return [
3148
+ dTsCore,
3149
+ tsCore,
3150
+ ...getStoreUiReactApi(
3151
+ tablesSchema,
3152
+ valuesSchema,
3153
+ module,
3154
+ sharedTableTypes,
3155
+ sharedValueTypes,
3156
+ ),
3157
+ ];
3158
+ };
3159
+
3160
+ const jsonParse = JSON.parse;
3161
+
3162
+ const PRETTIER = 'prettier/';
3163
+ const PRETTIER_PLUGINS = PRETTIER + 'plugins/';
3164
+ const prettierConfig = {
3165
+ parser: 'typescript',
3166
+ singleQuote: true,
3167
+ trailingComma: 'all',
3168
+ bracketSpacing: false,
3169
+ jsdocSingleLineComment: false,
3170
+ };
3171
+ const createTools = getCreateFunction((store) => {
3172
+ const getStoreStats = (detail) => {
3173
+ let totalTables = 0;
3174
+ let totalRows = 0;
3175
+ let totalCells = 0;
3176
+ const tables = {};
3177
+ store.forEachTable((tableId, forEachRow) => {
3178
+ totalTables++;
3179
+ let tableRows = 0;
3180
+ let tableCells = 0;
3181
+ const rows = {};
3182
+ forEachRow((rowId, forEachCell) => {
3183
+ tableRows++;
3184
+ let rowCells = 0;
3185
+ forEachCell(() => rowCells++);
3186
+ tableCells += rowCells;
3187
+ if (detail) {
3188
+ rows[rowId] = {rowCells};
3189
+ }
3190
+ });
3191
+ totalRows += tableRows;
3192
+ totalCells += tableCells;
3193
+ if (detail) {
3194
+ tables[tableId] = {tableRows, tableCells, rows};
3195
+ }
3196
+ });
3197
+ return {
3198
+ totalTables,
3199
+ totalRows,
3200
+ totalCells,
3201
+ totalValues: size(store.getValueIds()),
3202
+ jsonLength: size(store.getJson()),
3203
+ ...(detail ? {detail: {tables}} : {}),
3204
+ };
3205
+ };
3206
+ const getStoreTablesSchema = () => {
3207
+ const tablesSchema = jsonParse(store.getTablesSchemaJson());
3208
+ if (
3209
+ !objIsEmpty(tablesSchema) ||
3210
+ arrayEvery(store.getTableIds(), (tableId) => {
3211
+ const rowIds = store.getRowIds(tableId);
3212
+ const cellsMeta = mapNew();
3213
+ if (
3214
+ arrayEvery(rowIds, (rowId) =>
3215
+ arrayEvery(store.getCellIds(tableId, rowId), (cellId) => {
3216
+ const value = store.getCell(tableId, rowId, cellId);
3217
+ const cellMeta = mapEnsure(cellsMeta, cellId, () => [
3218
+ getCellOrValueType(value),
3219
+ mapNew(),
3220
+ [0],
3221
+ 0,
3222
+ ]);
3223
+ const [type, values, [maxCount]] = cellMeta;
3224
+ const count = mapEnsure(values, value, () => 0) + 1;
3225
+ if (count > maxCount) {
3226
+ cellMeta[2] = [count, value];
3227
+ }
3228
+ mapSet(values, value, count);
3229
+ cellMeta[3]++;
3230
+ return type == getCellOrValueType(value);
3231
+ }),
3232
+ )
3233
+ ) {
3234
+ tablesSchema[tableId] = {};
3235
+ collForEach(cellsMeta, ([type, , [, maxValue], count], cellId) => {
3236
+ tablesSchema[tableId][cellId] = {
3237
+ [TYPE]: type,
3238
+ ...(count == size(rowIds) ? {[DEFAULT]: maxValue} : {}),
3239
+ };
3240
+ });
3241
+ return 1;
3242
+ }
3243
+ })
3244
+ ) {
3245
+ return tablesSchema;
3246
+ }
3247
+ return {};
3248
+ };
3249
+ const getStoreValuesSchema = () => {
3250
+ const valuesSchema = jsonParse(store.getValuesSchemaJson());
3251
+ if (objIsEmpty(valuesSchema)) {
3252
+ store.forEachValue((valueId, value) => {
3253
+ valuesSchema[valueId] = {
3254
+ [TYPE]: getCellOrValueType(value),
3255
+ };
3256
+ });
3257
+ }
3258
+ return valuesSchema;
3259
+ };
3260
+ const getStoreApi$1 = (module) =>
3261
+ getStoreApi(getStoreTablesSchema(), getStoreValuesSchema(), module);
3262
+ const getPrettyStoreApi = async (module) => {
3263
+ const extensions = ['d.ts', 'ts', 'd.ts', 'tsx'];
3264
+ const plugins = [];
3265
+ let format;
3266
+ try {
3267
+ format = (await import(PRETTIER + 'standalone')).format;
3268
+ arrayPush(
3269
+ plugins,
3270
+ await import(PRETTIER_PLUGINS + 'estree'),
3271
+ await import(PRETTIER_PLUGINS + 'typescript'),
3272
+ );
3273
+ } catch (e) {
3274
+ format = async (str) => str;
3275
+ }
3276
+ return await promiseAll(
3277
+ arrayMap(getStoreApi$1(module), async (file, f) =>
3278
+ formatJsDoc(
3279
+ await format(file, {
3280
+ ...prettierConfig,
3281
+ plugins,
3282
+ filepath: `_.${extensions[f]}`,
3283
+ }),
3284
+ ),
3285
+ ),
3286
+ );
3287
+ };
3288
+ const getStore = () => store;
3289
+ const tools = {
3290
+ getStoreStats,
3291
+ getStoreTablesSchema,
3292
+ getStoreValuesSchema,
3293
+ getStoreApi: getStoreApi$1,
3294
+ getPrettyStoreApi,
3295
+ getStore,
3296
+ };
3297
+ return objFreeze(tools);
3298
+ });
3299
+
3300
+ exports.createTools = createTools;