tinybase 5.0.0-beta.27 → 5.0.0-beta.28

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 (249) hide show
  1. package/@types/_internal/ui-react/with-schemas/index.d.cts +274 -0
  2. package/@types/_internal/ui-react/with-schemas/index.d.ts +274 -0
  3. package/@types/checkpoints/index.d.cts +30 -1
  4. package/@types/checkpoints/index.d.ts +30 -1
  5. package/@types/checkpoints/with-schemas/index.d.cts +30 -1
  6. package/@types/checkpoints/with-schemas/index.d.ts +30 -1
  7. package/@types/common/index.d.cts +9 -0
  8. package/@types/common/index.d.ts +9 -0
  9. package/@types/common/with-schemas/index.d.cts +9 -0
  10. package/@types/common/with-schemas/index.d.ts +9 -0
  11. package/@types/index.d.cts +1 -0
  12. package/@types/index.d.ts +1 -0
  13. package/@types/indexes/index.d.cts +32 -1
  14. package/@types/indexes/index.d.ts +32 -1
  15. package/@types/indexes/with-schemas/index.d.cts +32 -1
  16. package/@types/indexes/with-schemas/index.d.ts +32 -1
  17. package/@types/mergeable-store/index.d.cts +0 -2
  18. package/@types/mergeable-store/index.d.ts +0 -2
  19. package/@types/mergeable-store/with-schemas/index.d.cts +2 -2
  20. package/@types/mergeable-store/with-schemas/index.d.ts +2 -2
  21. package/@types/metrics/index.d.cts +30 -4
  22. package/@types/metrics/index.d.ts +30 -4
  23. package/@types/metrics/with-schemas/index.d.cts +30 -4
  24. package/@types/metrics/with-schemas/index.d.ts +30 -4
  25. package/@types/persisters/index.d.cts +87 -25
  26. package/@types/persisters/index.d.ts +87 -25
  27. package/@types/persisters/persister-automerge/index.d.cts +4 -4
  28. package/@types/persisters/persister-automerge/index.d.ts +4 -4
  29. package/@types/persisters/persister-automerge/with-schemas/index.d.cts +4 -4
  30. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
  31. package/@types/persisters/persister-browser/index.d.cts +7 -4
  32. package/@types/persisters/persister-browser/index.d.ts +7 -4
  33. package/@types/persisters/persister-browser/with-schemas/index.d.cts +7 -4
  34. package/@types/persisters/persister-browser/with-schemas/index.d.ts +7 -4
  35. package/@types/persisters/persister-cr-sqlite-wasm/index.d.cts +4 -4
  36. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +4 -4
  37. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.cts +4 -4
  38. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +4 -4
  39. package/@types/persisters/persister-electric-sql/index.d.cts +4 -4
  40. package/@types/persisters/persister-electric-sql/index.d.ts +4 -4
  41. package/@types/persisters/persister-electric-sql/with-schemas/index.d.cts +4 -4
  42. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +4 -4
  43. package/@types/persisters/persister-expo-sqlite/index.d.cts +4 -4
  44. package/@types/persisters/persister-expo-sqlite/index.d.ts +4 -4
  45. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.cts +4 -4
  46. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +4 -4
  47. package/@types/persisters/persister-file/index.d.cts +6 -4
  48. package/@types/persisters/persister-file/index.d.ts +6 -4
  49. package/@types/persisters/persister-file/with-schemas/index.d.cts +6 -4
  50. package/@types/persisters/persister-file/with-schemas/index.d.ts +6 -4
  51. package/@types/persisters/persister-indexed-db/index.d.cts +5 -4
  52. package/@types/persisters/persister-indexed-db/index.d.ts +5 -4
  53. package/@types/persisters/persister-indexed-db/with-schemas/index.d.cts +5 -4
  54. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +5 -4
  55. package/@types/persisters/persister-libsql/index.d.cts +5 -4
  56. package/@types/persisters/persister-libsql/index.d.ts +5 -4
  57. package/@types/persisters/persister-libsql/with-schemas/index.d.cts +5 -4
  58. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +5 -4
  59. package/@types/persisters/persister-partykit-client/index.d.cts +12 -6
  60. package/@types/persisters/persister-partykit-client/index.d.ts +12 -6
  61. package/@types/persisters/persister-partykit-client/with-schemas/index.d.cts +12 -6
  62. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +12 -6
  63. package/@types/persisters/persister-partykit-server/index.d.cts +11 -3
  64. package/@types/persisters/persister-partykit-server/index.d.ts +11 -3
  65. package/@types/persisters/persister-partykit-server/with-schemas/index.d.cts +11 -3
  66. package/@types/persisters/persister-partykit-server/with-schemas/index.d.ts +11 -3
  67. package/@types/persisters/persister-powersync/index.d.cts +5 -4
  68. package/@types/persisters/persister-powersync/index.d.ts +5 -4
  69. package/@types/persisters/persister-powersync/with-schemas/index.d.cts +5 -4
  70. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +5 -4
  71. package/@types/persisters/persister-remote/index.d.cts +6 -4
  72. package/@types/persisters/persister-remote/index.d.ts +6 -4
  73. package/@types/persisters/persister-remote/with-schemas/index.d.cts +6 -4
  74. package/@types/persisters/persister-remote/with-schemas/index.d.ts +6 -4
  75. package/@types/persisters/persister-sqlite-wasm/index.d.cts +4 -4
  76. package/@types/persisters/persister-sqlite-wasm/index.d.ts +4 -4
  77. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.cts +4 -4
  78. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +4 -4
  79. package/@types/persisters/persister-sqlite3/index.d.cts +4 -4
  80. package/@types/persisters/persister-sqlite3/index.d.ts +4 -4
  81. package/@types/persisters/persister-sqlite3/with-schemas/index.d.cts +4 -4
  82. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +4 -4
  83. package/@types/persisters/persister-yjs/index.d.cts +4 -4
  84. package/@types/persisters/persister-yjs/index.d.ts +4 -4
  85. package/@types/persisters/persister-yjs/with-schemas/index.d.cts +4 -4
  86. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
  87. package/@types/persisters/with-schemas/index.d.cts +87 -25
  88. package/@types/persisters/with-schemas/index.d.ts +87 -25
  89. package/@types/queries/index.d.cts +64 -4
  90. package/@types/queries/index.d.ts +64 -4
  91. package/@types/queries/with-schemas/index.d.cts +64 -4
  92. package/@types/queries/with-schemas/index.d.ts +64 -4
  93. package/@types/relationships/index.d.cts +34 -1
  94. package/@types/relationships/index.d.ts +34 -1
  95. package/@types/relationships/with-schemas/index.d.cts +34 -1
  96. package/@types/relationships/with-schemas/index.d.ts +34 -1
  97. package/@types/store/index.d.cts +125 -0
  98. package/@types/store/index.d.ts +125 -0
  99. package/@types/store/with-schemas/index.d.cts +125 -0
  100. package/@types/store/with-schemas/index.d.ts +125 -0
  101. package/@types/synchronizers/index.d.cts +32 -10
  102. package/@types/synchronizers/index.d.ts +32 -10
  103. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.cts +114 -0
  104. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +114 -0
  105. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.cts +128 -0
  106. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +128 -0
  107. package/@types/synchronizers/synchronizer-local/index.d.cts +16 -17
  108. package/@types/synchronizers/synchronizer-local/index.d.ts +16 -17
  109. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.cts +16 -17
  110. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +16 -17
  111. package/@types/synchronizers/synchronizer-ws-client/index.d.cts +66 -6
  112. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +66 -6
  113. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.cts +77 -6
  114. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +77 -6
  115. package/@types/synchronizers/synchronizer-ws-server/index.d.cts +486 -7
  116. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +486 -7
  117. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.cts +486 -7
  118. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +486 -7
  119. package/@types/synchronizers/with-schemas/index.d.cts +29 -11
  120. package/@types/synchronizers/with-schemas/index.d.ts +29 -11
  121. package/@types/tools/index.d.cts +22 -0
  122. package/@types/tools/index.d.ts +22 -0
  123. package/@types/tools/with-schemas/index.d.cts +22 -0
  124. package/@types/tools/with-schemas/index.d.ts +22 -0
  125. package/@types/ui-react/index.d.cts +375 -1
  126. package/@types/ui-react/index.d.ts +375 -1
  127. package/@types/ui-react/with-schemas/index.d.cts +100 -1
  128. package/@types/ui-react/with-schemas/index.d.ts +100 -1
  129. package/@types/ui-react-dom/index.d.cts +112 -0
  130. package/@types/ui-react-dom/index.d.ts +112 -0
  131. package/@types/ui-react-dom/with-schemas/index.d.cts +112 -0
  132. package/@types/ui-react-dom/with-schemas/index.d.ts +112 -0
  133. package/@types/ui-react-inspector/index.d.cts +6 -2
  134. package/@types/ui-react-inspector/index.d.ts +6 -2
  135. package/@types/ui-react-inspector/with-schemas/index.d.cts +118 -2
  136. package/@types/ui-react-inspector/with-schemas/index.d.ts +118 -2
  137. package/@types/with-schemas/index.d.cts +1 -0
  138. package/@types/with-schemas/index.d.ts +1 -0
  139. package/cjs/es6/index.cjs +2 -2
  140. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  141. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  142. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  143. package/cjs/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  144. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  145. package/cjs/es6/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  146. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  147. package/cjs/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  148. package/cjs/es6/synchronizers/index.cjs +2 -2
  149. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/index.cjs +628 -0
  150. package/cjs/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +628 -0
  151. package/cjs/es6/synchronizers/synchronizer-local/index.cjs +4 -4
  152. package/cjs/es6/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
  153. package/cjs/es6/synchronizers/synchronizer-ws-client/index.cjs +15 -21
  154. package/cjs/es6/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
  155. package/cjs/es6/synchronizers/with-schemas/index.cjs +2 -2
  156. package/cjs/es6/with-schemas/index.cjs +2 -2
  157. package/cjs/index.cjs +2 -2
  158. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs +1 -0
  159. package/cjs/min/synchronizers/synchronizer-broadcast-channel/index.cjs.gz +0 -0
  160. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +1 -0
  161. package/cjs/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs.gz +0 -0
  162. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs +1 -1
  163. package/cjs/min/synchronizers/synchronizer-ws-client/index.cjs.gz +0 -0
  164. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +1 -1
  165. package/cjs/min/synchronizers/synchronizer-ws-client/with-schemas/index.cjs.gz +0 -0
  166. package/cjs/synchronizers/index.cjs +2 -2
  167. package/cjs/synchronizers/synchronizer-broadcast-channel/index.cjs +500 -0
  168. package/cjs/synchronizers/synchronizer-broadcast-channel/with-schemas/index.cjs +500 -0
  169. package/cjs/synchronizers/synchronizer-local/index.cjs +4 -4
  170. package/cjs/synchronizers/synchronizer-local/with-schemas/index.cjs +4 -4
  171. package/cjs/synchronizers/synchronizer-ws-client/index.cjs +15 -21
  172. package/cjs/synchronizers/synchronizer-ws-client/with-schemas/index.cjs +15 -21
  173. package/cjs/synchronizers/with-schemas/index.cjs +2 -2
  174. package/cjs/with-schemas/index.cjs +2 -2
  175. package/es6/index.js +2 -2
  176. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  177. package/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  178. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  179. package/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  180. package/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  181. package/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  182. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  183. package/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  184. package/es6/synchronizers/index.js +2 -2
  185. package/es6/synchronizers/synchronizer-broadcast-channel/index.js +626 -0
  186. package/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +626 -0
  187. package/es6/synchronizers/synchronizer-local/index.js +4 -4
  188. package/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  189. package/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
  190. package/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  191. package/es6/synchronizers/with-schemas/index.js +2 -2
  192. package/es6/with-schemas/index.js +2 -2
  193. package/index.js +2 -2
  194. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  195. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  196. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  197. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  198. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  199. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  200. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  201. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  202. package/package.json +105 -1
  203. package/readme.md +9 -9
  204. package/releases.md +4 -4
  205. package/synchronizers/index.js +2 -2
  206. package/synchronizers/synchronizer-broadcast-channel/index.js +498 -0
  207. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +498 -0
  208. package/synchronizers/synchronizer-local/index.js +4 -4
  209. package/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  210. package/synchronizers/synchronizer-ws-client/index.js +15 -21
  211. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  212. package/synchronizers/with-schemas/index.js +2 -2
  213. package/umd/es6/index.js +2 -2
  214. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  215. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  216. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  217. package/umd/es6/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  218. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  219. package/umd/es6/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  220. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  221. package/umd/es6/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  222. package/umd/es6/synchronizers/index.js +2 -2
  223. package/umd/es6/synchronizers/synchronizer-broadcast-channel/index.js +654 -0
  224. package/umd/es6/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +654 -0
  225. package/umd/es6/synchronizers/synchronizer-local/index.js +4 -4
  226. package/umd/es6/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  227. package/umd/es6/synchronizers/synchronizer-ws-client/index.js +15 -21
  228. package/umd/es6/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  229. package/umd/es6/synchronizers/with-schemas/index.js +2 -2
  230. package/umd/es6/with-schemas/index.js +2 -2
  231. package/umd/index.js +2 -2
  232. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -0
  233. package/umd/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  234. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -0
  235. package/umd/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  236. package/umd/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  237. package/umd/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  238. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  239. package/umd/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  240. package/umd/synchronizers/index.js +2 -2
  241. package/umd/synchronizers/synchronizer-broadcast-channel/index.js +516 -0
  242. package/umd/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +516 -0
  243. package/umd/synchronizers/synchronizer-local/index.js +4 -4
  244. package/umd/synchronizers/synchronizer-local/with-schemas/index.js +4 -4
  245. package/umd/synchronizers/synchronizer-ws-client/index.js +15 -21
  246. package/umd/synchronizers/synchronizer-ws-client/with-schemas/index.js +15 -21
  247. package/umd/synchronizers/with-schemas/index.js +2 -2
  248. package/umd/with-schemas/index.js +2 -2
  249. package/with-schemas/index.js +2 -2
@@ -8,6 +8,7 @@
8
8
  * listeners for when they change.
9
9
  * @packageDocumentation
10
10
  * @module metrics
11
+ * @since v1.0.0
11
12
  */
12
13
 
13
14
  import type {GetCell, Store} from '../store/index.d.ts';
@@ -17,6 +18,7 @@ import type {Id, IdOrNull, Ids} from '../common/index.d.ts';
17
18
  * The Metric type is simply an alias, but represents a number formed by
18
19
  * aggregating multiple other numbers together.
19
20
  * @category Metric
21
+ * @since v1.0.0
20
22
  */
21
23
  export type Metric = number;
22
24
 
@@ -30,6 +32,7 @@ export type Metric = number;
30
32
  * @param metricId The Id of the Metric that the callback can operate on.
31
33
  * @param metric The value of the Metric.
32
34
  * @category Callback
35
+ * @since v1.0.0
33
36
  */
34
37
  export type MetricCallback = (metricId: Id, metric?: Metric) => void;
35
38
 
@@ -45,6 +48,7 @@ export type MetricCallback = (metricId: Id, metric?: Metric) => void;
45
48
  * @param length The length of the array of numbers in the Metric's aggregation.
46
49
  * @returns The value of the Metric.
47
50
  * @category Aggregators
51
+ * @since v1.0.0
48
52
  */
49
53
  export type MetricAggregate = (numbers: number[], length: number) => Metric;
50
54
 
@@ -61,7 +65,7 @@ export type MetricAggregate = (numbers: number[], length: number) => Metric;
61
65
  * being added, return `undefined` and the Metric will be completely
62
66
  * recalculated.
63
67
  *
64
- * Where possible, if you are providing a custom MetricAggregate, seek an
68
+ * When possible, if you are providing a custom MetricAggregate, seek an
65
69
  * implementation of an MetricAggregateAdd function that can reduce the
66
70
  * complexity cost of growing the input data set. See the setMetricDefinition
67
71
  * method for more examples.
@@ -70,6 +74,7 @@ export type MetricAggregate = (numbers: number[], length: number) => Metric;
70
74
  * @param length The length of the array of numbers in the Metric's aggregation.
71
75
  * @returns The new value of the Metric.
72
76
  * @category Aggregators
77
+ * @since v1.0.0
73
78
  */
74
79
  export type MetricAggregateAdd = (
75
80
  metric: Metric,
@@ -93,7 +98,7 @@ export type MetricAggregateAdd = (
93
98
  * values, and the previous minimum is being removed. The whole of the rest of
94
99
  * the list will need to be re-scanned to find a new minimum.
95
100
  *
96
- * Where possible, if you are providing a custom MetricAggregate, seek an
101
+ * When possible, if you are providing a custom MetricAggregate, seek an
97
102
  * implementation of an MetricAggregateRemove function that can reduce the
98
103
  * complexity cost of shrinking the input data set. See the setMetricDefinition
99
104
  * method for more examples.
@@ -102,6 +107,7 @@ export type MetricAggregateAdd = (
102
107
  * @param length The length of the array of numbers in the Metric's aggregation.
103
108
  * @returns The new value of the Metric.
104
109
  * @category Aggregators
110
+ * @since v1.0.0
105
111
  */
106
112
  export type MetricAggregateRemove = (
107
113
  metric: Metric,
@@ -122,7 +128,7 @@ export type MetricAggregateRemove = (
122
128
  * If it is not possible to shortcut the aggregation based on just one value
123
129
  * changing, return `undefined` and the Metric will be completely recalculated.
124
130
  *
125
- * Where possible, if you are providing a custom MetricAggregate, seek an
131
+ * When possible, if you are providing a custom MetricAggregate, seek an
126
132
  * implementation of an MetricAggregateReplace function that can reduce the
127
133
  * complexity cost of changing the input data set in place. See the
128
134
  * setMetricDefinition method for more examples.
@@ -132,6 +138,7 @@ export type MetricAggregateRemove = (
132
138
  * @param length The length of the array of numbers in the Metric's aggregation.
133
139
  * @returns The new value of the Metric.
134
140
  * @category Aggregators
141
+ * @since v1.0.0
135
142
  */
136
143
  export type MetricAggregateReplace = (
137
144
  metric: Metric,
@@ -150,6 +157,7 @@ export type MetricAggregateReplace = (
150
157
  * When called, a MetricIdsListener is given a reference to the Metrics object.
151
158
  * @param metrics A reference to the Metrics object that changed.
152
159
  * @category Listener
160
+ * @since v1.0.0
153
161
  */
154
162
  export type MetricIdsListener = (metrics: Metrics) => void;
155
163
 
@@ -171,6 +179,7 @@ export type MetricIdsListener = (metrics: Metrics) => void;
171
179
  * @param newMetric The new value of the Metric that changed.
172
180
  * @param oldMetric The old value of the Metric that changed.
173
181
  * @category Listener
182
+ * @since v1.0.0
174
183
  */
175
184
  export type MetricListener = (
176
185
  metrics: Metrics,
@@ -185,10 +194,13 @@ export type MetricListener = (
185
194
  *
186
195
  * A MetricsListenerStats object is returned from the getListenerStats method.
187
196
  * @category Development
197
+ * @since v1.0.0
188
198
  */
189
199
  export type MetricsListenerStats = {
190
200
  /**
191
201
  * The number of MetricListener functions registered with the Metrics object.
202
+ * @category Stat
203
+ * @since v1.0.0
192
204
  */
193
205
  metric: number;
194
206
  };
@@ -243,11 +255,12 @@ export type MetricsListenerStats = {
243
255
  * metrics.delListener(listenerId);
244
256
  * metrics.destroy();
245
257
  * ```
246
- * @see Metrics And Indexes guides
258
+ * @see Using Metrics guides
247
259
  * @see Rolling Dice demos
248
260
  * @see Country demo
249
261
  * @see Todo App demos
250
262
  * @category Metrics
263
+ * @since v1.0.0
251
264
  */
252
265
  export interface Metrics {
253
266
  //
@@ -424,6 +437,7 @@ export interface Metrics {
424
437
  * // -> 2.5
425
438
  * ```
426
439
  * @category Configuration
440
+ * @since v1.0.0
427
441
  */
428
442
  setMetricDefinition(
429
443
  metricId: Id,
@@ -462,6 +476,7 @@ export interface Metrics {
462
476
  * // -> []
463
477
  * ```
464
478
  * @category Configuration
479
+ * @since v1.0.0
465
480
  */
466
481
  delMetricDefinition(metricId: Id): Metrics;
467
482
 
@@ -483,6 +498,7 @@ export interface Metrics {
483
498
  * // -> 1
484
499
  * ```
485
500
  * @category Getter
501
+ * @since v1.0.0
486
502
  */
487
503
  getStore(): Store;
488
504
 
@@ -505,6 +521,7 @@ export interface Metrics {
505
521
  * // -> ['speciesCount', 'petsCount']
506
522
  * ```
507
523
  * @category Getter
524
+ * @since v1.0.0
508
525
  */
509
526
  getMetricIds(): Ids;
510
527
 
@@ -538,6 +555,7 @@ export interface Metrics {
538
555
  * // -> ['lowestPrice', 1]
539
556
  * ```
540
557
  * @category Iterator
558
+ * @since v1.0.0
541
559
  */
542
560
  forEachMetric(metricCallback: MetricCallback): void;
543
561
 
@@ -565,6 +583,7 @@ export interface Metrics {
565
583
  * // -> true
566
584
  * ```
567
585
  * @category Getter
586
+ * @since v1.0.0
568
587
  */
569
588
  hasMetric(metricId: Id): boolean;
570
589
 
@@ -591,6 +610,7 @@ export interface Metrics {
591
610
  * // -> undefined
592
611
  * ```
593
612
  * @category Getter
613
+ * @since v1.0.0
594
614
  */
595
615
  getTableId(metricId: Id): Id | undefined;
596
616
 
@@ -625,6 +645,7 @@ export interface Metrics {
625
645
  * // -> undefined
626
646
  * ```
627
647
  * @category Getter
648
+ * @since v1.0.0
628
649
  */
629
650
  getMetric(metricId: Id): Metric | undefined;
630
651
 
@@ -748,6 +769,7 @@ export interface Metrics {
748
769
  * metrics.delListener(listenerId);
749
770
  * ```
750
771
  * @category Listener
772
+ * @since v1.0.0
751
773
  */
752
774
  addMetricListener(metricId: IdOrNull, listener: MetricListener): Id;
753
775
 
@@ -789,6 +811,7 @@ export interface Metrics {
789
811
  * // The listener is not called.
790
812
  * ```
791
813
  * @category Listener
814
+ * @since v1.0.0
792
815
  */
793
816
  delListener(listenerId: Id): Metrics;
794
817
 
@@ -823,6 +846,7 @@ export interface Metrics {
823
846
  * // -> 0
824
847
  * ```
825
848
  * @category Lifecycle
849
+ * @since v1.0.0
826
850
  */
827
851
  destroy(): void;
828
852
 
@@ -849,6 +873,7 @@ export interface Metrics {
849
873
  * // -> {metric: 1}
850
874
  * ```
851
875
  * @category Development
876
+ * @since v1.0.0
852
877
  */
853
878
  getListenerStats(): MetricsListenerStats;
854
879
  //
@@ -888,5 +913,6 @@ export interface Metrics {
888
913
  * // -> true
889
914
  * ```
890
915
  * @category Creation
916
+ * @since v1.0.0
891
917
  */
892
918
  export function createMetrics(store: Store): Metrics;
@@ -8,6 +8,7 @@
8
8
  * listeners for when they change.
9
9
  * @packageDocumentation
10
10
  * @module metrics
11
+ * @since v1.0.0
11
12
  */
12
13
 
13
14
  import type {
@@ -25,6 +26,7 @@ import type {Id, IdOrNull, Ids} from '../../common/with-schemas/index.d.cts';
25
26
  * The Metric type is simply an alias, but represents a number formed by
26
27
  * aggregating multiple other numbers together.
27
28
  * @category Metric
29
+ * @since v1.0.0
28
30
  */
29
31
  export type Metric = number;
30
32
 
@@ -38,6 +40,7 @@ export type Metric = number;
38
40
  * @param metricId The Id of the Metric that the callback can operate on.
39
41
  * @param metric The value of the Metric.
40
42
  * @category Callback
43
+ * @since v1.0.0
41
44
  */
42
45
  export type MetricCallback = (metricId: Id, metric?: Metric) => void;
43
46
 
@@ -53,6 +56,7 @@ export type MetricCallback = (metricId: Id, metric?: Metric) => void;
53
56
  * @param length The length of the array of numbers in the Metric's aggregation.
54
57
  * @returns The value of the Metric.
55
58
  * @category Aggregators
59
+ * @since v1.0.0
56
60
  */
57
61
  export type MetricAggregate = (numbers: number[], length: number) => Metric;
58
62
 
@@ -69,7 +73,7 @@ export type MetricAggregate = (numbers: number[], length: number) => Metric;
69
73
  * being added, return `undefined` and the Metric will be completely
70
74
  * recalculated.
71
75
  *
72
- * Where possible, if you are providing a custom MetricAggregate, seek an
76
+ * When possible, if you are providing a custom MetricAggregate, seek an
73
77
  * implementation of an MetricAggregateAdd function that can reduce the
74
78
  * complexity cost of growing the input data set. See the setMetricDefinition
75
79
  * method for more examples.
@@ -78,6 +82,7 @@ export type MetricAggregate = (numbers: number[], length: number) => Metric;
78
82
  * @param length The length of the array of numbers in the Metric's aggregation.
79
83
  * @returns The new value of the Metric.
80
84
  * @category Aggregators
85
+ * @since v1.0.0
81
86
  */
82
87
  export type MetricAggregateAdd = (
83
88
  metric: Metric,
@@ -101,7 +106,7 @@ export type MetricAggregateAdd = (
101
106
  * values, and the previous minimum is being removed. The whole of the rest of
102
107
  * the list will need to be re-scanned to find a new minimum.
103
108
  *
104
- * Where possible, if you are providing a custom MetricAggregate, seek an
109
+ * When possible, if you are providing a custom MetricAggregate, seek an
105
110
  * implementation of an MetricAggregateRemove function that can reduce the
106
111
  * complexity cost of shrinking the input data set. See the setMetricDefinition
107
112
  * method for more examples.
@@ -110,6 +115,7 @@ export type MetricAggregateAdd = (
110
115
  * @param length The length of the array of numbers in the Metric's aggregation.
111
116
  * @returns The new value of the Metric.
112
117
  * @category Aggregators
118
+ * @since v1.0.0
113
119
  */
114
120
  export type MetricAggregateRemove = (
115
121
  metric: Metric,
@@ -130,7 +136,7 @@ export type MetricAggregateRemove = (
130
136
  * If it is not possible to shortcut the aggregation based on just one value
131
137
  * changing, return `undefined` and the Metric will be completely recalculated.
132
138
  *
133
- * Where possible, if you are providing a custom MetricAggregate, seek an
139
+ * When possible, if you are providing a custom MetricAggregate, seek an
134
140
  * implementation of an MetricAggregateReplace function that can reduce the
135
141
  * complexity cost of changing the input data set in place. See the
136
142
  * setMetricDefinition method for more examples.
@@ -140,6 +146,7 @@ export type MetricAggregateRemove = (
140
146
  * @param length The length of the array of numbers in the Metric's aggregation.
141
147
  * @returns The new value of the Metric.
142
148
  * @category Aggregators
149
+ * @since v1.0.0
143
150
  */
144
151
  export type MetricAggregateReplace = (
145
152
  metric: Metric,
@@ -164,6 +171,7 @@ export type MetricAggregateReplace = (
164
171
  * When called, a MetricIdsListener is given a reference to the Metrics object.
165
172
  * @param metrics A reference to the Metrics object that changed.
166
173
  * @category Listener
174
+ * @since v1.0.0
167
175
  */
168
176
  export type MetricIdsListener<Schemas extends OptionalSchemas> = (
169
177
  metrics: Metrics<Schemas>,
@@ -198,6 +206,7 @@ export type MetricIdsListener<Schemas extends OptionalSchemas> = (
198
206
  * @param newMetric The new value of the Metric that changed.
199
207
  * @param oldMetric The old value of the Metric that changed.
200
208
  * @category Listener
209
+ * @since v1.0.0
201
210
  */
202
211
  export type MetricListener<Schemas extends OptionalSchemas> = (
203
212
  metrics: Metrics<Schemas>,
@@ -212,10 +221,13 @@ export type MetricListener<Schemas extends OptionalSchemas> = (
212
221
  *
213
222
  * A MetricsListenerStats object is returned from the getListenerStats method.
214
223
  * @category Development
224
+ * @since v1.0.0
215
225
  */
216
226
  export type MetricsListenerStats = {
217
227
  /**
218
228
  * The number of MetricListener functions registered with the Metrics object.
229
+ * @category Stat
230
+ * @since v1.0.0
219
231
  */
220
232
  metric: number;
221
233
  };
@@ -270,11 +282,12 @@ export type MetricsListenerStats = {
270
282
  * metrics.delListener(listenerId);
271
283
  * metrics.destroy();
272
284
  * ```
273
- * @see Metrics And Indexes guides
285
+ * @see Using Metrics guides
274
286
  * @see Rolling Dice demos
275
287
  * @see Country demo
276
288
  * @see Todo App demos
277
289
  * @category Metrics
290
+ * @since v1.0.0
278
291
  */
279
292
  export interface Metrics<in out Schemas extends OptionalSchemas> {
280
293
  /**
@@ -464,6 +477,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
464
477
  * // -> 2.5
465
478
  * ```
466
479
  * @category Configuration
480
+ * @since v1.0.0
467
481
  */
468
482
  setMetricDefinition<TableId extends TableIdFromSchema<Schemas[0]>>(
469
483
  metricId: Id,
@@ -510,6 +524,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
510
524
  * // -> []
511
525
  * ```
512
526
  * @category Configuration
527
+ * @since v1.0.0
513
528
  */
514
529
  delMetricDefinition(metricId: Id): Metrics<Schemas>;
515
530
 
@@ -537,6 +552,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
537
552
  * // -> 1
538
553
  * ```
539
554
  * @category Getter
555
+ * @since v1.0.0
540
556
  */
541
557
  getStore(): Store<Schemas>;
542
558
 
@@ -559,6 +575,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
559
575
  * // -> ['speciesCount', 'petsCount']
560
576
  * ```
561
577
  * @category Getter
578
+ * @since v1.0.0
562
579
  */
563
580
  getMetricIds(): Ids;
564
581
 
@@ -592,6 +609,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
592
609
  * // -> ['lowestPrice', 1]
593
610
  * ```
594
611
  * @category Iterator
612
+ * @since v1.0.0
595
613
  */
596
614
  forEachMetric(metricCallback: MetricCallback): void;
597
615
 
@@ -619,6 +637,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
619
637
  * // -> true
620
638
  * ```
621
639
  * @category Getter
640
+ * @since v1.0.0
622
641
  */
623
642
  hasMetric(metricId: Id): boolean;
624
643
 
@@ -651,6 +670,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
651
670
  * // -> undefined
652
671
  * ```
653
672
  * @category Getter
673
+ * @since v1.0.0
654
674
  */
655
675
  getTableId<TableId extends TableIdFromSchema<Schemas[0]>>(
656
676
  metricId: Id,
@@ -687,6 +707,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
687
707
  * // -> undefined
688
708
  * ```
689
709
  * @category Getter
710
+ * @since v1.0.0
690
711
  */
691
712
  getMetric(metricId: Id): Metric | undefined;
692
713
 
@@ -822,6 +843,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
822
843
  * metrics.delListener(listenerId);
823
844
  * ```
824
845
  * @category Listener
846
+ * @since v1.0.0
825
847
  */
826
848
  addMetricListener(metricId: IdOrNull, listener: MetricListener<Schemas>): Id;
827
849
 
@@ -869,6 +891,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
869
891
  * // The listener is not called.
870
892
  * ```
871
893
  * @category Listener
894
+ * @since v1.0.0
872
895
  */
873
896
  delListener(listenerId: Id): Metrics<Schemas>;
874
897
 
@@ -903,6 +926,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
903
926
  * // -> 0
904
927
  * ```
905
928
  * @category Lifecycle
929
+ * @since v1.0.0
906
930
  */
907
931
  destroy(): void;
908
932
 
@@ -929,6 +953,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
929
953
  * // -> {metric: 1}
930
954
  * ```
931
955
  * @category Development
956
+ * @since v1.0.0
932
957
  */
933
958
  getListenerStats(): MetricsListenerStats;
934
959
  }
@@ -973,6 +998,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
973
998
  * // -> true
974
999
  * ```
975
1000
  * @category Creation
1001
+ * @since v1.0.0
976
1002
  */
977
1003
  export function createMetrics<Schemas extends OptionalSchemas>(
978
1004
  store: Store<Schemas>,
@@ -8,6 +8,7 @@
8
8
  * listeners for when they change.
9
9
  * @packageDocumentation
10
10
  * @module metrics
11
+ * @since v1.0.0
11
12
  */
12
13
 
13
14
  import type {
@@ -25,6 +26,7 @@ import type {Id, IdOrNull, Ids} from '../../common/with-schemas/index.d.ts';
25
26
  * The Metric type is simply an alias, but represents a number formed by
26
27
  * aggregating multiple other numbers together.
27
28
  * @category Metric
29
+ * @since v1.0.0
28
30
  */
29
31
  export type Metric = number;
30
32
 
@@ -38,6 +40,7 @@ export type Metric = number;
38
40
  * @param metricId The Id of the Metric that the callback can operate on.
39
41
  * @param metric The value of the Metric.
40
42
  * @category Callback
43
+ * @since v1.0.0
41
44
  */
42
45
  export type MetricCallback = (metricId: Id, metric?: Metric) => void;
43
46
 
@@ -53,6 +56,7 @@ export type MetricCallback = (metricId: Id, metric?: Metric) => void;
53
56
  * @param length The length of the array of numbers in the Metric's aggregation.
54
57
  * @returns The value of the Metric.
55
58
  * @category Aggregators
59
+ * @since v1.0.0
56
60
  */
57
61
  export type MetricAggregate = (numbers: number[], length: number) => Metric;
58
62
 
@@ -69,7 +73,7 @@ export type MetricAggregate = (numbers: number[], length: number) => Metric;
69
73
  * being added, return `undefined` and the Metric will be completely
70
74
  * recalculated.
71
75
  *
72
- * Where possible, if you are providing a custom MetricAggregate, seek an
76
+ * When possible, if you are providing a custom MetricAggregate, seek an
73
77
  * implementation of an MetricAggregateAdd function that can reduce the
74
78
  * complexity cost of growing the input data set. See the setMetricDefinition
75
79
  * method for more examples.
@@ -78,6 +82,7 @@ export type MetricAggregate = (numbers: number[], length: number) => Metric;
78
82
  * @param length The length of the array of numbers in the Metric's aggregation.
79
83
  * @returns The new value of the Metric.
80
84
  * @category Aggregators
85
+ * @since v1.0.0
81
86
  */
82
87
  export type MetricAggregateAdd = (
83
88
  metric: Metric,
@@ -101,7 +106,7 @@ export type MetricAggregateAdd = (
101
106
  * values, and the previous minimum is being removed. The whole of the rest of
102
107
  * the list will need to be re-scanned to find a new minimum.
103
108
  *
104
- * Where possible, if you are providing a custom MetricAggregate, seek an
109
+ * When possible, if you are providing a custom MetricAggregate, seek an
105
110
  * implementation of an MetricAggregateRemove function that can reduce the
106
111
  * complexity cost of shrinking the input data set. See the setMetricDefinition
107
112
  * method for more examples.
@@ -110,6 +115,7 @@ export type MetricAggregateAdd = (
110
115
  * @param length The length of the array of numbers in the Metric's aggregation.
111
116
  * @returns The new value of the Metric.
112
117
  * @category Aggregators
118
+ * @since v1.0.0
113
119
  */
114
120
  export type MetricAggregateRemove = (
115
121
  metric: Metric,
@@ -130,7 +136,7 @@ export type MetricAggregateRemove = (
130
136
  * If it is not possible to shortcut the aggregation based on just one value
131
137
  * changing, return `undefined` and the Metric will be completely recalculated.
132
138
  *
133
- * Where possible, if you are providing a custom MetricAggregate, seek an
139
+ * When possible, if you are providing a custom MetricAggregate, seek an
134
140
  * implementation of an MetricAggregateReplace function that can reduce the
135
141
  * complexity cost of changing the input data set in place. See the
136
142
  * setMetricDefinition method for more examples.
@@ -140,6 +146,7 @@ export type MetricAggregateRemove = (
140
146
  * @param length The length of the array of numbers in the Metric's aggregation.
141
147
  * @returns The new value of the Metric.
142
148
  * @category Aggregators
149
+ * @since v1.0.0
143
150
  */
144
151
  export type MetricAggregateReplace = (
145
152
  metric: Metric,
@@ -164,6 +171,7 @@ export type MetricAggregateReplace = (
164
171
  * When called, a MetricIdsListener is given a reference to the Metrics object.
165
172
  * @param metrics A reference to the Metrics object that changed.
166
173
  * @category Listener
174
+ * @since v1.0.0
167
175
  */
168
176
  export type MetricIdsListener<Schemas extends OptionalSchemas> = (
169
177
  metrics: Metrics<Schemas>,
@@ -198,6 +206,7 @@ export type MetricIdsListener<Schemas extends OptionalSchemas> = (
198
206
  * @param newMetric The new value of the Metric that changed.
199
207
  * @param oldMetric The old value of the Metric that changed.
200
208
  * @category Listener
209
+ * @since v1.0.0
201
210
  */
202
211
  export type MetricListener<Schemas extends OptionalSchemas> = (
203
212
  metrics: Metrics<Schemas>,
@@ -212,10 +221,13 @@ export type MetricListener<Schemas extends OptionalSchemas> = (
212
221
  *
213
222
  * A MetricsListenerStats object is returned from the getListenerStats method.
214
223
  * @category Development
224
+ * @since v1.0.0
215
225
  */
216
226
  export type MetricsListenerStats = {
217
227
  /**
218
228
  * The number of MetricListener functions registered with the Metrics object.
229
+ * @category Stat
230
+ * @since v1.0.0
219
231
  */
220
232
  metric: number;
221
233
  };
@@ -270,11 +282,12 @@ export type MetricsListenerStats = {
270
282
  * metrics.delListener(listenerId);
271
283
  * metrics.destroy();
272
284
  * ```
273
- * @see Metrics And Indexes guides
285
+ * @see Using Metrics guides
274
286
  * @see Rolling Dice demos
275
287
  * @see Country demo
276
288
  * @see Todo App demos
277
289
  * @category Metrics
290
+ * @since v1.0.0
278
291
  */
279
292
  export interface Metrics<in out Schemas extends OptionalSchemas> {
280
293
  /**
@@ -464,6 +477,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
464
477
  * // -> 2.5
465
478
  * ```
466
479
  * @category Configuration
480
+ * @since v1.0.0
467
481
  */
468
482
  setMetricDefinition<TableId extends TableIdFromSchema<Schemas[0]>>(
469
483
  metricId: Id,
@@ -510,6 +524,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
510
524
  * // -> []
511
525
  * ```
512
526
  * @category Configuration
527
+ * @since v1.0.0
513
528
  */
514
529
  delMetricDefinition(metricId: Id): Metrics<Schemas>;
515
530
 
@@ -537,6 +552,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
537
552
  * // -> 1
538
553
  * ```
539
554
  * @category Getter
555
+ * @since v1.0.0
540
556
  */
541
557
  getStore(): Store<Schemas>;
542
558
 
@@ -559,6 +575,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
559
575
  * // -> ['speciesCount', 'petsCount']
560
576
  * ```
561
577
  * @category Getter
578
+ * @since v1.0.0
562
579
  */
563
580
  getMetricIds(): Ids;
564
581
 
@@ -592,6 +609,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
592
609
  * // -> ['lowestPrice', 1]
593
610
  * ```
594
611
  * @category Iterator
612
+ * @since v1.0.0
595
613
  */
596
614
  forEachMetric(metricCallback: MetricCallback): void;
597
615
 
@@ -619,6 +637,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
619
637
  * // -> true
620
638
  * ```
621
639
  * @category Getter
640
+ * @since v1.0.0
622
641
  */
623
642
  hasMetric(metricId: Id): boolean;
624
643
 
@@ -651,6 +670,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
651
670
  * // -> undefined
652
671
  * ```
653
672
  * @category Getter
673
+ * @since v1.0.0
654
674
  */
655
675
  getTableId<TableId extends TableIdFromSchema<Schemas[0]>>(
656
676
  metricId: Id,
@@ -687,6 +707,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
687
707
  * // -> undefined
688
708
  * ```
689
709
  * @category Getter
710
+ * @since v1.0.0
690
711
  */
691
712
  getMetric(metricId: Id): Metric | undefined;
692
713
 
@@ -822,6 +843,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
822
843
  * metrics.delListener(listenerId);
823
844
  * ```
824
845
  * @category Listener
846
+ * @since v1.0.0
825
847
  */
826
848
  addMetricListener(metricId: IdOrNull, listener: MetricListener<Schemas>): Id;
827
849
 
@@ -869,6 +891,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
869
891
  * // The listener is not called.
870
892
  * ```
871
893
  * @category Listener
894
+ * @since v1.0.0
872
895
  */
873
896
  delListener(listenerId: Id): Metrics<Schemas>;
874
897
 
@@ -903,6 +926,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
903
926
  * // -> 0
904
927
  * ```
905
928
  * @category Lifecycle
929
+ * @since v1.0.0
906
930
  */
907
931
  destroy(): void;
908
932
 
@@ -929,6 +953,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
929
953
  * // -> {metric: 1}
930
954
  * ```
931
955
  * @category Development
956
+ * @since v1.0.0
932
957
  */
933
958
  getListenerStats(): MetricsListenerStats;
934
959
  }
@@ -973,6 +998,7 @@ export interface Metrics<in out Schemas extends OptionalSchemas> {
973
998
  * // -> true
974
999
  * ```
975
1000
  * @category Creation
1001
+ * @since v1.0.0
976
1002
  */
977
1003
  export function createMetrics<Schemas extends OptionalSchemas>(
978
1004
  store: Store<Schemas>,