tinybase 10.0.0-beta.0 → 10.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 (185) hide show
  1. package/@types/common/index.d.ts +1 -0
  2. package/@types/common/with-schemas/index.d.ts +1 -0
  3. package/@types/indexes/index.d.ts +4 -3
  4. package/@types/indexes/with-schemas/index.d.ts +4 -3
  5. package/@types/metrics/index.d.ts +1 -0
  6. package/@types/metrics/with-schemas/index.d.ts +1 -0
  7. package/@types/omni/index.d.ts +1 -0
  8. package/@types/omni/with-schemas/index.d.ts +1 -0
  9. package/@types/persisters/index.d.ts +1 -0
  10. package/@types/persisters/persister-partykit-server/index.d.ts +17 -0
  11. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +17 -0
  12. package/@types/persisters/persister-tinyjoin/index.d.ts +197 -0
  13. package/@types/persisters/persister-tinyjoin/with-schemas/index.d.ts +221 -0
  14. package/@types/persisters/with-schemas/index.d.ts +1 -0
  15. package/@types/queries/index.d.ts +3 -0
  16. package/@types/queries/with-schemas/index.d.ts +3 -0
  17. package/@types/relationships/index.d.ts +1 -0
  18. package/@types/relationships/with-schemas/index.d.ts +1 -0
  19. package/@types/store/index.d.ts +4 -0
  20. package/@types/store/with-schemas/index.d.ts +4 -0
  21. package/@types/ui-react/index.d.ts +2 -0
  22. package/@types/ui-react/with-schemas/index.d.ts +1 -0
  23. package/@types/ui-react-dom-charts/index.d.ts +7 -0
  24. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -0
  25. package/@types/ui-solid/index.d.ts +2 -0
  26. package/@types/ui-solid/with-schemas/index.d.ts +1 -0
  27. package/@types/ui-svelte/index.d.ts +23 -0
  28. package/@types/ui-svelte/with-schemas/index.d.ts +23 -0
  29. package/@types/ui-svelte-dom/index.d.ts +10 -0
  30. package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -0
  31. package/@types/ui-svelte-inspector/index.d.ts +1 -0
  32. package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -0
  33. package/checkpoints/index.js +4 -2
  34. package/checkpoints/with-schemas/index.js +4 -2
  35. package/index.js +37 -4
  36. package/metrics/index.js +2 -1
  37. package/metrics/with-schemas/index.js +2 -1
  38. package/min/checkpoints/index.js +1 -1
  39. package/min/checkpoints/index.js.gz +0 -0
  40. package/min/checkpoints/with-schemas/index.js +1 -1
  41. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  42. package/min/index.js +1 -1
  43. package/min/index.js.gz +0 -0
  44. package/min/metrics/index.js +1 -1
  45. package/min/metrics/index.js.gz +0 -0
  46. package/min/metrics/with-schemas/index.js +1 -1
  47. package/min/metrics/with-schemas/index.js.gz +0 -0
  48. package/min/omni/index.js +1 -1
  49. package/min/omni/index.js.gz +0 -0
  50. package/min/omni/with-schemas/index.js +1 -1
  51. package/min/omni/with-schemas/index.js.gz +0 -0
  52. package/min/persisters/index.js +1 -1
  53. package/min/persisters/index.js.gz +0 -0
  54. package/min/persisters/persister-better-sqlite3/index.js +1 -1
  55. package/min/persisters/persister-better-sqlite3/index.js.gz +0 -0
  56. package/min/persisters/persister-better-sqlite3/with-schemas/index.js +1 -1
  57. package/min/persisters/persister-better-sqlite3/with-schemas/index.js.gz +0 -0
  58. package/min/persisters/persister-capacitor-sqlite/index.js +1 -1
  59. package/min/persisters/persister-capacitor-sqlite/index.js.gz +0 -0
  60. package/min/persisters/persister-capacitor-sqlite/with-schemas/index.js +1 -1
  61. package/min/persisters/persister-capacitor-sqlite/with-schemas/index.js.gz +0 -0
  62. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  63. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  64. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  65. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  66. package/min/persisters/persister-durable-object-sql-storage/index.js +1 -1
  67. package/min/persisters/persister-durable-object-sql-storage/index.js.gz +0 -0
  68. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js +1 -1
  69. package/min/persisters/persister-durable-object-sql-storage/with-schemas/index.js.gz +0 -0
  70. package/min/persisters/persister-electric-sql/index.js +1 -1
  71. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  72. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  73. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  74. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  75. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  76. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  77. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  78. package/min/persisters/persister-libsql/index.js +1 -1
  79. package/min/persisters/persister-libsql/index.js.gz +0 -0
  80. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  81. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  82. package/min/persisters/persister-pg/index.js +1 -1
  83. package/min/persisters/persister-pg/index.js.gz +0 -0
  84. package/min/persisters/persister-pg/with-schemas/index.js +1 -1
  85. package/min/persisters/persister-pg/with-schemas/index.js.gz +0 -0
  86. package/min/persisters/persister-pglite/index.js +1 -1
  87. package/min/persisters/persister-pglite/index.js.gz +0 -0
  88. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  89. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  90. package/min/persisters/persister-postgres/index.js +1 -1
  91. package/min/persisters/persister-postgres/index.js.gz +0 -0
  92. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  93. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  94. package/min/persisters/persister-powersync/index.js +1 -1
  95. package/min/persisters/persister-powersync/index.js.gz +0 -0
  96. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  97. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  98. package/min/persisters/persister-react-native-sqlite/index.js +1 -1
  99. package/min/persisters/persister-react-native-sqlite/index.js.gz +0 -0
  100. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js +1 -1
  101. package/min/persisters/persister-react-native-sqlite/with-schemas/index.js.gz +0 -0
  102. package/min/persisters/persister-sqlite-bun/index.js +1 -1
  103. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  104. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  105. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  106. package/min/persisters/persister-sqlite-node/index.js +1 -1
  107. package/min/persisters/persister-sqlite-node/index.js.gz +0 -0
  108. package/min/persisters/persister-sqlite-node/with-schemas/index.js +1 -1
  109. package/min/persisters/persister-sqlite-node/with-schemas/index.js.gz +0 -0
  110. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  111. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  112. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  113. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  114. package/min/persisters/persister-sqlite3/index.js +1 -1
  115. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  116. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  117. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  118. package/min/persisters/persister-tinyjoin/index.js +1 -0
  119. package/min/persisters/persister-tinyjoin/index.js.gz +0 -0
  120. package/min/persisters/persister-tinyjoin/with-schemas/index.js +1 -0
  121. package/min/persisters/persister-tinyjoin/with-schemas/index.js.gz +0 -0
  122. package/min/persisters/with-schemas/index.js +1 -1
  123. package/min/persisters/with-schemas/index.js.gz +0 -0
  124. package/min/queries/index.js +1 -1
  125. package/min/queries/index.js.gz +0 -0
  126. package/min/queries/with-schemas/index.js +1 -1
  127. package/min/queries/with-schemas/index.js.gz +0 -0
  128. package/min/relationships/index.js +1 -1
  129. package/min/relationships/index.js.gz +0 -0
  130. package/min/relationships/with-schemas/index.js +1 -1
  131. package/min/relationships/with-schemas/index.js.gz +0 -0
  132. package/min/synchronizers/synchronizer-local/index.js +1 -1
  133. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  134. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  135. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  136. package/min/with-schemas/index.js +1 -1
  137. package/min/with-schemas/index.js.gz +0 -0
  138. package/omni/index.js +205 -94
  139. package/omni/with-schemas/index.js +205 -94
  140. package/package.json +54 -14
  141. package/persisters/index.js +28 -13
  142. package/persisters/persister-better-sqlite3/index.js +70 -55
  143. package/persisters/persister-better-sqlite3/with-schemas/index.js +70 -55
  144. package/persisters/persister-capacitor-sqlite/index.js +70 -55
  145. package/persisters/persister-capacitor-sqlite/with-schemas/index.js +70 -55
  146. package/persisters/persister-cr-sqlite-wasm/index.js +70 -55
  147. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +70 -55
  148. package/persisters/persister-durable-object-sql-storage/index.js +28 -13
  149. package/persisters/persister-durable-object-sql-storage/with-schemas/index.js +28 -13
  150. package/persisters/persister-electric-sql/index.js +70 -55
  151. package/persisters/persister-electric-sql/with-schemas/index.js +70 -55
  152. package/persisters/persister-expo-sqlite/index.js +70 -55
  153. package/persisters/persister-expo-sqlite/with-schemas/index.js +70 -55
  154. package/persisters/persister-libsql/index.js +91 -78
  155. package/persisters/persister-libsql/with-schemas/index.js +91 -78
  156. package/persisters/persister-pg/index.js +77 -62
  157. package/persisters/persister-pg/with-schemas/index.js +77 -62
  158. package/persisters/persister-pglite/index.js +28 -13
  159. package/persisters/persister-pglite/with-schemas/index.js +28 -13
  160. package/persisters/persister-postgres/index.js +28 -13
  161. package/persisters/persister-postgres/with-schemas/index.js +28 -13
  162. package/persisters/persister-powersync/index.js +81 -66
  163. package/persisters/persister-powersync/with-schemas/index.js +81 -66
  164. package/persisters/persister-react-native-sqlite/index.js +70 -55
  165. package/persisters/persister-react-native-sqlite/with-schemas/index.js +70 -55
  166. package/persisters/persister-sqlite-bun/index.js +70 -55
  167. package/persisters/persister-sqlite-bun/with-schemas/index.js +70 -55
  168. package/persisters/persister-sqlite-node/index.js +70 -55
  169. package/persisters/persister-sqlite-node/with-schemas/index.js +70 -55
  170. package/persisters/persister-sqlite-wasm/index.js +70 -55
  171. package/persisters/persister-sqlite-wasm/with-schemas/index.js +70 -55
  172. package/persisters/persister-sqlite3/index.js +70 -55
  173. package/persisters/persister-sqlite3/with-schemas/index.js +70 -55
  174. package/persisters/persister-tinyjoin/index.js +1710 -0
  175. package/persisters/persister-tinyjoin/with-schemas/index.js +1710 -0
  176. package/persisters/with-schemas/index.js +28 -13
  177. package/queries/index.js +2 -1
  178. package/queries/with-schemas/index.js +2 -1
  179. package/readme.md +3 -3
  180. package/relationships/index.js +39 -9
  181. package/relationships/with-schemas/index.js +39 -9
  182. package/releases.md +20 -1
  183. package/synchronizers/synchronizer-local/index.js +1 -1
  184. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  185. package/with-schemas/index.js +37 -4
@@ -1335,6 +1335,7 @@ export type CurrentCheckpointViewProps = {
1335
1335
  * defaults and named instances remain visible unless a nearer Provider replaces
1336
1336
  * them.
1337
1337
  * @param props The props for this component.
1338
+ * @returns A rendering of the child components.
1338
1339
  * @example
1339
1340
  * This example creates a Provider context with a default Store.
1340
1341
  *
@@ -1344,6 +1345,7 @@ export type CurrentCheckpointViewProps = {
1344
1345
  * // <App />
1345
1346
  * // </Provider>
1346
1347
  * ```
1348
+ * @function
1347
1349
  * @category Component
1348
1350
  * @since v8.1.0
1349
1351
  */
@@ -1391,6 +1393,7 @@ export const Provider: Component<ProviderProps>;
1391
1393
  * console.log(app.textContent);
1392
1394
  * // -> ''
1393
1395
  * ```
1396
+ * @function
1394
1397
  * @category Component
1395
1398
  * @since v8.1.0
1396
1399
  */
@@ -1435,6 +1438,7 @@ export const BackwardCheckpointsView: Component<BackwardCheckpointsViewProps>;
1435
1438
  * console.log(app.textContent);
1436
1439
  * // -> 'dog'
1437
1440
  * ```
1441
+ * @function
1438
1442
  * @category Component
1439
1443
  * @since v8.1.0
1440
1444
  */
@@ -1480,6 +1484,7 @@ export const CellView: Component<CellViewProps>;
1480
1484
  * console.log(app.textContent);
1481
1485
  * // -> ''
1482
1486
  * ```
1487
+ * @function
1483
1488
  * @category Component
1484
1489
  * @since v8.1.0
1485
1490
  */
@@ -1527,6 +1532,7 @@ export const CheckpointView: Component<CheckpointViewProps>;
1527
1532
  * console.log(app.textContent);
1528
1533
  * // -> '0'
1529
1534
  * ```
1535
+ * @function
1530
1536
  * @category Component
1531
1537
  * @since v8.1.0
1532
1538
  */
@@ -1574,6 +1580,7 @@ export const CurrentCheckpointView: Component<CurrentCheckpointViewProps>;
1574
1580
  * console.log(app.textContent);
1575
1581
  * // -> ''
1576
1582
  * ```
1583
+ * @function
1577
1584
  * @category Component
1578
1585
  * @since v8.1.0
1579
1586
  */
@@ -1625,6 +1632,7 @@ export const ForwardCheckpointsView: Component<ForwardCheckpointsViewProps>;
1625
1632
  * console.log(app.textContent);
1626
1633
  * // -> 'dog cat'
1627
1634
  * ```
1635
+ * @function
1628
1636
  * @category Component
1629
1637
  * @since v8.1.0
1630
1638
  */
@@ -1683,6 +1691,7 @@ export const IndexView: Component<IndexViewProps>;
1683
1691
  * console.log(app.textContent);
1684
1692
  * // -> 'fido felix'
1685
1693
  * ```
1694
+ * @function
1686
1695
  * @category Component
1687
1696
  * @since v8.1.0
1688
1697
  */
@@ -1735,6 +1744,7 @@ export const LinkedRowsView: Component<LinkedRowsViewProps>;
1735
1744
  * console.log(app.textContent);
1736
1745
  * // -> 'fido'
1737
1746
  * ```
1747
+ * @function
1738
1748
  * @category Component
1739
1749
  * @since v8.1.0
1740
1750
  */
@@ -1784,6 +1794,7 @@ export const LocalRowsView: Component<LocalRowsViewProps>;
1784
1794
  * console.log(app.textContent);
1785
1795
  * // -> '2'
1786
1796
  * ```
1797
+ * @function
1787
1798
  * @category Component
1788
1799
  * @since v8.1.0
1789
1800
  */
@@ -1836,6 +1847,7 @@ export const MetricView: Component<MetricViewProps>;
1836
1847
  * console.log(app.textContent);
1837
1848
  * // -> 'dog'
1838
1849
  * ```
1850
+ * @function
1839
1851
  * @category Component
1840
1852
  * @since v8.1.0
1841
1853
  */
@@ -1885,6 +1897,7 @@ export const RemoteRowView: Component<RemoteRowViewProps>;
1885
1897
  * console.log(app.textContent);
1886
1898
  * // -> 'brown'
1887
1899
  * ```
1900
+ * @function
1888
1901
  * @category Component
1889
1902
  * @since v8.1.0
1890
1903
  */
@@ -1936,6 +1949,7 @@ export const ResultCellView: Component<ResultCellViewProps>;
1936
1949
  * console.log(app.textContent);
1937
1950
  * // -> 'color'
1938
1951
  * ```
1952
+ * @function
1939
1953
  * @category Component
1940
1954
  * @since v8.1.0
1941
1955
  */
@@ -1993,6 +2007,7 @@ export const ResultRowView: Component<ResultRowViewProps>;
1993
2007
  * console.log(app.textContent);
1994
2008
  * // -> 'felix fido'
1995
2009
  * ```
2010
+ * @function
1996
2011
  * @category Component
1997
2012
  * @since v8.1.0
1998
2013
  */
@@ -2045,6 +2060,7 @@ export const ResultSortedTableView: Component<ResultSortedTableViewProps>;
2045
2060
  * console.log(app.textContent);
2046
2061
  * // -> 'fido felix'
2047
2062
  * ```
2063
+ * @function
2048
2064
  * @category Component
2049
2065
  * @since v8.1.0
2050
2066
  */
@@ -2089,6 +2105,7 @@ export const ResultTableView: Component<ResultTableViewProps>;
2089
2105
  * console.log(app.textContent);
2090
2106
  * // -> 'dog'
2091
2107
  * ```
2108
+ * @function
2092
2109
  * @category Component
2093
2110
  * @since v8.1.0
2094
2111
  */
@@ -2140,6 +2157,7 @@ export const RowView: Component<RowViewProps>;
2140
2157
  * console.log(app.textContent);
2141
2158
  * // -> 'fido'
2142
2159
  * ```
2160
+ * @function
2143
2161
  * @category Component
2144
2162
  * @since v8.1.0
2145
2163
  */
@@ -2187,6 +2205,7 @@ export const SliceView: Component<SliceViewProps>;
2187
2205
  * console.log(app.textContent);
2188
2206
  * // -> 'fido felix'
2189
2207
  * ```
2208
+ * @function
2190
2209
  * @category Component
2191
2210
  * @since v8.1.0
2192
2211
  */
@@ -2233,6 +2252,7 @@ export const SortedTableView: Component<SortedTableViewProps>;
2233
2252
  * console.log(app.textContent);
2234
2253
  * // -> 'fido felix'
2235
2254
  * ```
2255
+ * @function
2236
2256
  * @category Component
2237
2257
  * @since v8.1.0
2238
2258
  */
@@ -2280,6 +2300,7 @@ export const TableView: Component<TableViewProps>;
2280
2300
  * console.log(app.textContent);
2281
2301
  * // -> 'pets species'
2282
2302
  * ```
2303
+ * @function
2283
2304
  * @category Component
2284
2305
  * @since v8.1.0
2285
2306
  */
@@ -2324,6 +2345,7 @@ export const TablesView: Component<TablesViewProps>;
2324
2345
  * console.log(app.textContent);
2325
2346
  * // -> 'true'
2326
2347
  * ```
2348
+ * @function
2327
2349
  * @category Component
2328
2350
  * @since v8.1.0
2329
2351
  */
@@ -2370,6 +2392,7 @@ export const ValueView: Component<ValueViewProps>;
2370
2392
  * console.log(app.textContent);
2371
2393
  * // -> 'open employees'
2372
2394
  * ```
2395
+ * @function
2373
2396
  * @category Component
2374
2397
  * @since v8.1.0
2375
2398
  */
@@ -1420,6 +1420,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1420
1420
  * defaults and named instances remain visible unless a nearer Provider replaces
1421
1421
  * them.
1422
1422
  * @param props The props for this component.
1423
+ * @returns A rendering of the child components.
1423
1424
  * @example
1424
1425
  * This example creates a Provider context with a default Store.
1425
1426
  *
@@ -1429,6 +1430,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1429
1430
  * // <App />
1430
1431
  * // </Provider>
1431
1432
  * ```
1433
+ * @function
1432
1434
  * @category Component
1433
1435
  * @since v8.1.0
1434
1436
  */
@@ -1479,6 +1481,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1479
1481
  * console.log(app.textContent);
1480
1482
  * // -> 'dog'
1481
1483
  * ```
1484
+ * @function
1482
1485
  * @category Component
1483
1486
  * @since v8.1.0
1484
1487
  */
@@ -1529,6 +1532,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1529
1532
  * console.log(app.textContent);
1530
1533
  * // -> 'true'
1531
1534
  * ```
1535
+ * @function
1532
1536
  * @category Component
1533
1537
  * @since v8.1.0
1534
1538
  */
@@ -1579,6 +1583,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1579
1583
  * console.log(app.textContent);
1580
1584
  * // -> 'dog'
1581
1585
  * ```
1586
+ * @function
1582
1587
  * @category Component
1583
1588
  * @since v8.1.0
1584
1589
  */
@@ -1631,6 +1636,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1631
1636
  * console.log(app.textContent);
1632
1637
  * // -> 'fido felix'
1633
1638
  * ```
1639
+ * @function
1634
1640
  * @category Component
1635
1641
  * @since v8.1.0
1636
1642
  */
@@ -1684,6 +1690,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1684
1690
  * console.log(app.textContent);
1685
1691
  * // -> 'fido felix'
1686
1692
  * ```
1693
+ * @function
1687
1694
  * @category Component
1688
1695
  * @since v8.1.0
1689
1696
  */
@@ -1737,6 +1744,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1737
1744
  * console.log(app.textContent);
1738
1745
  * // -> 'pets species'
1739
1746
  * ```
1747
+ * @function
1740
1748
  * @category Component
1741
1749
  * @since v8.1.0
1742
1750
  */
@@ -1789,6 +1797,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1789
1797
  * console.log(app.textContent);
1790
1798
  * // -> 'open employees'
1791
1799
  * ```
1800
+ * @function
1792
1801
  * @category Component
1793
1802
  * @since v8.1.0
1794
1803
  */
@@ -1844,6 +1853,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1844
1853
  * console.log(app.textContent);
1845
1854
  * // -> '2'
1846
1855
  * ```
1856
+ * @function
1847
1857
  * @category Component
1848
1858
  * @since v8.1.0
1849
1859
  */
@@ -1901,6 +1911,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1901
1911
  * console.log(app.textContent);
1902
1912
  * // -> 'dog cat'
1903
1913
  * ```
1914
+ * @function
1904
1915
  * @category Component
1905
1916
  * @since v8.1.0
1906
1917
  */
@@ -1958,6 +1969,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1958
1969
  * console.log(app.textContent);
1959
1970
  * // -> 'fido'
1960
1971
  * ```
1972
+ * @function
1961
1973
  * @category Component
1962
1974
  * @since v8.1.0
1963
1975
  */
@@ -2016,6 +2028,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2016
2028
  * console.log(app.textContent);
2017
2029
  * // -> 'dog'
2018
2030
  * ```
2031
+ * @function
2019
2032
  * @category Component
2020
2033
  * @since v8.1.0
2021
2034
  */
@@ -2074,6 +2087,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2074
2087
  * console.log(app.textContent);
2075
2088
  * // -> 'fido'
2076
2089
  * ```
2090
+ * @function
2077
2091
  * @category Component
2078
2092
  * @since v8.1.0
2079
2093
  */
@@ -2138,6 +2152,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2138
2152
  * console.log(app.textContent);
2139
2153
  * // -> 'fido felix'
2140
2154
  * ```
2155
+ * @function
2141
2156
  * @category Component
2142
2157
  * @since v8.1.0
2143
2158
  */
@@ -2193,6 +2208,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2193
2208
  * console.log(app.textContent);
2194
2209
  * // -> 'brown'
2195
2210
  * ```
2211
+ * @function
2196
2212
  * @category Component
2197
2213
  * @since v8.1.0
2198
2214
  */
@@ -2250,6 +2266,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2250
2266
  * console.log(app.textContent);
2251
2267
  * // -> 'color'
2252
2268
  * ```
2269
+ * @function
2253
2270
  * @category Component
2254
2271
  * @since v8.1.0
2255
2272
  */
@@ -2308,6 +2325,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2308
2325
  * console.log(app.textContent);
2309
2326
  * // -> 'fido felix'
2310
2327
  * ```
2328
+ * @function
2311
2329
  * @category Component
2312
2330
  * @since v8.1.0
2313
2331
  */
@@ -2371,6 +2389,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2371
2389
  * console.log(app.textContent);
2372
2390
  * // -> 'felix fido'
2373
2391
  * ```
2392
+ * @function
2374
2393
  * @category Component
2375
2394
  * @since v8.1.0
2376
2395
  */
@@ -2424,6 +2443,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2424
2443
  * console.log(app.textContent);
2425
2444
  * // -> ''
2426
2445
  * ```
2446
+ * @function
2427
2447
  * @category Component
2428
2448
  * @since v8.1.0
2429
2449
  */
@@ -2477,6 +2497,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2477
2497
  * console.log(app.textContent);
2478
2498
  * // -> ''
2479
2499
  * ```
2500
+ * @function
2480
2501
  * @category Component
2481
2502
  * @since v8.1.0
2482
2503
  */
@@ -2532,6 +2553,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2532
2553
  * console.log(app.textContent);
2533
2554
  * // -> ''
2534
2555
  * ```
2556
+ * @function
2535
2557
  * @category Component
2536
2558
  * @since v8.1.0
2537
2559
  */
@@ -2587,6 +2609,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2587
2609
  * console.log(app.textContent);
2588
2610
  * // -> '0'
2589
2611
  * ```
2612
+ * @function
2590
2613
  * @category Component
2591
2614
  * @since v8.1.0
2592
2615
  */
@@ -842,6 +842,7 @@ export type SortedTablePaginatorProps = {
842
842
  * </table>
843
843
  * `;
844
844
  * ```
845
+ * @function
845
846
  * @category Store components
846
847
  * @since v4.1.0
847
848
  */
@@ -1031,6 +1032,7 @@ export const TableInHtmlTable: Component<
1031
1032
  * </table>
1032
1033
  * `;
1033
1034
  * ```
1035
+ * @function
1034
1036
  * @category Store components
1035
1037
  * @since v4.1.0
1036
1038
  */
@@ -1174,6 +1176,7 @@ export const SortedTableInHtmlTable: Component<
1174
1176
  * </table>
1175
1177
  * `;
1176
1178
  * ```
1179
+ * @function
1177
1180
  * @category Store components
1178
1181
  * @since v4.1.0
1179
1182
  */
@@ -1345,6 +1348,7 @@ export const ValuesInHtmlTable: Component<
1345
1348
  * </table>
1346
1349
  * `;
1347
1350
  * ```
1351
+ * @function
1348
1352
  * @category Other components
1349
1353
  * @since v4.1.0
1350
1354
  */
@@ -1532,6 +1536,7 @@ export const SliceInHtmlTable: Component<
1532
1536
  * </table>
1533
1537
  * `;
1534
1538
  * ```
1539
+ * @function
1535
1540
  * @category Other components
1536
1541
  * @since v4.1.0
1537
1542
  */
@@ -1700,6 +1705,7 @@ export const RelationshipInHtmlTable: Component<
1700
1705
  * </table>
1701
1706
  * `;
1702
1707
  * ```
1708
+ * @function
1703
1709
  * @category Queries components
1704
1710
  * @since v4.1.0
1705
1711
  */
@@ -1891,6 +1897,7 @@ export const ResultTableInHtmlTable: Component<
1891
1897
  * </table>
1892
1898
  * `;
1893
1899
  * ```
1900
+ * @function
1894
1901
  * @category Queries components
1895
1902
  * @since v4.1.0
1896
1903
  */
@@ -1964,6 +1971,7 @@ export const ResultSortedTableInHtmlTable: Component<
1964
1971
  * </div>
1965
1972
  * `;
1966
1973
  * ```
1974
+ * @function
1967
1975
  * @category Store components
1968
1976
  * @since v4.1.0
1969
1977
  */
@@ -2037,6 +2045,7 @@ export const EditableCellView: Component<
2037
2045
  * </div>
2038
2046
  * `;
2039
2047
  * ```
2048
+ * @function
2040
2049
  * @category Store components
2041
2050
  * @since v4.1.0
2042
2051
  */
@@ -2132,6 +2141,7 @@ export const EditableValueView: Component<
2132
2141
  * </table>
2133
2142
  * `;
2134
2143
  * ```
2144
+ * @function
2135
2145
  * @category Store components
2136
2146
  * @since v4.1.0
2137
2147
  */
@@ -900,6 +900,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
900
900
  * </table>
901
901
  * `;
902
902
  * ```
903
+ * @function
903
904
  * @category Store components
904
905
  * @since v4.1.0
905
906
  */
@@ -1095,6 +1096,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1095
1096
  * </table>
1096
1097
  * `;
1097
1098
  * ```
1099
+ * @function
1098
1100
  * @category Store components
1099
1101
  * @since v4.1.0
1100
1102
  */
@@ -1246,6 +1248,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1246
1248
  * </table>
1247
1249
  * `;
1248
1250
  * ```
1251
+ * @function
1249
1252
  * @category Store components
1250
1253
  * @since v4.1.0
1251
1254
  */
@@ -1425,6 +1428,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1425
1428
  * </table>
1426
1429
  * `;
1427
1430
  * ```
1431
+ * @function
1428
1432
  * @category Other components
1429
1433
  * @since v4.1.0
1430
1434
  */
@@ -1618,6 +1622,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1618
1622
  * </table>
1619
1623
  * `;
1620
1624
  * ```
1625
+ * @function
1621
1626
  * @category Other components
1622
1627
  * @since v4.1.0
1623
1628
  */
@@ -1794,6 +1799,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1794
1799
  * </table>
1795
1800
  * `;
1796
1801
  * ```
1802
+ * @function
1797
1803
  * @category Queries components
1798
1804
  * @since v4.1.0
1799
1805
  */
@@ -1993,6 +1999,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
1993
1999
  * </table>
1994
2000
  * `;
1995
2001
  * ```
2002
+ * @function
1996
2003
  * @category Queries components
1997
2004
  * @since v4.1.0
1998
2005
  */
@@ -2074,6 +2081,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2074
2081
  * </div>
2075
2082
  * `;
2076
2083
  * ```
2084
+ * @function
2077
2085
  * @category Store components
2078
2086
  * @since v4.1.0
2079
2087
  */
@@ -2161,6 +2169,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2161
2169
  * </div>
2162
2170
  * `;
2163
2171
  * ```
2172
+ * @function
2164
2173
  * @category Store components
2165
2174
  * @since v4.1.0
2166
2175
  */
@@ -2256,6 +2265,7 @@ export type WithSchemas<Schemas extends OptionalSchemas> = {
2256
2265
  * </table>
2257
2266
  * `;
2258
2267
  * ```
2268
+ * @function
2259
2269
  * @category Store components
2260
2270
  * @since v4.1.0
2261
2271
  */
@@ -69,6 +69,7 @@ export type InspectorProps = {
69
69
  * console.log(typeof Inspector);
70
70
  * // -> 'function'
71
71
  * ```
72
+ * @function
72
73
  * @category Development components
73
74
  * @essential Using Svelte
74
75
  * @since v8.2.0
@@ -69,6 +69,7 @@ export type InspectorProps = {
69
69
  * console.log(typeof Inspector);
70
70
  * // -> 'function'
71
71
  * ```
72
+ * @function
72
73
  * @category Development components
73
74
  * @essential Using Svelte
74
75
  * @since v8.2.0
@@ -462,7 +462,8 @@ const createCheckpoints = getCreateFunction(
462
462
  cellOrValueIsEqual(oldNew[0], newCell) &&
463
463
  collIsEmpty(mapSet(row, cellId)) &&
464
464
  collIsEmpty(mapSet(table, rowId)) &&
465
- collIsEmpty(mapSet(cellsDelta, tableId))
465
+ collIsEmpty(mapSet(cellsDelta, tableId)) &&
466
+ collIsEmpty(valuesDelta)
466
467
  ) {
467
468
  storeUnchanged();
468
469
  }
@@ -482,7 +483,8 @@ const createCheckpoints = getCreateFunction(
482
483
  oldNew[1] = newValue;
483
484
  if (
484
485
  cellOrValueIsEqual(oldNew[0], newValue) &&
485
- collIsEmpty(mapSet(valuesDelta, valueId))
486
+ collIsEmpty(mapSet(valuesDelta, valueId)) &&
487
+ collIsEmpty(cellsDelta)
486
488
  ) {
487
489
  storeUnchanged();
488
490
  }
@@ -462,7 +462,8 @@ const createCheckpoints = getCreateFunction(
462
462
  cellOrValueIsEqual(oldNew[0], newCell) &&
463
463
  collIsEmpty(mapSet(row, cellId)) &&
464
464
  collIsEmpty(mapSet(table, rowId)) &&
465
- collIsEmpty(mapSet(cellsDelta, tableId))
465
+ collIsEmpty(mapSet(cellsDelta, tableId)) &&
466
+ collIsEmpty(valuesDelta)
466
467
  ) {
467
468
  storeUnchanged();
468
469
  }
@@ -482,7 +483,8 @@ const createCheckpoints = getCreateFunction(
482
483
  oldNew[1] = newValue;
483
484
  if (
484
485
  cellOrValueIsEqual(oldNew[0], newValue) &&
485
- collIsEmpty(mapSet(valuesDelta, valueId))
486
+ collIsEmpty(mapSet(valuesDelta, valueId)) &&
487
+ collIsEmpty(cellsDelta)
486
488
  ) {
487
489
  storeUnchanged();
488
490
  }
package/index.js CHANGED
@@ -898,7 +898,8 @@ const createCheckpoints = getCreateFunction(
898
898
  cellOrValueIsEqual(oldNew[0], newCell) &&
899
899
  collIsEmpty(mapSet(row, cellId)) &&
900
900
  collIsEmpty(mapSet(table, rowId)) &&
901
- collIsEmpty(mapSet(cellsDelta, tableId))
901
+ collIsEmpty(mapSet(cellsDelta, tableId)) &&
902
+ collIsEmpty(valuesDelta)
902
903
  ) {
903
904
  storeUnchanged();
904
905
  }
@@ -918,7 +919,8 @@ const createCheckpoints = getCreateFunction(
918
919
  oldNew[1] = newValue;
919
920
  if (
920
921
  cellOrValueIsEqual(oldNew[0], newValue) &&
921
- collIsEmpty(mapSet(valuesDelta, valueId))
922
+ collIsEmpty(mapSet(valuesDelta, valueId)) &&
923
+ collIsEmpty(cellsDelta)
922
924
  ) {
923
925
  storeUnchanged();
924
926
  }
@@ -4160,7 +4162,8 @@ const numericAggregators = mapNew([
4160
4162
  [
4161
4163
  (numbers, length) => arraySum(numbers) / length,
4162
4164
  (metric, add, length) => metric + (add - metric) / (length + 1),
4163
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
4165
+ (metric, remove, length) =>
4166
+ length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
4164
4167
  (metric, add, remove, length) => metric + (add - remove) / length,
4165
4168
  ],
4166
4169
  ],
@@ -5680,11 +5683,21 @@ const createRelationships = getCreateFunction((store) => {
5680
5683
  remoteTableId,
5681
5684
  getRemoteRowId2,
5682
5685
  ) => {
5686
+ mapForEach(mapGet(linkedRowIdsListeners, relationshipId), (firstRowId) =>
5687
+ getLinkedRowIdsCache(relationshipId, firstRowId),
5688
+ );
5683
5689
  mapSet(remoteTableIds, relationshipId, remoteTableId);
5684
5690
  setDefinitionAndListen(
5685
5691
  relationshipId,
5686
5692
  localTableId,
5687
- (change, changedRemoteRowIds) => {
5693
+ (
5694
+ change,
5695
+ changedRemoteRowIds,
5696
+ _changedSortKeys,
5697
+ _rowValues,
5698
+ _sortKeys,
5699
+ force,
5700
+ ) => {
5688
5701
  const changedLocalRows = setNew();
5689
5702
  const changedRemoteRows = setNew();
5690
5703
  const changedLinkedRows = setNew();
@@ -5729,6 +5742,26 @@ const createRelationships = getCreateFunction((store) => {
5729
5742
  },
5730
5743
  );
5731
5744
  change();
5745
+ if (force) {
5746
+ mapForEach(
5747
+ mapGet(linkedRowIdsListeners, relationshipId),
5748
+ (firstRowId) => {
5749
+ const oldLinkedRowIds = getLinkedRowIds(
5750
+ relationshipId,
5751
+ firstRowId,
5752
+ );
5753
+ delLinkedRowIdsCache(relationshipId, firstRowId);
5754
+ if (
5755
+ !arrayIsEqual(
5756
+ oldLinkedRowIds,
5757
+ getLinkedRowIds(relationshipId, firstRowId),
5758
+ )
5759
+ ) {
5760
+ setAdd(changedLinkedRows, firstRowId);
5761
+ }
5762
+ },
5763
+ );
5764
+ }
5732
5765
  collForEach(changedLocalRows, (localRowId) =>
5733
5766
  callListeners(remoteRowIdListeners, [relationshipId, localRowId]),
5734
5767
  );
package/metrics/index.js CHANGED
@@ -122,7 +122,8 @@ const numericAggregators = mapNew([
122
122
  [
123
123
  (numbers, length) => arraySum(numbers) / length,
124
124
  (metric, add, length) => metric + (add - metric) / (length + 1),
125
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
125
+ (metric, remove, length) =>
126
+ length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
126
127
  (metric, add, remove, length) => metric + (add - remove) / length,
127
128
  ],
128
129
  ],
@@ -122,7 +122,8 @@ const numericAggregators = mapNew([
122
122
  [
123
123
  (numbers, length) => arraySum(numbers) / length,
124
124
  (metric, add, length) => metric + (add - metric) / (length + 1),
125
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
125
+ (metric, remove, length) =>
126
+ length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
126
127
  (metric, add, remove, length) => metric + (add - remove) / length,
127
128
  ],
128
129
  ],
@@ -1 +1 @@
1
- const e=e=>(t,r,n)=>e(t)?n?.():r(t),t=e=>null==e,r=e=>void 0===e,n=e=>null===e,o=e(t),s=e(r),c=e=>Array.isArray(e),i=e=>e.length,l=e=>0==i(e),a=(e,t)=>e.includes(t),d=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),h=e=>e.pop(),p=e=>e.shift(),f=Object,g=e=>f.getPrototypeOf(e),k=f.freeze,v=JSON.stringify,L=e=>{return!t(r=e)&&o(g(r),e=>e==f.prototype||t(g(e)),()=>!0)||c(e)?"�"+v(e):e;var r},y=e=>e?.size??0,C=(w=y,e=>{let t=0;for(const r of e.values())t+=w(r);return t});var w;const S=(e,t)=>e?.has(t)??!1,_=e=>r(e)||0==y(e),z=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),I=Map,O=e=>new I(e),A=(e,t)=>e?.get(t),F=(e,t,n)=>r(n)?(E(e,t),e):e?.set(t,n),M=(e,t,r,n)=>{let o=A(e,t);return S(e,t)?n?.(o):F(e,t,o=r()),o},b=(e,t,r,n,o=0)=>s((r?M:A)(e,t[o],o>i(t)-2?r:O),s=>{if(o>i(t)-2)return n?.(s)&&F(e,t[o]),s;const c=b(s,t,r,n,o+1);return _(s)&&F(e,t[o]),c}),j=e=>new Set(c(e)||r(e)?e:[e]),x=/^\d+$/,B=(e,t)=>e===t||!r(e)&&!r(t)&&L(e)===L(t),J=(()=>{const e=new WeakMap;return t=>{if(!e.has(t)){const o=(e=>{let t,o,c,f=100,g=O(),v=O(),L=1,y=0;const w=O(),I=O(),[J,N,P]=(e=>{let t;const[r,o]=(()=>{const e=[];let t=0;return[r=>(r?p(e):null)??""+t++,t=>{x.test(t)&&i(e)<1e3&&u(e,t)}]})(),c=O(),l=(e,r,o,s)=>{let l,a=!1;if(d(((e,t=[""])=>{const r=[],o=(e,s)=>s==i(t)?u(r,e):n(t[s])?z(e,e=>o(e,s+1)):d([t[s],null],t=>o(A(e,t),s+1));return o(e,0),r})(r,o),r=>z(r,r=>{const n=()=>A(c,r)[0](t,...o??[],...s);e?(e=>{try{return e()}catch(e){(e=>{a||(l=e),a=!0})?.(e)}})(n):n()})),a)throw l};return[(n,o,s,i=[],l=()=>[])=>{t??=e();const a=r(1);var d,u;return F(c,a,[n,o,s,i,l]),d=b(o,s??[""],j),u=a,d?.add(u),a},(e,t,...r)=>l(!1,e,t,r),e=>s(A(c,e),([,t,r])=>(b(t,r??[""],void 0,t=>(E(t,e),_(t)?1:0)),F(c,e),o(e),r)),e=>s(A(c,e),([e,,r=[],o,s])=>{const c=(...l)=>{const a=i(l);a==i(r)?e(t,...l,...s(l)):n(r[a])?d(o[a]?.(...l)??[],e=>c(...l,e)):c(...l,r[a])};c()}),(e,t,...r)=>l(!0,e,t,r)]})(()=>ne),T=O(),V=O(),W=[],$=[],m=(t,r)=>{L=0,(()=>{try{return e.transaction(()=>{const[n,o]=A(T,r);z(n,(r,n)=>z(r,(r,o)=>z(r,(r,s)=>e._[5](n,o,s,r[t],!0)))),z(o,(r,n)=>e._[6](n,r[t],!0))})}finally{L=1}})()},q=e=>{F(T,e),F(V,e),N(I,[e])},D=(e,t)=>d(((e,t=i(e))=>e.splice(0,t))(e,t??i(e)),q),G=()=>D(W,i(W)-f),H=()=>s(t,()=>{u(W,t),G(),D($),t=void 0,c=1}),K=()=>{t=h(W),c=1};let Q,R;const U=(e="")=>(r(t)&&(t=""+o++,F(T,t,[g,v]),te(t,e),g=O(),v=O(),c=1),t),X=()=>{l(W)||(((e,...t)=>{e.unshift(...t)})($,U()),m(0,t),t=h(W),c=1)},Y=()=>{l($)||(u(W,t),t=p($),m(1,t),c=1)},Z=()=>{c&&(N(w),c=0)},ee=e=>{const t=U(e);return Z(),t},te=(e,t)=>(re(e)&&A(V,e)!==t&&(F(V,e,t),N(I,[e])),ne),re=e=>S(T,e),ne={setSize:e=>(f=e,G(),ne),addCheckpoint:ee,setCheckpoint:te,getStore:()=>e,getCheckpointIds:()=>[[...W],t,[...$]],forEachCheckpoint:e=>{return t=e,z(V,(e,r)=>t(r,e));var t},hasCheckpoint:re,getCheckpoint:e=>A(V,e),goBackward:()=>(X(),Z(),ne),goForward:()=>(Y(),Z(),ne),goTo:e=>{const n=a(W,e)?X:a($,e)?Y:void 0;for(;!r(n)&&e!=t;)n();return Z(),ne},addCheckpointIdsListener:e=>J(e,w),addCheckpointListener:(e,t)=>J(t,I,[e]),delListener:e=>(P(e),ne),clear:()=>(D(W),D($),r(t)||q(t),t=void 0,o=0,ee(),ne),clearForward:()=>(l($)||(D($),N(w)),ne),destroy:()=>{y&&(y=0,e.delListener(Q),e.delListener(R))},getListenerStats:()=>({checkpointIds:C(w),checkpoint:C(I)}),_registerListeners:()=>{y||(y=1,Q=e.addCellListener(null,null,null,(e,t,r,n,o,s)=>{if(L){H();const e=M(g,t,O),c=M(e,r,O),i=M(c,n,()=>[s,void 0]);i[1]=o,B(i[0],o)&&_(F(c,n))&&_(F(e,r))&&_(F(g,t))&&K(),Z()}}),R=e.addValueListener(null,(e,t,r,n)=>{if(L){H();const e=M(v,t,()=>[n,void 0]);e[1]=r,B(e[0],r)&&_(F(v,t))&&K(),Z()}}))}};return k(ne.clear())})(t);e.set(t,o)}const o=e.get(t);return o._registerListeners(),o}})();export{J as createCheckpoints};
1
+ const e=e=>(t,r,n)=>e(t)?n?.():r(t),t=e=>null==e,r=e=>void 0===e,n=e=>null===e,o=e(t),s=e(r),c=e=>Array.isArray(e),i=e=>e.length,l=e=>0==i(e),a=(e,t)=>e.includes(t),d=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),h=e=>e.pop(),p=e=>e.shift(),f=Object,g=e=>f.getPrototypeOf(e),k=f.freeze,v=JSON.stringify,L=e=>{return!t(r=e)&&o(g(r),e=>e==f.prototype||t(g(e)),()=>!0)||c(e)?"�"+v(e):e;var r},y=e=>e?.size??0,C=(w=y,e=>{let t=0;for(const r of e.values())t+=w(r);return t});var w;const S=(e,t)=>e?.has(t)??!1,_=e=>r(e)||0==y(e),z=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),I=Map,O=e=>new I(e),A=(e,t)=>e?.get(t),F=(e,t,n)=>r(n)?(E(e,t),e):e?.set(t,n),M=(e,t,r,n)=>{let o=A(e,t);return S(e,t)?n?.(o):F(e,t,o=r()),o},b=(e,t,r,n,o=0)=>s((r?M:A)(e,t[o],o>i(t)-2?r:O),s=>{if(o>i(t)-2)return n?.(s)&&F(e,t[o]),s;const c=b(s,t,r,n,o+1);return _(s)&&F(e,t[o]),c}),j=e=>new Set(c(e)||r(e)?e:[e]),x=/^\d+$/,B=(e,t)=>e===t||!r(e)&&!r(t)&&L(e)===L(t),J=(()=>{const e=new WeakMap;return t=>{if(!e.has(t)){const o=(e=>{let t,o,c,f=100,g=O(),v=O(),L=1,y=0;const w=O(),I=O(),[J,N,P]=(e=>{let t;const[r,o]=(()=>{const e=[];let t=0;return[r=>(r?p(e):null)??""+t++,t=>{x.test(t)&&i(e)<1e3&&u(e,t)}]})(),c=O(),l=(e,r,o,s)=>{let l,a=!1;if(d(((e,t=[""])=>{const r=[],o=(e,s)=>s==i(t)?u(r,e):n(t[s])?z(e,e=>o(e,s+1)):d([t[s],null],t=>o(A(e,t),s+1));return o(e,0),r})(r,o),r=>z(r,r=>{const n=()=>A(c,r)[0](t,...o??[],...s);e?(e=>{try{return e()}catch(e){(e=>{a||(l=e),a=!0})?.(e)}})(n):n()})),a)throw l};return[(n,o,s,i=[],l=()=>[])=>{t??=e();const a=r(1);var d,u;return F(c,a,[n,o,s,i,l]),d=b(o,s??[""],j),u=a,d?.add(u),a},(e,t,...r)=>l(!1,e,t,r),e=>s(A(c,e),([,t,r])=>(b(t,r??[""],void 0,t=>(E(t,e),_(t)?1:0)),F(c,e),o(e),r)),e=>s(A(c,e),([e,,r=[],o,s])=>{const c=(...l)=>{const a=i(l);a==i(r)?e(t,...l,...s(l)):n(r[a])?d(o[a]?.(...l)??[],e=>c(...l,e)):c(...l,r[a])};c()}),(e,t,...r)=>l(!0,e,t,r)]})(()=>ne),T=O(),V=O(),W=[],$=[],m=(t,r)=>{L=0,(()=>{try{return e.transaction(()=>{const[n,o]=A(T,r);z(n,(r,n)=>z(r,(r,o)=>z(r,(r,s)=>e._[5](n,o,s,r[t],!0)))),z(o,(r,n)=>e._[6](n,r[t],!0))})}finally{L=1}})()},q=e=>{F(T,e),F(V,e),N(I,[e])},D=(e,t)=>d(((e,t=i(e))=>e.splice(0,t))(e,t??i(e)),q),G=()=>D(W,i(W)-f),H=()=>s(t,()=>{u(W,t),G(),D($),t=void 0,c=1}),K=()=>{t=h(W),c=1};let Q,R;const U=(e="")=>(r(t)&&(t=""+o++,F(T,t,[g,v]),te(t,e),g=O(),v=O(),c=1),t),X=()=>{l(W)||(((e,...t)=>{e.unshift(...t)})($,U()),m(0,t),t=h(W),c=1)},Y=()=>{l($)||(u(W,t),t=p($),m(1,t),c=1)},Z=()=>{c&&(N(w),c=0)},ee=e=>{const t=U(e);return Z(),t},te=(e,t)=>(re(e)&&A(V,e)!==t&&(F(V,e,t),N(I,[e])),ne),re=e=>S(T,e),ne={setSize:e=>(f=e,G(),ne),addCheckpoint:ee,setCheckpoint:te,getStore:()=>e,getCheckpointIds:()=>[[...W],t,[...$]],forEachCheckpoint:e=>{return t=e,z(V,(e,r)=>t(r,e));var t},hasCheckpoint:re,getCheckpoint:e=>A(V,e),goBackward:()=>(X(),Z(),ne),goForward:()=>(Y(),Z(),ne),goTo:e=>{const n=a(W,e)?X:a($,e)?Y:void 0;for(;!r(n)&&e!=t;)n();return Z(),ne},addCheckpointIdsListener:e=>J(e,w),addCheckpointListener:(e,t)=>J(t,I,[e]),delListener:e=>(P(e),ne),clear:()=>(D(W),D($),r(t)||q(t),t=void 0,o=0,ee(),ne),clearForward:()=>(l($)||(D($),N(w)),ne),destroy:()=>{y&&(y=0,e.delListener(Q),e.delListener(R))},getListenerStats:()=>({checkpointIds:C(w),checkpoint:C(I)}),_registerListeners:()=>{y||(y=1,Q=e.addCellListener(null,null,null,(e,t,r,n,o,s)=>{if(L){H();const e=M(g,t,O),c=M(e,r,O),i=M(c,n,()=>[s,void 0]);i[1]=o,B(i[0],o)&&_(F(c,n))&&_(F(e,r))&&_(F(g,t))&&_(v)&&K(),Z()}}),R=e.addValueListener(null,(e,t,r,n)=>{if(L){H();const e=M(v,t,()=>[n,void 0]);e[1]=r,B(e[0],r)&&_(F(v,t))&&_(g)&&K(),Z()}}))}};return k(ne.clear())})(t);e.set(t,o)}const o=e.get(t);return o._registerListeners(),o}})();export{J as createCheckpoints};
Binary file