tinybase 5.0.0-beta.0 → 5.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.js +1 -1
  3. package/lib/checkpoints.js.gz +0 -0
  4. package/lib/cjs/checkpoints.cjs +1 -1
  5. package/lib/cjs/checkpoints.cjs.gz +0 -0
  6. package/lib/cjs/indexes.cjs +1 -1
  7. package/lib/cjs/indexes.cjs.gz +0 -0
  8. package/lib/cjs/mergeable-store.cjs +1 -0
  9. package/lib/cjs/mergeable-store.cjs.gz +0 -0
  10. package/lib/cjs/metrics.cjs +1 -1
  11. package/lib/cjs/metrics.cjs.gz +0 -0
  12. package/lib/cjs/persisters/persister-automerge.cjs +1 -1
  13. package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
  14. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  15. package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  16. package/lib/cjs/persisters/persister-electric-sql.cjs +1 -1
  17. package/lib/cjs/persisters/persister-electric-sql.cjs.gz +0 -0
  18. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs +1 -1
  19. package/lib/cjs/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  20. package/lib/cjs/persisters/persister-expo-sqlite.cjs +1 -1
  21. package/lib/cjs/persisters/persister-expo-sqlite.cjs.gz +0 -0
  22. package/lib/cjs/persisters/persister-indexed-db.cjs +1 -1
  23. package/lib/cjs/persisters/persister-indexed-db.cjs.gz +0 -0
  24. package/lib/cjs/persisters/persister-partykit-server.cjs +1 -1
  25. package/lib/cjs/persisters/persister-partykit-server.cjs.gz +0 -0
  26. package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
  27. package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  28. package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
  29. package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
  30. package/lib/cjs/persisters/persister-yjs.cjs +1 -1
  31. package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
  32. package/lib/cjs/queries.cjs +1 -1
  33. package/lib/cjs/queries.cjs.gz +0 -0
  34. package/lib/cjs/relationships.cjs +1 -1
  35. package/lib/cjs/relationships.cjs.gz +0 -0
  36. package/lib/cjs/store.cjs +1 -1
  37. package/lib/cjs/store.cjs.gz +0 -0
  38. package/lib/cjs/tinybase.cjs +1 -1
  39. package/lib/cjs/tinybase.cjs.gz +0 -0
  40. package/lib/cjs/tools.cjs +1 -1
  41. package/lib/cjs/tools.cjs.gz +0 -0
  42. package/lib/cjs/ui-react-dom-debug.cjs +1 -1
  43. package/lib/cjs/ui-react-dom-debug.cjs.gz +0 -0
  44. package/lib/cjs/ui-react-dom.cjs +1 -1
  45. package/lib/cjs/ui-react-dom.cjs.gz +0 -0
  46. package/lib/cjs/ui-react.cjs +1 -1
  47. package/lib/cjs/ui-react.cjs.gz +0 -0
  48. package/lib/cjs-es6/checkpoints.cjs +1 -1
  49. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  50. package/lib/cjs-es6/indexes.cjs +1 -1
  51. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  52. package/lib/cjs-es6/mergeable-store.cjs +1 -0
  53. package/lib/cjs-es6/mergeable-store.cjs.gz +0 -0
  54. package/lib/cjs-es6/metrics.cjs +1 -1
  55. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  56. package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
  57. package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
  58. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
  59. package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
  60. package/lib/cjs-es6/persisters/persister-electric-sql.cjs +1 -1
  61. package/lib/cjs-es6/persisters/persister-electric-sql.cjs.gz +0 -0
  62. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs +1 -1
  63. package/lib/cjs-es6/persisters/persister-expo-sqlite-next.cjs.gz +0 -0
  64. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs +1 -1
  65. package/lib/cjs-es6/persisters/persister-expo-sqlite.cjs.gz +0 -0
  66. package/lib/cjs-es6/persisters/persister-indexed-db.cjs +1 -1
  67. package/lib/cjs-es6/persisters/persister-indexed-db.cjs.gz +0 -0
  68. package/lib/cjs-es6/persisters/persister-partykit-server.cjs +1 -1
  69. package/lib/cjs-es6/persisters/persister-partykit-server.cjs.gz +0 -0
  70. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
  71. package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
  72. package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
  73. package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
  74. package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
  75. package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
  76. package/lib/cjs-es6/queries.cjs +1 -1
  77. package/lib/cjs-es6/queries.cjs.gz +0 -0
  78. package/lib/cjs-es6/relationships.cjs +1 -1
  79. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  80. package/lib/cjs-es6/store.cjs +1 -1
  81. package/lib/cjs-es6/store.cjs.gz +0 -0
  82. package/lib/cjs-es6/tinybase.cjs +1 -1
  83. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  84. package/lib/cjs-es6/tools.cjs +1 -1
  85. package/lib/cjs-es6/tools.cjs.gz +0 -0
  86. package/lib/cjs-es6/ui-react-dom-debug.cjs +1 -1
  87. package/lib/cjs-es6/ui-react-dom-debug.cjs.gz +0 -0
  88. package/lib/cjs-es6/ui-react-dom.cjs +1 -1
  89. package/lib/cjs-es6/ui-react-dom.cjs.gz +0 -0
  90. package/lib/cjs-es6/ui-react.cjs +1 -1
  91. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  92. package/lib/debug/checkpoints.js +251 -234
  93. package/lib/debug/indexes.js +7 -5
  94. package/lib/debug/mergeable-store.js +1892 -0
  95. package/lib/debug/metrics.js +7 -5
  96. package/lib/debug/persisters/persister-automerge.js +15 -11
  97. package/lib/debug/persisters/persister-browser.js +1 -0
  98. package/lib/debug/persisters/persister-cr-sqlite-wasm.js +16 -12
  99. package/lib/debug/persisters/persister-electric-sql.js +17 -12
  100. package/lib/debug/persisters/persister-expo-sqlite-next.js +17 -13
  101. package/lib/debug/persisters/persister-expo-sqlite.js +16 -12
  102. package/lib/debug/persisters/persister-file.js +1 -0
  103. package/lib/debug/persisters/persister-indexed-db.js +10 -4
  104. package/lib/debug/persisters/persister-partykit-client.js +1 -0
  105. package/lib/debug/persisters/persister-partykit-server.js +7 -6
  106. package/lib/debug/persisters/persister-remote.js +1 -0
  107. package/lib/debug/persisters/persister-sqlite-wasm.js +16 -12
  108. package/lib/debug/persisters/persister-sqlite3.js +16 -12
  109. package/lib/debug/persisters/persister-yjs.js +9 -7
  110. package/lib/debug/persisters.js +1 -0
  111. package/lib/debug/queries.js +11 -8
  112. package/lib/debug/relationships.js +7 -5
  113. package/lib/debug/store.js +23 -11
  114. package/lib/debug/tinybase.js +554 -246
  115. package/lib/debug/tools.js +23 -47
  116. package/lib/debug/ui-react-dom.js +51 -40
  117. package/lib/debug/ui-react.js +166 -200
  118. package/lib/es6/checkpoints.js +1 -1
  119. package/lib/es6/checkpoints.js.gz +0 -0
  120. package/lib/es6/indexes.js +1 -1
  121. package/lib/es6/indexes.js.gz +0 -0
  122. package/lib/es6/mergeable-store.js +1 -0
  123. package/lib/es6/mergeable-store.js.gz +0 -0
  124. package/lib/es6/metrics.js +1 -1
  125. package/lib/es6/metrics.js.gz +0 -0
  126. package/lib/es6/persisters/persister-automerge.js +1 -1
  127. package/lib/es6/persisters/persister-automerge.js.gz +0 -0
  128. package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  129. package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  130. package/lib/es6/persisters/persister-electric-sql.js +1 -1
  131. package/lib/es6/persisters/persister-electric-sql.js.gz +0 -0
  132. package/lib/es6/persisters/persister-expo-sqlite-next.js +1 -1
  133. package/lib/es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  134. package/lib/es6/persisters/persister-expo-sqlite.js +1 -1
  135. package/lib/es6/persisters/persister-expo-sqlite.js.gz +0 -0
  136. package/lib/es6/persisters/persister-indexed-db.js +1 -1
  137. package/lib/es6/persisters/persister-indexed-db.js.gz +0 -0
  138. package/lib/es6/persisters/persister-partykit-server.js +1 -1
  139. package/lib/es6/persisters/persister-partykit-server.js.gz +0 -0
  140. package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
  141. package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  142. package/lib/es6/persisters/persister-sqlite3.js +1 -1
  143. package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
  144. package/lib/es6/persisters/persister-yjs.js +1 -1
  145. package/lib/es6/persisters/persister-yjs.js.gz +0 -0
  146. package/lib/es6/queries.js +1 -1
  147. package/lib/es6/queries.js.gz +0 -0
  148. package/lib/es6/relationships.js +1 -1
  149. package/lib/es6/relationships.js.gz +0 -0
  150. package/lib/es6/store.js +1 -1
  151. package/lib/es6/store.js.gz +0 -0
  152. package/lib/es6/tinybase.js +1 -1
  153. package/lib/es6/tinybase.js.gz +0 -0
  154. package/lib/es6/tools.js +1 -1
  155. package/lib/es6/tools.js.gz +0 -0
  156. package/lib/es6/ui-react-dom-debug.js +1 -1
  157. package/lib/es6/ui-react-dom-debug.js.gz +0 -0
  158. package/lib/es6/ui-react-dom.js +1 -1
  159. package/lib/es6/ui-react-dom.js.gz +0 -0
  160. package/lib/es6/ui-react.js +1 -1
  161. package/lib/es6/ui-react.js.gz +0 -0
  162. package/lib/indexes.js +1 -1
  163. package/lib/indexes.js.gz +0 -0
  164. package/lib/mergeable-store.js +1 -0
  165. package/lib/mergeable-store.js.gz +0 -0
  166. package/lib/metrics.js +1 -1
  167. package/lib/metrics.js.gz +0 -0
  168. package/lib/persisters/persister-automerge.js +1 -1
  169. package/lib/persisters/persister-automerge.js.gz +0 -0
  170. package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
  171. package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  172. package/lib/persisters/persister-electric-sql.js +1 -1
  173. package/lib/persisters/persister-electric-sql.js.gz +0 -0
  174. package/lib/persisters/persister-expo-sqlite-next.js +1 -1
  175. package/lib/persisters/persister-expo-sqlite-next.js.gz +0 -0
  176. package/lib/persisters/persister-expo-sqlite.js +1 -1
  177. package/lib/persisters/persister-expo-sqlite.js.gz +0 -0
  178. package/lib/persisters/persister-indexed-db.js +1 -1
  179. package/lib/persisters/persister-indexed-db.js.gz +0 -0
  180. package/lib/persisters/persister-partykit-server.js +1 -1
  181. package/lib/persisters/persister-partykit-server.js.gz +0 -0
  182. package/lib/persisters/persister-sqlite-wasm.js +1 -1
  183. package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
  184. package/lib/persisters/persister-sqlite3.js +1 -1
  185. package/lib/persisters/persister-sqlite3.js.gz +0 -0
  186. package/lib/persisters/persister-yjs.js +1 -1
  187. package/lib/persisters/persister-yjs.js.gz +0 -0
  188. package/lib/queries.js +1 -1
  189. package/lib/queries.js.gz +0 -0
  190. package/lib/relationships.js +1 -1
  191. package/lib/relationships.js.gz +0 -0
  192. package/lib/store.js +1 -1
  193. package/lib/store.js.gz +0 -0
  194. package/lib/tinybase.js +1 -1
  195. package/lib/tinybase.js.gz +0 -0
  196. package/lib/tools.js +1 -1
  197. package/lib/tools.js.gz +0 -0
  198. package/lib/types/mergeable-store.d.ts +55 -0
  199. package/lib/types/persisters/persister-automerge.d.ts +8 -7
  200. package/lib/types/persisters/persister-browser.d.ts +2 -0
  201. package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  202. package/lib/types/persisters/persister-electric-sql.d.ts +1 -0
  203. package/lib/types/persisters/persister-expo-sqlite-next.d.ts +4 -3
  204. package/lib/types/persisters/persister-expo-sqlite.d.ts +1 -0
  205. package/lib/types/persisters/persister-file.d.ts +1 -0
  206. package/lib/types/persisters/persister-indexed-db.d.ts +1 -0
  207. package/lib/types/persisters/persister-partykit-client.d.ts +1 -0
  208. package/lib/types/persisters/persister-partykit-server.d.ts +5 -0
  209. package/lib/types/persisters/persister-remote.d.ts +1 -0
  210. package/lib/types/persisters/persister-sqlite-wasm.d.ts +1 -0
  211. package/lib/types/persisters/persister-sqlite3.d.ts +1 -0
  212. package/lib/types/persisters/persister-yjs.d.ts +1 -0
  213. package/lib/types/persisters.d.ts +3 -3
  214. package/lib/types/store.d.ts +90 -77
  215. package/lib/types/tinybase.d.ts +1 -0
  216. package/lib/types/ui-react.d.ts +78 -88
  217. package/lib/types/with-schemas/internal/queries.d.ts +4 -3
  218. package/lib/types/with-schemas/internal/store.d.ts +8 -3
  219. package/lib/types/with-schemas/mergeable-store.d.ts +85 -0
  220. package/lib/types/with-schemas/persisters/persister-automerge.d.ts +8 -7
  221. package/lib/types/with-schemas/persisters/persister-browser.d.ts +2 -0
  222. package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +1 -0
  223. package/lib/types/with-schemas/persisters/persister-electric-sql.d.ts +1 -0
  224. package/lib/types/with-schemas/persisters/persister-expo-sqlite-next.d.ts +5 -4
  225. package/lib/types/with-schemas/persisters/persister-expo-sqlite.d.ts +1 -0
  226. package/lib/types/with-schemas/persisters/persister-file.d.ts +1 -0
  227. package/lib/types/with-schemas/persisters/persister-indexed-db.d.ts +1 -0
  228. package/lib/types/with-schemas/persisters/persister-partykit-client.d.ts +1 -0
  229. package/lib/types/with-schemas/persisters/persister-partykit-server.d.ts +5 -0
  230. package/lib/types/with-schemas/persisters/persister-remote.d.ts +1 -0
  231. package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +1 -0
  232. package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +1 -0
  233. package/lib/types/with-schemas/persisters/persister-yjs.d.ts +1 -0
  234. package/lib/types/with-schemas/persisters.d.ts +3 -3
  235. package/lib/types/with-schemas/store.d.ts +203 -141
  236. package/lib/types/with-schemas/tinybase.d.ts +1 -0
  237. package/lib/types/with-schemas/ui-react.d.ts +84 -95
  238. package/lib/ui-react-dom.js +1 -1
  239. package/lib/ui-react-dom.js.gz +0 -0
  240. package/lib/ui-react.js +1 -1
  241. package/lib/ui-react.js.gz +0 -0
  242. package/lib/umd/checkpoints.js +1 -1
  243. package/lib/umd/checkpoints.js.gz +0 -0
  244. package/lib/umd/indexes.js +1 -1
  245. package/lib/umd/indexes.js.gz +0 -0
  246. package/lib/umd/mergeable-store.js +1 -0
  247. package/lib/umd/mergeable-store.js.gz +0 -0
  248. package/lib/umd/metrics.js +1 -1
  249. package/lib/umd/metrics.js.gz +0 -0
  250. package/lib/umd/persisters/persister-automerge.js +1 -1
  251. package/lib/umd/persisters/persister-automerge.js.gz +0 -0
  252. package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
  253. package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  254. package/lib/umd/persisters/persister-electric-sql.js +1 -1
  255. package/lib/umd/persisters/persister-electric-sql.js.gz +0 -0
  256. package/lib/umd/persisters/persister-expo-sqlite-next.js +1 -1
  257. package/lib/umd/persisters/persister-expo-sqlite-next.js.gz +0 -0
  258. package/lib/umd/persisters/persister-expo-sqlite.js +1 -1
  259. package/lib/umd/persisters/persister-expo-sqlite.js.gz +0 -0
  260. package/lib/umd/persisters/persister-indexed-db.js +1 -1
  261. package/lib/umd/persisters/persister-indexed-db.js.gz +0 -0
  262. package/lib/umd/persisters/persister-partykit-server.js +1 -1
  263. package/lib/umd/persisters/persister-partykit-server.js.gz +0 -0
  264. package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
  265. package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
  266. package/lib/umd/persisters/persister-sqlite3.js +1 -1
  267. package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
  268. package/lib/umd/persisters/persister-yjs.js +1 -1
  269. package/lib/umd/persisters/persister-yjs.js.gz +0 -0
  270. package/lib/umd/queries.js +1 -1
  271. package/lib/umd/queries.js.gz +0 -0
  272. package/lib/umd/relationships.js +1 -1
  273. package/lib/umd/relationships.js.gz +0 -0
  274. package/lib/umd/store.js +1 -1
  275. package/lib/umd/store.js.gz +0 -0
  276. package/lib/umd/tinybase.js +1 -1
  277. package/lib/umd/tinybase.js.gz +0 -0
  278. package/lib/umd/tools.js +1 -1
  279. package/lib/umd/tools.js.gz +0 -0
  280. package/lib/umd/ui-react-dom-debug.js +1 -1
  281. package/lib/umd/ui-react-dom-debug.js.gz +0 -0
  282. package/lib/umd/ui-react-dom.js +1 -1
  283. package/lib/umd/ui-react-dom.js.gz +0 -0
  284. package/lib/umd/ui-react.js +1 -1
  285. package/lib/umd/ui-react.js.gz +0 -0
  286. package/lib/umd-es6/checkpoints.js +1 -1
  287. package/lib/umd-es6/checkpoints.js.gz +0 -0
  288. package/lib/umd-es6/indexes.js +1 -1
  289. package/lib/umd-es6/indexes.js.gz +0 -0
  290. package/lib/umd-es6/mergeable-store.js +1 -0
  291. package/lib/umd-es6/mergeable-store.js.gz +0 -0
  292. package/lib/umd-es6/metrics.js +1 -1
  293. package/lib/umd-es6/metrics.js.gz +0 -0
  294. package/lib/umd-es6/persisters/persister-automerge.js +1 -1
  295. package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
  296. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
  297. package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
  298. package/lib/umd-es6/persisters/persister-electric-sql.js +1 -1
  299. package/lib/umd-es6/persisters/persister-electric-sql.js.gz +0 -0
  300. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js +1 -1
  301. package/lib/umd-es6/persisters/persister-expo-sqlite-next.js.gz +0 -0
  302. package/lib/umd-es6/persisters/persister-expo-sqlite.js +1 -1
  303. package/lib/umd-es6/persisters/persister-expo-sqlite.js.gz +0 -0
  304. package/lib/umd-es6/persisters/persister-indexed-db.js +1 -1
  305. package/lib/umd-es6/persisters/persister-indexed-db.js.gz +0 -0
  306. package/lib/umd-es6/persisters/persister-partykit-server.js +1 -1
  307. package/lib/umd-es6/persisters/persister-partykit-server.js.gz +0 -0
  308. package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
  309. package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
  310. package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
  311. package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
  312. package/lib/umd-es6/persisters/persister-yjs.js +1 -1
  313. package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
  314. package/lib/umd-es6/queries.js +1 -1
  315. package/lib/umd-es6/queries.js.gz +0 -0
  316. package/lib/umd-es6/relationships.js +1 -1
  317. package/lib/umd-es6/relationships.js.gz +0 -0
  318. package/lib/umd-es6/store.js +1 -1
  319. package/lib/umd-es6/store.js.gz +0 -0
  320. package/lib/umd-es6/tinybase.js +1 -1
  321. package/lib/umd-es6/tinybase.js.gz +0 -0
  322. package/lib/umd-es6/tools.js +1 -1
  323. package/lib/umd-es6/tools.js.gz +0 -0
  324. package/lib/umd-es6/ui-react-dom-debug.js +1 -1
  325. package/lib/umd-es6/ui-react-dom-debug.js.gz +0 -0
  326. package/lib/umd-es6/ui-react-dom.js +1 -1
  327. package/lib/umd-es6/ui-react-dom.js.gz +0 -0
  328. package/lib/umd-es6/ui-react.js +1 -1
  329. package/lib/umd-es6/ui-react.js.gz +0 -0
  330. package/package.json +37 -37
  331. package/readme.md +2 -2
@@ -17,6 +17,7 @@ import {
17
17
  DefaultValueIdFromSchema,
18
18
  DefaultedCellFromSchema,
19
19
  DefaultedValueFromSchema,
20
+ StoreAlias,
20
21
  TableIdFromSchema,
21
22
  Truncate,
22
23
  ValueIdFromSchema,
@@ -818,7 +819,7 @@ export type DoRollback<Schemas extends OptionalSchemas> = (
818
819
  * This has schema-based typing. The following is a simplified representation:
819
820
  *
820
821
  * ```ts override
821
- * (
822
+ * export type TransactionListener<Store extends StoreAlias = StoreAlias> = (
822
823
  * store: Store,
823
824
  * getTransactionChanges: GetTransactionChanges,
824
825
  * getTransactionLog: GetTransactionLog,
@@ -840,8 +841,11 @@ export type DoRollback<Schemas extends OptionalSchemas> = (
840
841
  * log of the changes made or attempted during the transaction, since v4.0.
841
842
  * @category Listener
842
843
  */
843
- export type TransactionListener<Schemas extends OptionalSchemas> = (
844
- store: Store<Schemas>,
844
+ export type TransactionListener<
845
+ Schemas extends OptionalSchemas,
846
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
847
+ > = (
848
+ store: Store,
845
849
  getTransactionChanges: GetTransactionChanges<Schemas>,
846
850
  getTransactionLog: GetTransactionLog<Schemas>,
847
851
  ) => void;
@@ -853,7 +857,10 @@ export type TransactionListener<Schemas extends OptionalSchemas> = (
853
857
  * This has schema-based typing. The following is a simplified representation:
854
858
  *
855
859
  * ```ts override
856
- * (store: Store, hasTables: boolean) => void;
860
+ * export type HasTablesListener<Store extends StoreAlias = StoreAlias> = (
861
+ * store: Store,
862
+ * hasTables: boolean,
863
+ * ) => void;
857
864
  * ```
858
865
  *
859
866
  * A HasTablesListener is provided when using the addHasTablesListener method.
@@ -867,10 +874,10 @@ export type TransactionListener<Schemas extends OptionalSchemas> = (
867
874
  * @category Listener
868
875
  * @since v4.4.0
869
876
  */
870
- export type HasTablesListener<Schemas extends OptionalSchemas> = (
871
- store: Store<Schemas>,
872
- hasTables: boolean,
873
- ) => void;
877
+ export type HasTablesListener<
878
+ Schemas extends OptionalSchemas,
879
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
880
+ > = (store: Store, hasTables: boolean) => void;
874
881
 
875
882
  /**
876
883
  * The TablesListener type describes a function that is used to listen to
@@ -879,7 +886,7 @@ export type HasTablesListener<Schemas extends OptionalSchemas> = (
879
886
  * This has schema-based typing. The following is a simplified representation:
880
887
  *
881
888
  * ```ts override
882
- * (
889
+ * export type TablesListener<Store extends StoreAlias = StoreAlias> = (
883
890
  * store: Store,
884
891
  * getCellChange: GetCellChange | undefined,
885
892
  * ) => void;
@@ -900,8 +907,11 @@ export type HasTablesListener<Schemas extends OptionalSchemas> = (
900
907
  * changes.
901
908
  * @category Listener
902
909
  */
903
- export type TablesListener<Schemas extends OptionalSchemas> = (
904
- store: Store<Schemas>,
910
+ export type TablesListener<
911
+ Schemas extends OptionalSchemas,
912
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
913
+ > = (
914
+ store: Store,
905
915
  getCellChange: GetCellChange<Schemas[0]> | undefined,
906
916
  ) => void;
907
917
 
@@ -912,7 +922,7 @@ export type TablesListener<Schemas extends OptionalSchemas> = (
912
922
  * This has schema-based typing. The following is a simplified representation:
913
923
  *
914
924
  * ```ts override
915
- * (
925
+ * export type TableIdsListener<Store extends StoreAlias = StoreAlias> = (
916
926
  * store: Store,
917
927
  * getIdChanges: GetIdChanges | undefined,
918
928
  * ) => void;
@@ -930,8 +940,11 @@ export type TablesListener<Schemas extends OptionalSchemas> = (
930
940
  * since v3.3.
931
941
  * @category Listener
932
942
  */
933
- export type TableIdsListener<Schemas extends OptionalSchemas> = (
934
- store: Store<Schemas>,
943
+ export type TableIdsListener<
944
+ Schemas extends OptionalSchemas,
945
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
946
+ > = (
947
+ store: Store,
935
948
  getIdChanges: GetIdChanges<TableIdFromSchema<Schemas[0]>> | undefined,
936
949
  ) => void;
937
950
 
@@ -942,7 +955,7 @@ export type TableIdsListener<Schemas extends OptionalSchemas> = (
942
955
  * This has schema-based typing. The following is a simplified representation:
943
956
  *
944
957
  * ```ts override
945
- * (
958
+ * export type HasTableListener<Store extends StoreAlias = StoreAlias> = (
946
959
  * store: Store,
947
960
  * tableId: Id,
948
961
  * hasTable: boolean,
@@ -965,8 +978,9 @@ export type TableIdsListener<Schemas extends OptionalSchemas> = (
965
978
  export type HasTableListener<
966
979
  Schemas extends OptionalSchemas,
967
980
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
981
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
968
982
  > = (
969
- store: Store<Schemas>,
983
+ store: Store,
970
984
  tableId: TableIdOrNull extends null
971
985
  ? TableIdFromSchema<Schemas[0]>
972
986
  : TableIdOrNull,
@@ -980,7 +994,7 @@ export type HasTableListener<
980
994
  * This has schema-based typing. The following is a simplified representation:
981
995
  *
982
996
  * ```ts override
983
- * (
997
+ * export type TableListener<Store extends StoreAlias = StoreAlias> = (
984
998
  * store: Store,
985
999
  * tableId: Id,
986
1000
  * getCellChange: GetCellChange | undefined,
@@ -1006,8 +1020,9 @@ export type HasTableListener<
1006
1020
  export type TableListener<
1007
1021
  Schemas extends OptionalSchemas,
1008
1022
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1023
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1009
1024
  > = (
1010
- store: Store<Schemas>,
1025
+ store: Store,
1011
1026
  tableId: TableIdOrNull extends null
1012
1027
  ? TableIdFromSchema<Schemas[0]>
1013
1028
  : TableIdOrNull,
@@ -1021,7 +1036,7 @@ export type TableListener<
1021
1036
  * This has schema-based typing. The following is a simplified representation:
1022
1037
  *
1023
1038
  * ```ts override
1024
- * (
1039
+ * export type TableCellIdsListener<Store extends StoreAlias = StoreAlias> = (
1025
1040
  * store: Store,
1026
1041
  * tableId: Id,
1027
1042
  * getIdChanges: GetIdChanges | undefined,
@@ -1043,12 +1058,13 @@ export type TableListener<
1043
1058
  export type TableCellIdsListener<
1044
1059
  Schemas extends OptionalSchemas,
1045
1060
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1061
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1046
1062
  Params extends any[] = (
1047
1063
  TableIdOrNull extends null ? TableIdFromSchema<Schemas[0]> : TableIdOrNull
1048
1064
  ) extends infer TableId
1049
1065
  ? TableId extends TableIdFromSchema<Schemas[0]>
1050
1066
  ? [
1051
- store: Store<Schemas>,
1067
+ store: Store,
1052
1068
  tableId: TableId,
1053
1069
  getIdChanges: GetIdChanges<CellIdFromSchema<Schemas[0], TableId>>,
1054
1070
  ]
@@ -1071,7 +1087,7 @@ export type TableCellIdsListener<
1071
1087
  * This has schema-based typing. The following is a simplified representation:
1072
1088
  *
1073
1089
  * ```ts override
1074
- * (
1090
+ * export type HasTableCellListener<Store extends StoreAlias = StoreAlias> = (
1075
1091
  * store: Store,
1076
1092
  * tableId: Id,
1077
1093
  * cellId: Id,
@@ -1101,6 +1117,7 @@ export type HasTableCellListener<
1101
1117
  ? CellIdFromSchema<Schemas[0], TableIdOrNull>
1102
1118
  : AllCellIdFromSchema<Schemas[0]>)
1103
1119
  | null,
1120
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1104
1121
  Params extends any[] = (
1105
1122
  TableIdOrNull extends null ? TableIdFromSchema<Schemas[0]> : TableIdOrNull
1106
1123
  ) extends infer TableId
@@ -1112,7 +1129,7 @@ export type HasTableCellListener<
1112
1129
  ) extends infer CellId
1113
1130
  ? CellId extends CellIdFromSchema<Schemas[0], TableId>
1114
1131
  ? [
1115
- store: Store<Schemas>,
1132
+ store: Store,
1116
1133
  tableId: TableId,
1117
1134
  cellId: CellId,
1118
1135
  hasTableCell: boolean,
@@ -1140,7 +1157,7 @@ export type HasTableCellListener<
1140
1157
  * This has schema-based typing. The following is a simplified representation:
1141
1158
  *
1142
1159
  * ```ts override
1143
- * (
1160
+ * export type RowCountListener<Store extends StoreAlias = StoreAlias> = (
1144
1161
  * store: Store,
1145
1162
  * tableId: Id,
1146
1163
  * count: number,
@@ -1161,8 +1178,9 @@ export type HasTableCellListener<
1161
1178
  export type RowCountListener<
1162
1179
  Schemas extends OptionalSchemas,
1163
1180
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1181
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1164
1182
  > = (
1165
- store: Store<Schemas>,
1183
+ store: Store,
1166
1184
  tableId: TableIdOrNull extends null
1167
1185
  ? TableIdFromSchema<Schemas[0]>
1168
1186
  : TableIdOrNull,
@@ -1176,7 +1194,7 @@ export type RowCountListener<
1176
1194
  * This has schema-based typing. The following is a simplified representation:
1177
1195
  *
1178
1196
  * ```ts override
1179
- * (
1197
+ * export type RowIdsListener<Store extends StoreAlias = StoreAlias> = (
1180
1198
  * store: Store,
1181
1199
  * tableId: Id,
1182
1200
  * getIdChanges: GetIdChanges | undefined,
@@ -1200,8 +1218,9 @@ export type RowCountListener<
1200
1218
  export type RowIdsListener<
1201
1219
  Schemas extends OptionalSchemas,
1202
1220
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1221
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1203
1222
  > = (
1204
- store: Store<Schemas>,
1223
+ store: Store,
1205
1224
  tableId: TableIdOrNull extends null
1206
1225
  ? TableIdFromSchema<Schemas[0]>
1207
1226
  : TableIdOrNull,
@@ -1215,7 +1234,7 @@ export type RowIdsListener<
1215
1234
  * This has schema-based typing. The following is a simplified representation:
1216
1235
  *
1217
1236
  * ```ts override
1218
- * (
1237
+ * export type SortedRowIdsListener<Store extends StoreAlias = StoreAlias> = (
1219
1238
  * store: Store,
1220
1239
  * tableId: Id,
1221
1240
  * cellId: Id | undefined,
@@ -1252,8 +1271,9 @@ export type SortedRowIdsListener<
1252
1271
  Descending extends boolean,
1253
1272
  Offset extends number,
1254
1273
  Limit extends number | undefined,
1274
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1255
1275
  > = (
1256
- store: Store<Schemas>,
1276
+ store: Store,
1257
1277
  tableId: TableId,
1258
1278
  cellId: CellId,
1259
1279
  descending: Descending,
@@ -1269,7 +1289,7 @@ export type SortedRowIdsListener<
1269
1289
  * This has schema-based typing. The following is a simplified representation:
1270
1290
  *
1271
1291
  * ```ts override
1272
- * (
1292
+ * export type HasRowListener<Store extends StoreAlias = StoreAlias> = (
1273
1293
  * store: Store,
1274
1294
  * tableId: Id,
1275
1295
  * rowId: Id,
@@ -1295,8 +1315,9 @@ export type HasRowListener<
1295
1315
  Schemas extends OptionalSchemas,
1296
1316
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1297
1317
  RowIdOrNull extends IdOrNull,
1318
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1298
1319
  > = (
1299
- store: Store<Schemas>,
1320
+ store: Store,
1300
1321
  tableId: TableIdOrNull extends null
1301
1322
  ? TableIdFromSchema<Schemas[0]>
1302
1323
  : TableIdOrNull,
@@ -1311,7 +1332,7 @@ export type HasRowListener<
1311
1332
  * This has schema-based typing. The following is a simplified representation:
1312
1333
  *
1313
1334
  * ```ts override
1314
- * (
1335
+ * export type RowListener<Store extends StoreAlias = StoreAlias> = (
1315
1336
  * store: Store,
1316
1337
  * tableId: Id,
1317
1338
  * rowId: Id,
@@ -1341,8 +1362,9 @@ export type RowListener<
1341
1362
  Schemas extends OptionalSchemas,
1342
1363
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1343
1364
  RowIdOrNull extends IdOrNull,
1365
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1344
1366
  > = (
1345
- store: Store<Schemas>,
1367
+ store: Store,
1346
1368
  tableId: TableIdOrNull extends null
1347
1369
  ? TableIdFromSchema<Schemas[0]>
1348
1370
  : TableIdOrNull,
@@ -1357,7 +1379,7 @@ export type RowListener<
1357
1379
  * This has schema-based typing. The following is a simplified representation:
1358
1380
  *
1359
1381
  * ```ts override
1360
- * (
1382
+ * export type CellIdsListener<Store extends StoreAlias = StoreAlias> = (
1361
1383
  * store: Store,
1362
1384
  * tableId: Id,
1363
1385
  * rowId: Id,
@@ -1384,12 +1406,13 @@ export type CellIdsListener<
1384
1406
  Schemas extends OptionalSchemas,
1385
1407
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
1386
1408
  RowIdOrNull extends IdOrNull,
1409
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1387
1410
  Params extends any[] = (
1388
1411
  TableIdOrNull extends null ? TableIdFromSchema<Schemas[0]> : TableIdOrNull
1389
1412
  ) extends infer TableId
1390
1413
  ? TableId extends TableIdFromSchema<Schemas[0]>
1391
1414
  ? [
1392
- store: Store<Schemas>,
1415
+ store: Store,
1393
1416
  tableId: TableId,
1394
1417
  rowId: RowIdOrNull extends null ? Id : RowIdOrNull,
1395
1418
  getIdChanges: GetIdChanges<CellIdFromSchema<Schemas[0], TableId>>,
@@ -1415,7 +1438,7 @@ export type CellIdsListener<
1415
1438
  * This has schema-based typing. The following is a simplified representation:
1416
1439
  *
1417
1440
  * ```ts override
1418
- * (
1441
+ * export type HasCellListener<Store extends StoreAlias = StoreAlias> = (
1419
1442
  * store: Store,
1420
1443
  * tableId: Id,
1421
1444
  * rowId: Id,
@@ -1448,6 +1471,7 @@ export type HasCellListener<
1448
1471
  ? CellIdFromSchema<Schemas[0], TableIdOrNull>
1449
1472
  : AllCellIdFromSchema<Schemas[0]>)
1450
1473
  | null,
1474
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1451
1475
  Params extends any[] = (
1452
1476
  TableIdOrNull extends null ? TableIdFromSchema<Schemas[0]> : TableIdOrNull
1453
1477
  ) extends infer TableId
@@ -1459,7 +1483,7 @@ export type HasCellListener<
1459
1483
  ) extends infer CellId
1460
1484
  ? CellId extends CellIdFromSchema<Schemas[0], TableId>
1461
1485
  ? [
1462
- store: Store<Schemas>,
1486
+ store: Store,
1463
1487
  tableId: TableId,
1464
1488
  rowId: RowIdOrNull extends null ? Id : RowIdOrNull,
1465
1489
  cellId: CellId,
@@ -1498,7 +1522,7 @@ export type HasCellListener<
1498
1522
  * This has schema-based typing. The following is a simplified representation:
1499
1523
  *
1500
1524
  * ```ts override
1501
- * (
1525
+ * export type CellListener<Store extends StoreAlias = StoreAlias> = (
1502
1526
  * store: Store,
1503
1527
  * tableId: Id,
1504
1528
  * rowId: Id,
@@ -1541,6 +1565,7 @@ export type CellListener<
1541
1565
  ? CellIdFromSchema<Schemas[0], TableIdOrNull>
1542
1566
  : AllCellIdFromSchema<Schemas[0]>)
1543
1567
  | null,
1568
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1544
1569
  Params extends any[] = (
1545
1570
  TableIdOrNull extends null ? TableIdFromSchema<Schemas[0]> : TableIdOrNull
1546
1571
  ) extends infer TableId
@@ -1552,7 +1577,7 @@ export type CellListener<
1552
1577
  ) extends infer CellId
1553
1578
  ? CellId extends CellIdFromSchema<Schemas[0], TableId>
1554
1579
  ? [
1555
- store: Store<Schemas>,
1580
+ store: Store,
1556
1581
  tableId: TableId,
1557
1582
  rowId: RowIdOrNull extends null ? Id : RowIdOrNull,
1558
1583
  cellId: CellId,
@@ -1601,7 +1626,10 @@ export type CellListener<
1601
1626
  * This has schema-based typing. The following is a simplified representation:
1602
1627
  *
1603
1628
  * ```ts override
1604
- * (store: Store, hasValues: boolean) => void;
1629
+ * export type HasValuesListener<Store extends StoreAlias = StoreAlias> = (
1630
+ * store: Store,
1631
+ * hasValues: boolean,
1632
+ * ) => void;
1605
1633
  * ```
1606
1634
  *
1607
1635
  * A HasValuesListener is provided when using the addHasValuesListener method.
@@ -1615,10 +1643,10 @@ export type CellListener<
1615
1643
  * @category Listener
1616
1644
  * @since v4.4.0
1617
1645
  */
1618
- export type HasValuesListener<Schemas extends OptionalSchemas> = (
1619
- store: Store<Schemas>,
1620
- hasValues: boolean,
1621
- ) => void;
1646
+ export type HasValuesListener<
1647
+ Schemas extends OptionalSchemas,
1648
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1649
+ > = (store: Store, hasValues: boolean) => void;
1622
1650
 
1623
1651
  /**
1624
1652
  * The ValuesListener type describes a function that is used to listen to
@@ -1627,7 +1655,7 @@ export type HasValuesListener<Schemas extends OptionalSchemas> = (
1627
1655
  * This has schema-based typing. The following is a simplified representation:
1628
1656
  *
1629
1657
  * ```ts override
1630
- * (
1658
+ * export type ValuesListener<Store extends StoreAlias = StoreAlias> = (
1631
1659
  * store: Store,
1632
1660
  * getValueChange: GetValueChange | undefined,
1633
1661
  * ) => void;
@@ -1648,8 +1676,11 @@ export type HasValuesListener<Schemas extends OptionalSchemas> = (
1648
1676
  * changes.
1649
1677
  * @category Listener
1650
1678
  */
1651
- export type ValuesListener<Schemas extends OptionalSchemas> = (
1652
- store: Store<Schemas>,
1679
+ export type ValuesListener<
1680
+ Schemas extends OptionalSchemas,
1681
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1682
+ > = (
1683
+ store: Store,
1653
1684
  getValueChange: GetValueChange<Schemas[1]> | undefined,
1654
1685
  ) => void;
1655
1686
 
@@ -1660,7 +1691,7 @@ export type ValuesListener<Schemas extends OptionalSchemas> = (
1660
1691
  * This has schema-based typing. The following is a simplified representation:
1661
1692
  *
1662
1693
  * ```ts override
1663
- * (
1694
+ * export type ValueIdsListener<Store extends StoreAlias = StoreAlias> = (
1664
1695
  * store: Store,
1665
1696
  * getIdChanges: GetIdChanges | undefined,
1666
1697
  * ) => void;
@@ -1678,8 +1709,11 @@ export type ValuesListener<Schemas extends OptionalSchemas> = (
1678
1709
  * since v3.3.
1679
1710
  * @category Listener
1680
1711
  */
1681
- export type ValueIdsListener<Schemas extends OptionalSchemas> = (
1682
- store: Store<Schemas>,
1712
+ export type ValueIdsListener<
1713
+ Schemas extends OptionalSchemas,
1714
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1715
+ > = (
1716
+ store: Store,
1683
1717
  getIdChanges: GetIdChanges<ValueIdFromSchema<Schemas[1]>> | undefined,
1684
1718
  ) => void;
1685
1719
 
@@ -1690,7 +1724,7 @@ export type ValueIdsListener<Schemas extends OptionalSchemas> = (
1690
1724
  * This has schema-based typing. The following is a simplified representation:
1691
1725
  *
1692
1726
  * ```ts override
1693
- * (
1727
+ * export type HasValueListener<Store extends StoreAlias = StoreAlias> = (
1694
1728
  * store: Store,
1695
1729
  * valueId: Id,
1696
1730
  * hasValue: boolean,
@@ -1713,8 +1747,9 @@ export type ValueIdsListener<Schemas extends OptionalSchemas> = (
1713
1747
  export type HasValueListener<
1714
1748
  Schemas extends OptionalSchemas,
1715
1749
  ValueIdOrNull extends ValueIdFromSchema<Schemas[1]> | null,
1750
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1716
1751
  > = (
1717
- store: Store<Schemas>,
1752
+ store: Store,
1718
1753
  valueId: ValueIdOrNull extends null
1719
1754
  ? ValueIdFromSchema<Schemas[1]>
1720
1755
  : ValueIdOrNull,
@@ -1728,7 +1763,7 @@ export type HasValueListener<
1728
1763
  * This has schema-based typing. The following is a simplified representation:
1729
1764
  *
1730
1765
  * ```ts override
1731
- * (
1766
+ * export type ValueListener<Store extends StoreAlias = StoreAlias> = (
1732
1767
  * store: Store,
1733
1768
  * valueId: Id,
1734
1769
  * newValue: Value,
@@ -1761,12 +1796,13 @@ export type HasValueListener<
1761
1796
  export type ValueListener<
1762
1797
  Schemas extends OptionalSchemas,
1763
1798
  ValueIdOrNull extends ValueIdFromSchema<Schemas[1]> | null,
1799
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1764
1800
  Params extends any[] = (
1765
1801
  ValueIdOrNull extends null ? ValueIdFromSchema<Schemas[1]> : ValueIdOrNull
1766
1802
  ) extends infer ValueId
1767
1803
  ? ValueId extends ValueIdFromSchema<Schemas[1]>
1768
1804
  ? [
1769
- store: Store<Schemas>,
1805
+ store: Store,
1770
1806
  valueId: ValueId,
1771
1807
  newValue: Value<Schemas[1], ValueId>,
1772
1808
  oldValue: Value<Schemas[1], ValueId>,
@@ -1803,7 +1839,7 @@ export type ValueListener<
1803
1839
  * This has schema-based typing. The following is a simplified representation:
1804
1840
  *
1805
1841
  * ```ts override
1806
- * (
1842
+ * export type InvalidCellListener<Store extends StoreAlias = StoreAlias> = (
1807
1843
  * store: Store,
1808
1844
  * tableId: Id,
1809
1845
  * rowId: Id,
@@ -1829,8 +1865,11 @@ export type ValueListener<
1829
1865
  * @category Listener
1830
1866
  * @since v1.1.0
1831
1867
  */
1832
- export type InvalidCellListener<Schemas extends OptionalSchemas> = (
1833
- store: Store<Schemas>,
1868
+ export type InvalidCellListener<
1869
+ Schemas extends OptionalSchemas,
1870
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1871
+ > = (
1872
+ store: Store,
1834
1873
  tableId: Id,
1835
1874
  rowId: Id,
1836
1875
  cellId: Id,
@@ -1844,7 +1883,7 @@ export type InvalidCellListener<Schemas extends OptionalSchemas> = (
1844
1883
  * This has schema-based typing. The following is a simplified representation:
1845
1884
  *
1846
1885
  * ```ts override
1847
- * (
1886
+ * export type InvalidValueListener<Store extends StoreAlias = StoreAlias> = (
1848
1887
  * store: Store,
1849
1888
  * valueId: Id,
1850
1889
  * invalidValues: any[],
@@ -1866,11 +1905,10 @@ export type InvalidCellListener<Schemas extends OptionalSchemas> = (
1866
1905
  * @category Listener
1867
1906
  * @since v3.0.0
1868
1907
  */
1869
- export type InvalidValueListener<Schemas extends OptionalSchemas> = (
1870
- store: Store<Schemas>,
1871
- valueId: Id,
1872
- invalidValues: any[],
1873
- ) => void;
1908
+ export type InvalidValueListener<
1909
+ Schemas extends OptionalSchemas,
1910
+ Store extends StoreAlias<Schemas> = StoreAlias<Schemas>,
1911
+ > = (store: Store, valueId: Id, invalidValues: any[]) => void;
1874
1912
 
1875
1913
  /**
1876
1914
  * The GetIdChanges type describes a function that returns information about the
@@ -3643,7 +3681,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3643
3681
  * This has schema-based typing. The following is a simplified representation:
3644
3682
  *
3645
3683
  * ```ts override
3646
- * setContent([tables, values]: [Tables, Values]): Store;
3684
+ * setContent([tables, values]: [Tables, Values]): this;
3647
3685
  * ```
3648
3686
  *
3649
3687
  * This method will cause listeners to be called for any Table, Row, Cell,
@@ -3710,7 +3748,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3710
3748
  * This has schema-based typing. The following is a simplified representation:
3711
3749
  *
3712
3750
  * ```ts override
3713
- * setTables(tables: Tables): Store;
3751
+ * setTables(tables: Tables): this;
3714
3752
  * ```
3715
3753
  *
3716
3754
  * This method will cause listeners to be called for any Table, Row, Cell, or
@@ -3764,7 +3802,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3764
3802
  * This has schema-based typing. The following is a simplified representation:
3765
3803
  *
3766
3804
  * ```ts override
3767
- * setTable(tableId: Id, table: Table): Store;
3805
+ * setTable(tableId: Id, table: Table): this;
3768
3806
  * ```
3769
3807
  *
3770
3808
  * This method will cause listeners to be called for any Table, Row, Cell, or
@@ -3823,7 +3861,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3823
3861
  * This has schema-based typing. The following is a simplified representation:
3824
3862
  *
3825
3863
  * ```ts override
3826
- * setRow(tableId: Id, rowId: Id, row: Row): Store;
3864
+ * setRow(tableId: Id, rowId: Id, row: Row): this;
3827
3865
  * ```
3828
3866
  *
3829
3867
  * This method will cause listeners to be called for any Table, Row, Cell, or
@@ -3953,7 +3991,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
3953
3991
  * This has schema-based typing. The following is a simplified representation:
3954
3992
  *
3955
3993
  * ```ts override
3956
- * setPartialRow(tableId: Id, rowId: Id, partialRow: Row): Store;
3994
+ * setPartialRow(tableId: Id, rowId: Id, partialRow: Row): this;
3957
3995
  * ```
3958
3996
  *
3959
3997
  * This method will cause listeners to be called for any Table, Row, Cell, or
@@ -4013,7 +4051,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4013
4051
  * This has schema-based typing. The following is a simplified representation:
4014
4052
  *
4015
4053
  * ```ts override
4016
- * setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): Store;
4054
+ * setCell(tableId: Id, rowId: Id, cellId: Id, cell: Cell | MapCell): this;
4017
4055
  * ```
4018
4056
  *
4019
4057
  * This method will cause listeners to be called for any Table, Row, Cell, or
@@ -4086,7 +4124,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4086
4124
  * This has schema-based typing. The following is a simplified representation:
4087
4125
  *
4088
4126
  * ```ts override
4089
- * setValues(values: Values): Store;
4127
+ * setValues(values: Values): this;
4090
4128
  * ```
4091
4129
  *
4092
4130
  * This method will cause listeners to be called for any Value or Id changes
@@ -4140,7 +4178,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4140
4178
  * This has schema-based typing. The following is a simplified representation:
4141
4179
  *
4142
4180
  * ```ts override
4143
- * setPartialValues(partialValues: Values): Store;
4181
+ * setPartialValues(partialValues: Values): this;
4144
4182
  * ```
4145
4183
  *
4146
4184
  * This method will cause listeners to be called for any Values or Id changes
@@ -4194,7 +4232,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4194
4232
  * This has schema-based typing. The following is a simplified representation:
4195
4233
  *
4196
4234
  * ```ts override
4197
- * setValue(valueId: Id, value: Value | MapValue): Store;
4235
+ * setValue(valueId: Id, value: Value | MapValue): this;
4198
4236
  * ```
4199
4237
  *
4200
4238
  * This method will cause listeners to be called for any Value, or Id changes
@@ -4257,7 +4295,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4257
4295
  * This has schema-based typing. The following is a simplified representation:
4258
4296
  *
4259
4297
  * ```ts override
4260
- * setTransactionChanges(transactionChanges: TransactionChanges): Store;
4298
+ * setTransactionChanges(transactionChanges: TransactionChanges): this;
4261
4299
  * ```
4262
4300
  *
4263
4301
  * This method will take a TransactionChanges object (which is available at
@@ -4306,7 +4344,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4306
4344
  * This has schema-based typing. The following is a simplified representation:
4307
4345
  *
4308
4346
  * ```ts override
4309
- * setTablesJson(tablesJson: Json): Store;
4347
+ * setTablesJson(tablesJson: Json): this;
4310
4348
  * ```
4311
4349
  *
4312
4350
  * If the JSON cannot be parsed, this will fail silently. If it can be parsed,
@@ -4346,7 +4384,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4346
4384
  * This has schema-based typing. The following is a simplified representation:
4347
4385
  *
4348
4386
  * ```ts override
4349
- * setValuesJson(valuesJson: Json): Store;
4387
+ * setValuesJson(valuesJson: Json): this;
4350
4388
  * ```
4351
4389
  *
4352
4390
  * If the JSON cannot be parsed, this will fail silently. If it can be parsed,
@@ -4386,7 +4424,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4386
4424
  * This has schema-based typing. The following is a simplified representation:
4387
4425
  *
4388
4426
  * ```ts override
4389
- * setJson(tablesAndValuesJson: Json): Store;
4427
+ * setJson(tablesAndValuesJson: Json): this;
4390
4428
  * ```
4391
4429
  *
4392
4430
  * From v3.0 onwards, the serialization should be of an array with two
@@ -4450,7 +4488,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4450
4488
  * This has schema-based typing. The following is a simplified representation:
4451
4489
  *
4452
4490
  * ```ts override
4453
- * setTablesSchema(tablesSchema: TablesSchema): Store;
4491
+ * setTablesSchema(tablesSchema: TablesSchema): this;
4454
4492
  * ```
4455
4493
  *
4456
4494
  * Note that this may result in a change to data in the Store, as defaults are
@@ -4490,7 +4528,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4490
4528
  * This has schema-based typing. The following is a simplified representation:
4491
4529
  *
4492
4530
  * ```ts override
4493
- * setValuesSchema(valuesSchema: ValuesSchema): Store;
4531
+ * setValuesSchema(valuesSchema: ValuesSchema): this;
4494
4532
  * ```
4495
4533
  *
4496
4534
  * Note that this may result in a change to data in the Store, as defaults are
@@ -4527,7 +4565,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4527
4565
  * This has schema-based typing. The following is a simplified representation:
4528
4566
  *
4529
4567
  * ```ts override
4530
- * setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema): Store;
4568
+ * setSchema(tablesSchema: TablesSchema, valuesSchema?: ValuesSchema): this;
4531
4569
  * ```
4532
4570
  *
4533
4571
  * Note that this may result in a change to data in the Store, as defaults are
@@ -4603,7 +4641,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4603
4641
  * This has schema-based typing. The following is a simplified representation:
4604
4642
  *
4605
4643
  * ```ts override
4606
- * delTables(): Store;
4644
+ * delTables(): this;
4607
4645
  * ```
4608
4646
  *
4609
4647
  * ```js
@@ -4627,7 +4665,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4627
4665
  * This has schema-based typing. The following is a simplified representation:
4628
4666
  *
4629
4667
  * ```ts override
4630
- * delTable(tableId: Id): Store;
4668
+ * delTable(tableId: Id): this;
4631
4669
  * ```
4632
4670
  *
4633
4671
  * ```js
@@ -4650,7 +4688,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4650
4688
  * This has schema-based typing. The following is a simplified representation:
4651
4689
  *
4652
4690
  * ```ts override
4653
- * delRow(tableId: Id, rowId: Id): Store;
4691
+ * delRow(tableId: Id, rowId: Id): this;
4654
4692
  * ```
4655
4693
  *
4656
4694
  * If this is the last Row in its Table, then that Table will be removed.
@@ -4679,7 +4717,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4679
4717
  * This has schema-based typing. The following is a simplified representation:
4680
4718
  *
4681
4719
  * ```ts override
4682
- * delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean): Store;
4720
+ * delCell(tableId: Id, rowId: Id, cellId: Id, forceDel?: boolean): this;
4683
4721
  * ```
4684
4722
  *
4685
4723
  * When there is no TablesSchema applied to the Store, then if this is the
@@ -4773,7 +4811,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4773
4811
  * This has schema-based typing. The following is a simplified representation:
4774
4812
  *
4775
4813
  * ```ts override
4776
- * delValues(): Store;
4814
+ * delValues(): this;
4777
4815
  * ```
4778
4816
  *
4779
4817
  * If there is a ValuesSchema applied to the Store and it specifies a default
@@ -4817,7 +4855,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4817
4855
  * This has schema-based typing. The following is a simplified representation:
4818
4856
  *
4819
4857
  * ```ts override
4820
- * delValue(valueId: Id): Store;
4858
+ * delValue(valueId: Id): this;
4821
4859
  * ```
4822
4860
  *
4823
4861
  * If there is a ValuesSchema applied to the Store and it specifies a default
@@ -4865,7 +4903,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4865
4903
  * This has schema-based typing. The following is a simplified representation:
4866
4904
  *
4867
4905
  * ```ts override
4868
- * delTablesSchema(): Store;
4906
+ * delTablesSchema(): this;
4869
4907
  * ```
4870
4908
  *
4871
4909
  * ```js
@@ -4891,7 +4929,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4891
4929
  * This has schema-based typing. The following is a simplified representation:
4892
4930
  *
4893
4931
  * ```ts override
4894
- * delValuesSchema(): Store;
4932
+ * delValuesSchema(): this;
4895
4933
  * ```
4896
4934
  *
4897
4935
  * ```js
@@ -4916,7 +4954,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
4916
4954
  * This has schema-based typing. The following is a simplified representation:
4917
4955
  *
4918
4956
  * ```ts override
4919
- * delSchema(): Store;
4957
+ * delSchema(): this;
4920
4958
  * ```
4921
4959
  *
4922
4960
  * Prior to v3.0, this method removed the TablesSchema only.
@@ -5088,7 +5126,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5088
5126
  * This has schema-based typing. The following is a simplified representation:
5089
5127
  *
5090
5128
  * ```ts override
5091
- * startTransaction(): Store;
5129
+ * startTransaction(): this;
5092
5130
  * ```
5093
5131
  *
5094
5132
  * Transactions are useful for making bulk changes to the data in a Store, and
@@ -5143,7 +5181,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5143
5181
  * This has schema-based typing. The following is a simplified representation:
5144
5182
  *
5145
5183
  * ```ts override
5146
- * finishTransaction(doRollback?: DoRollback): Store;
5184
+ * finishTransaction(doRollback?: DoRollback): this;
5147
5185
  * ```
5148
5186
  *
5149
5187
  * Transactions are useful for making bulk changes to the data in a Store, and
@@ -5432,7 +5470,10 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5432
5470
  * This has schema-based typing. The following is a simplified representation:
5433
5471
  *
5434
5472
  * ```ts override
5435
- * addHasTablesListener(listener: HasTablesListener, mutator?: boolean): Id;
5473
+ * addHasTablesListener(
5474
+ * listener: HasTablesListener<this>,
5475
+ * mutator?: boolean,
5476
+ * ): Id;
5436
5477
  * ```
5437
5478
  *
5438
5479
  * The provided listener is a HasTablesListener function, and will be called
@@ -5494,7 +5535,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5494
5535
  * @since v4.4.0
5495
5536
  */
5496
5537
  addHasTablesListener(
5497
- listener: HasTablesListener<Schemas>,
5538
+ listener: HasTablesListener<Schemas, this>,
5498
5539
  mutator?: boolean,
5499
5540
  ): Id;
5500
5541
 
@@ -5505,7 +5546,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5505
5546
  * This has schema-based typing. The following is a simplified representation:
5506
5547
  *
5507
5548
  * ```ts override
5508
- * addTablesListener(listener: TablesListener, mutator?: boolean): Id;
5549
+ * addTablesListener(listener: TablesListener<this>, mutator?: boolean): Id;
5509
5550
  * ```
5510
5551
  *
5511
5552
  * The provided listener is a TablesListener function, and will be called with
@@ -5565,7 +5606,10 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5565
5606
  * ```
5566
5607
  * @category Listener
5567
5608
  */
5568
- addTablesListener(listener: TablesListener<Schemas>, mutator?: boolean): Id;
5609
+ addTablesListener(
5610
+ listener: TablesListener<Schemas, this>,
5611
+ mutator?: boolean,
5612
+ ): Id;
5569
5613
 
5570
5614
  /**
5571
5615
  * The addTableIdsListener method registers a listener function with the Store
@@ -5574,7 +5618,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5574
5618
  * This has schema-based typing. The following is a simplified representation:
5575
5619
  *
5576
5620
  * ```ts override
5577
- * addTableIdsListener(listener: TableIdsListener, mutator?: boolean): Id;
5621
+ * addTableIdsListener(listener: TableIdsListener<this>, mutator?: boolean): Id;
5578
5622
  * ```
5579
5623
  *
5580
5624
  * The provided listener is a TableIdsListener function, and will be called
@@ -5634,7 +5678,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5634
5678
  * @category Listener
5635
5679
  */
5636
5680
  addTableIdsListener(
5637
- listener: TableIdsListener<Schemas>,
5681
+ listener: TableIdsListener<Schemas, this>,
5638
5682
  mutator?: boolean,
5639
5683
  ): Id;
5640
5684
 
@@ -5647,7 +5691,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5647
5691
  * ```ts override
5648
5692
  * addHasTableListener(
5649
5693
  * tableId: IdOrNull,
5650
- * listener: HasTableListener,
5694
+ * listener: HasTableListener<this>,
5651
5695
  * mutator?: boolean,
5652
5696
  * ): Id;
5653
5697
  * ```
@@ -5747,7 +5791,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5747
5791
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
5748
5792
  >(
5749
5793
  tableId: TableIdOrNull,
5750
- listener: HasTableListener<Schemas, TableIdOrNull>,
5794
+ listener: HasTableListener<Schemas, TableIdOrNull, this>,
5751
5795
  mutator?: boolean,
5752
5796
  ): Id;
5753
5797
 
@@ -5760,7 +5804,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5760
5804
  * ```ts override
5761
5805
  * addTableListener(
5762
5806
  * tableId: IdOrNull,
5763
- * listener: TableListener,
5807
+ * listener: TableListener<this>,
5764
5808
  * mutator?: boolean,
5765
5809
  * ): Id;
5766
5810
  * ```
@@ -5853,7 +5897,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5853
5897
  */
5854
5898
  addTableListener<TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null>(
5855
5899
  tableId: TableIdOrNull,
5856
- listener: TableListener<Schemas, TableIdOrNull>,
5900
+ listener: TableListener<Schemas, TableIdOrNull, this>,
5857
5901
  mutator?: boolean,
5858
5902
  ): Id;
5859
5903
 
@@ -5867,7 +5911,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5867
5911
  * ```ts override
5868
5912
  * addTableCellIdsListener(
5869
5913
  * tableId: IdOrNull,
5870
- * listener: TableCellIdsListener,
5914
+ * listener: TableCellIdsListener<this>,
5871
5915
  * mutator?: boolean,
5872
5916
  * ): Id;
5873
5917
  * ```
@@ -5969,7 +6013,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5969
6013
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
5970
6014
  >(
5971
6015
  tableId: TableIdOrNull,
5972
- listener: TableCellIdsListener<Schemas, TableIdOrNull>,
6016
+ listener: TableCellIdsListener<Schemas, TableIdOrNull, this>,
5973
6017
  mutator?: boolean,
5974
6018
  ): Id;
5975
6019
 
@@ -5984,7 +6028,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
5984
6028
  * addHasTableCellListener(
5985
6029
  * tableId: IdOrNull,
5986
6030
  * cellId: IdOrNull,
5987
- * listener: HasTableCellListener,
6031
+ * listener: HasTableCellListener<this>,
5988
6032
  * mutator?: boolean,
5989
6033
  * ): Id;
5990
6034
  * ```
@@ -6106,7 +6150,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6106
6150
  >(
6107
6151
  tableId: TableIdOrNull,
6108
6152
  cellId: CellIdOrNull,
6109
- listener: HasTableCellListener<Schemas, TableIdOrNull, CellIdOrNull>,
6153
+ listener: HasTableCellListener<Schemas, TableIdOrNull, CellIdOrNull, this>,
6110
6154
  mutator?: boolean,
6111
6155
  ): Id;
6112
6156
 
@@ -6119,7 +6163,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6119
6163
  * ```ts override
6120
6164
  * addRowCountListener(
6121
6165
  * tableId: IdOrNull,
6122
- * listener: RowCountListener,
6166
+ * listener: RowCountListener<this>,
6123
6167
  * mutator?: boolean,
6124
6168
  * ): Id;
6125
6169
  * ```
@@ -6211,7 +6255,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6211
6255
  TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null,
6212
6256
  >(
6213
6257
  tableId: TableIdOrNull,
6214
- listener: RowCountListener<Schemas, TableIdOrNull>,
6258
+ listener: RowCountListener<Schemas, TableIdOrNull, this>,
6215
6259
  mutator?: boolean,
6216
6260
  ): Id;
6217
6261
 
@@ -6224,7 +6268,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6224
6268
  * ```ts override
6225
6269
  * addRowIdsListener(
6226
6270
  * tableId: IdOrNull,
6227
- * listener: RowIdsListener,
6271
+ * listener: RowIdsListener<this>,
6228
6272
  * mutator?: boolean,
6229
6273
  * ): Id;
6230
6274
  * ```
@@ -6312,7 +6356,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6312
6356
  */
6313
6357
  addRowIdsListener<TableIdOrNull extends TableIdFromSchema<Schemas[0]> | null>(
6314
6358
  tableId: TableIdOrNull,
6315
- listener: RowIdsListener<Schemas, TableIdOrNull>,
6359
+ listener: RowIdsListener<Schemas, TableIdOrNull, this>,
6316
6360
  mutator?: boolean,
6317
6361
  ): Id;
6318
6362
 
@@ -6330,7 +6374,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6330
6374
  * descending: boolean,
6331
6375
  * offset: number,
6332
6376
  * limit: number | undefined,
6333
- * listener: SortedRowIdsListener,
6377
+ * listener: SortedRowIdsListener<this>,
6334
6378
  * mutator?: boolean,
6335
6379
  * ): Id;
6336
6380
  * ```
@@ -6563,7 +6607,8 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6563
6607
  CellIdOrUndefined,
6564
6608
  Descending,
6565
6609
  Offset,
6566
- Limit
6610
+ Limit,
6611
+ this
6567
6612
  >,
6568
6613
  mutator?: boolean,
6569
6614
  ): Id;
@@ -6578,7 +6623,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6578
6623
  * addHasRowListener(
6579
6624
  * tableId: IdOrNull,
6580
6625
  * rowId: IdOrNull,
6581
- * listener: HasRowListener,
6626
+ * listener: HasRowListener<this>,
6582
6627
  * mutator?: boolean,
6583
6628
  * ): Id;
6584
6629
  * ```
@@ -6695,7 +6740,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6695
6740
  >(
6696
6741
  tableId: TableIdOrNull,
6697
6742
  rowId: RowIdOrNull,
6698
- listener: HasRowListener<Schemas, TableIdOrNull, RowIdOrNull>,
6743
+ listener: HasRowListener<Schemas, TableIdOrNull, RowIdOrNull, this>,
6699
6744
  mutator?: boolean,
6700
6745
  ): Id;
6701
6746
 
@@ -6709,7 +6754,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6709
6754
  * addRowListener(
6710
6755
  * tableId: IdOrNull,
6711
6756
  * rowId: IdOrNull,
6712
- * listener: RowListener,
6757
+ * listener: RowListener<this>,
6713
6758
  * mutator?: boolean,
6714
6759
  * ): Id;
6715
6760
  * ```
@@ -6818,7 +6863,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6818
6863
  >(
6819
6864
  tableId: TableIdOrNull,
6820
6865
  rowId: RowIdOrNull,
6821
- listener: RowListener<Schemas, TableIdOrNull, RowIdOrNull>,
6866
+ listener: RowListener<Schemas, TableIdOrNull, RowIdOrNull, this>,
6822
6867
  mutator?: boolean,
6823
6868
  ): Id;
6824
6869
 
@@ -6832,7 +6877,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6832
6877
  * addCellIdsListener(
6833
6878
  * tableId: IdOrNull,
6834
6879
  * rowId: IdOrNull,
6835
- * listener: CellIdsListener,
6880
+ * listener: CellIdsListener<this>,
6836
6881
  * mutator?: boolean,
6837
6882
  * ): Id;
6838
6883
  * ```
@@ -6937,7 +6982,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6937
6982
  >(
6938
6983
  tableId: TableIdOrNull,
6939
6984
  rowId: RowIdOrNull,
6940
- listener: CellIdsListener<Schemas, TableIdOrNull, RowIdOrNull>,
6985
+ listener: CellIdsListener<Schemas, TableIdOrNull, RowIdOrNull, this>,
6941
6986
  mutator?: boolean,
6942
6987
  ): Id;
6943
6988
 
@@ -6952,7 +6997,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
6952
6997
  * tableId: IdOrNull,
6953
6998
  * rowId: IdOrNull,
6954
6999
  * cellId: IdOrNull,
6955
- * listener: HasCellListener,
7000
+ * listener: HasCellListener<this>,
6956
7001
  * mutator?: boolean,
6957
7002
  * ): Id;
6958
7003
  * ```
@@ -7085,7 +7130,8 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7085
7130
  Schemas,
7086
7131
  TableIdOrNull,
7087
7132
  RowIdOrNull,
7088
- CellIdOrNull
7133
+ CellIdOrNull,
7134
+ this
7089
7135
  >,
7090
7136
  mutator?: boolean,
7091
7137
  ): Id;
@@ -7101,7 +7147,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7101
7147
  * tableId: IdOrNull,
7102
7148
  * rowId: IdOrNull,
7103
7149
  * cellId: IdOrNull,
7104
- * listener: CellListener,
7150
+ * listener: CellListener<this>,
7105
7151
  * mutator?: boolean,
7106
7152
  * ): Id;
7107
7153
  * ```
@@ -7225,7 +7271,13 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7225
7271
  tableId: TableIdOrNull,
7226
7272
  rowId: RowIdOrNull,
7227
7273
  cellId: CellIdOrNull,
7228
- listener: CellListener<Schemas, TableIdOrNull, RowIdOrNull, CellIdOrNull>,
7274
+ listener: CellListener<
7275
+ Schemas,
7276
+ TableIdOrNull,
7277
+ RowIdOrNull,
7278
+ CellIdOrNull,
7279
+ this
7280
+ >,
7229
7281
  mutator?: boolean,
7230
7282
  ): Id;
7231
7283
 
@@ -7237,7 +7289,10 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7237
7289
  * This has schema-based typing. The following is a simplified representation:
7238
7290
  *
7239
7291
  * ```ts override
7240
- * addHasValuesListener(listener: HasValuesListener, mutator?: boolean): Id;
7292
+ * addHasValuesListener(
7293
+ * listener: HasValuesListener<this>,
7294
+ * mutator?: boolean,
7295
+ * ): Id;
7241
7296
  * ```
7242
7297
  *
7243
7298
  * The provided listener is a HasValuesListener function, and will be called
@@ -7297,7 +7352,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7297
7352
  * @since v4.4.0
7298
7353
  */
7299
7354
  addHasValuesListener(
7300
- listener: HasValuesListener<Schemas>,
7355
+ listener: HasValuesListener<Schemas, this>,
7301
7356
  mutator?: boolean,
7302
7357
  ): Id;
7303
7358
 
@@ -7308,7 +7363,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7308
7363
  * This has schema-based typing. The following is a simplified representation:
7309
7364
  *
7310
7365
  * ```ts override
7311
- * addValuesListener(listener: ValuesListener, mutator?: boolean): Id;
7366
+ * addValuesListener(listener: ValuesListener<this>, mutator?: boolean): Id;
7312
7367
  * ```
7313
7368
  *
7314
7369
  * The provided listener is a ValuesListener function, and will be called with
@@ -7365,7 +7420,10 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7365
7420
  * @category Listener
7366
7421
  * @since v3.0.0
7367
7422
  */
7368
- addValuesListener(listener: ValuesListener<Schemas>, mutator?: boolean): Id;
7423
+ addValuesListener(
7424
+ listener: ValuesListener<Schemas, this>,
7425
+ mutator?: boolean,
7426
+ ): Id;
7369
7427
 
7370
7428
  /**
7371
7429
  * The addValueIdsListener method registers a listener function with the Store
@@ -7374,7 +7432,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7374
7432
  * This has schema-based typing. The following is a simplified representation:
7375
7433
  *
7376
7434
  * ```ts override
7377
- * addValueIdsListener(listener: ValueIdsListener, mutator?: boolean): Id;
7435
+ * addValueIdsListener(listener: ValueIdsListener<this>, mutator?: boolean): Id;
7378
7436
  * ```
7379
7437
  *
7380
7438
  * The provided listener is a ValueIdsListener function, and will be called
@@ -7435,7 +7493,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7435
7493
  * @since v3.0.0
7436
7494
  */
7437
7495
  addValueIdsListener(
7438
- listener: ValueIdsListener<Schemas>,
7496
+ listener: ValueIdsListener<Schemas, this>,
7439
7497
  mutator?: boolean,
7440
7498
  ): Id;
7441
7499
 
@@ -7448,7 +7506,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7448
7506
  * ```ts override
7449
7507
  * addHasValueListener(
7450
7508
  * valueId: IdOrNull,
7451
- * listener: HasValueListener,
7509
+ * listener: HasValueListener<this>,
7452
7510
  * mutator?: boolean,
7453
7511
  * ): Id;
7454
7512
  * ```
@@ -7542,7 +7600,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7542
7600
  ValueIdOrNull extends ValueIdFromSchema<Schemas[1]> | null,
7543
7601
  >(
7544
7602
  valueId: ValueIdOrNull,
7545
- listener: HasValueListener<Schemas, ValueIdOrNull>,
7603
+ listener: HasValueListener<Schemas, ValueIdOrNull, this>,
7546
7604
  mutator?: boolean,
7547
7605
  ): Id;
7548
7606
 
@@ -7555,7 +7613,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7555
7613
  * ```ts override
7556
7614
  * addValueListener(
7557
7615
  * valueId: IdOrNull,
7558
- * listener: ValueListener,
7616
+ * listener: ValueListener<this>,
7559
7617
  * mutator?: boolean,
7560
7618
  * ): Id;
7561
7619
  * ```
@@ -7644,7 +7702,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7644
7702
  */
7645
7703
  addValueListener<ValueIdOrNull extends ValueIdFromSchema<Schemas[1]> | null>(
7646
7704
  valueId: ValueIdOrNull,
7647
- listener: ValueListener<Schemas, ValueIdOrNull>,
7705
+ listener: ValueListener<Schemas, ValueIdOrNull, this>,
7648
7706
  mutator?: boolean,
7649
7707
  ): Id;
7650
7708
 
@@ -7660,7 +7718,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7660
7718
  * tableId: IdOrNull,
7661
7719
  * rowId: IdOrNull,
7662
7720
  * cellId: IdOrNull,
7663
- * listener: InvalidCellListener,
7721
+ * listener: InvalidCellListener<this>,
7664
7722
  * mutator?: boolean,
7665
7723
  * ): Id;
7666
7724
  * ```
@@ -7886,7 +7944,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7886
7944
  tableId: IdOrNull,
7887
7945
  rowId: IdOrNull,
7888
7946
  cellId: IdOrNull,
7889
- listener: InvalidCellListener<Schemas>,
7947
+ listener: InvalidCellListener<Schemas, this>,
7890
7948
  mutator?: boolean,
7891
7949
  ): Id;
7892
7950
 
@@ -7900,7 +7958,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
7900
7958
  * ```ts override
7901
7959
  * addInvalidValueListener(
7902
7960
  * valueId: IdOrNull,
7903
- * listener: InvalidValueListener,
7961
+ * listener: InvalidValueListener<this>,
7904
7962
  * mutator?: boolean,
7905
7963
  * ): Id;
7906
7964
  * ```
@@ -8071,7 +8129,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8071
8129
  */
8072
8130
  addInvalidValueListener(
8073
8131
  valueId: IdOrNull,
8074
- listener: InvalidValueListener<Schemas>,
8132
+ listener: InvalidValueListener<Schemas, this>,
8075
8133
  mutator?: boolean,
8076
8134
  ): Id;
8077
8135
 
@@ -8082,7 +8140,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8082
8140
  * This has schema-based typing. The following is a simplified representation:
8083
8141
  *
8084
8142
  * ```ts override
8085
- * addStartTransactionListener(listener: TransactionListener): Id;
8143
+ * addStartTransactionListener(listener: TransactionListener<this>): Id;
8086
8144
  * ```
8087
8145
  *
8088
8146
  * The provided TransactionListener will receive a reference to the Store and
@@ -8125,7 +8183,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8125
8183
  * @category Listener
8126
8184
  * @since v3.2.0
8127
8185
  */
8128
- addStartTransactionListener(listener: TransactionListener<Schemas>): Id;
8186
+ addStartTransactionListener(listener: TransactionListener<Schemas, this>): Id;
8129
8187
 
8130
8188
  /**
8131
8189
  * The addWillFinishTransactionListener method registers a listener function
@@ -8135,7 +8193,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8135
8193
  * This has schema-based typing. The following is a simplified representation:
8136
8194
  *
8137
8195
  * ```ts override
8138
- * addWillFinishTransactionListener(listener: TransactionListener): Id;
8196
+ * addWillFinishTransactionListener(listener: TransactionListener<this>): Id;
8139
8197
  * ```
8140
8198
  *
8141
8199
  * This is useful if you need to know that a set of listeners are about to be
@@ -8230,7 +8288,9 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8230
8288
  * @category Listener
8231
8289
  * @since v1.3.0
8232
8290
  */
8233
- addWillFinishTransactionListener(listener: TransactionListener<Schemas>): Id;
8291
+ addWillFinishTransactionListener(
8292
+ listener: TransactionListener<Schemas, this>,
8293
+ ): Id;
8234
8294
 
8235
8295
  /**
8236
8296
  * The addDidFinishTransactionListener method registers a listener function
@@ -8240,7 +8300,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8240
8300
  * This has schema-based typing. The following is a simplified representation:
8241
8301
  *
8242
8302
  * ```ts override
8243
- * addDidFinishTransactionListener(listener: TransactionListener): Id;
8303
+ * addDidFinishTransactionListener(listener: TransactionListener<this>): Id;
8244
8304
  * ```
8245
8305
  *
8246
8306
  * This is useful if you need to know that a set of listeners have just been
@@ -8334,7 +8394,9 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8334
8394
  * @category Listener
8335
8395
  * @since v1.3.0
8336
8396
  */
8337
- addDidFinishTransactionListener(listener: TransactionListener<Schemas>): Id;
8397
+ addDidFinishTransactionListener(
8398
+ listener: TransactionListener<Schemas, this>,
8399
+ ): Id;
8338
8400
 
8339
8401
  /**
8340
8402
  * The callListener method provides a way for you to manually provoke a
@@ -8343,7 +8405,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8343
8405
  * This has schema-based typing. The following is a simplified representation:
8344
8406
  *
8345
8407
  * ```ts override
8346
- * callListener(listenerId: Id): Store;
8408
+ * callListener(listenerId: Id): this;
8347
8409
  * ```
8348
8410
  *
8349
8411
  * This is useful when you are using mutator listeners to guarantee that data
@@ -8465,7 +8527,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
8465
8527
  * This has schema-based typing. The following is a simplified representation:
8466
8528
  *
8467
8529
  * ```ts override
8468
- * delListener(listenerId: Id): Store;
8530
+ * delListener(listenerId: Id): this;
8469
8531
  * ```
8470
8532
  *
8471
8533
  * Use the Id returned by whichever method was used to add the listener. Note