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 indexes
11
+ * @since v1.0.0
11
12
  */
12
13
 
13
14
  import type {
@@ -39,6 +40,7 @@ import type {
39
40
  * enumerate and access its structure with the getSliceIds method and
40
41
  * getSliceRowIds method.
41
42
  * @category Concept
43
+ * @since v1.0.0
42
44
  */
43
45
  export type Index = {[sliceId: Id]: Slice};
44
46
 
@@ -52,6 +54,7 @@ export type Index = {[sliceId: Id]: Slice};
52
54
  * Note that the Slice type is not actually used in the API, and you instead get
53
55
  * Row Ids directly with the getSliceRowIds method.
54
56
  * @category Concept
57
+ * @since v1.0.0
55
58
  */
56
59
  export type Slice = Ids;
57
60
 
@@ -75,6 +78,7 @@ export type Slice = Ids;
75
78
  * @param forEachRow A function that will let you iterate over the Slice objects
76
79
  * in this Index.
77
80
  * @category Callback
81
+ * @since v1.0.0
78
82
  */
79
83
  export type IndexCallback<Schema extends OptionalTablesSchema> = (
80
84
  indexId: Id,
@@ -101,6 +105,7 @@ export type IndexCallback<Schema extends OptionalTablesSchema> = (
101
105
  * @param forEachRow A function that will let you iterate over the Row objects
102
106
  * in this Slice.
103
107
  * @category Callback
108
+ * @since v1.0.0
104
109
  */
105
110
  export type SliceCallback<Schema extends OptionalTablesSchema> = (
106
111
  sliceId: Id,
@@ -123,6 +128,7 @@ export type SliceCallback<Schema extends OptionalTablesSchema> = (
123
128
  * When called, an IndexIdsListener is given a reference to the Indexes object.
124
129
  * @param indexes A reference to the Indexes object that changed.
125
130
  * @category Listener
131
+ * @since v1.0.0
126
132
  */
127
133
  export type IndexIdsListener<Schemas extends OptionalSchemas> = (
128
134
  indexes: Indexes<Schemas>,
@@ -146,6 +152,7 @@ export type IndexIdsListener<Schemas extends OptionalSchemas> = (
146
152
  * @param indexes A reference to the Indexes object that changed.
147
153
  * @param indexId The Id of the Index that changed.
148
154
  * @category Listener
155
+ * @since v1.0.0
149
156
  */
150
157
  export type SliceIdsListener<Schemas extends OptionalSchemas> = (
151
158
  indexes: Indexes<Schemas>,
@@ -176,6 +183,7 @@ export type SliceIdsListener<Schemas extends OptionalSchemas> = (
176
183
  * @param indexId The Id of the Index that changed.
177
184
  * @param sliceId The Id of the Slice that changed.
178
185
  * @category Listener
186
+ * @since v1.0.0
179
187
  */
180
188
  export type SliceRowIdsListener<Schemas extends OptionalSchemas> = (
181
189
  indexes: Indexes<Schemas>,
@@ -189,16 +197,21 @@ export type SliceRowIdsListener<Schemas extends OptionalSchemas> = (
189
197
  *
190
198
  * A IndexesListenerStats object is returned from the getListenerStats method.
191
199
  * @category Development
200
+ * @since v1.0.0
192
201
  */
193
202
  export type IndexesListenerStats = {
194
203
  /**
195
204
  * The number of SlideIdsListener functions registered with the Indexes
196
205
  * object.
206
+ * @category Stat
207
+ * @since v1.0.0
197
208
  */
198
209
  sliceIds: number;
199
210
  /**
200
211
  * The number of SliceRowIdsListener functions registered with the Indexes
201
212
  * object.
213
+ * @category Stat
214
+ * @since v1.0.0
202
215
  */
203
216
  sliceRowIds: number;
204
217
  };
@@ -253,12 +266,13 @@ export type IndexesListenerStats = {
253
266
  * indexes.delListener(listenerId);
254
267
  * indexes.destroy();
255
268
  * ```
256
- * @see Metrics And Indexes guides
269
+ * @see Using Indexes guides
257
270
  * @see Rolling Dice demos
258
271
  * @see Country demo
259
272
  * @see Todo App demos
260
273
  * @see Word Frequencies demo
261
274
  * @category Indexes
275
+ * @since v1.0.0
262
276
  */
263
277
  export interface Indexes<in out Schemas extends OptionalSchemas> {
264
278
  /**
@@ -432,6 +446,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
432
446
  * // -> ['felix', 'fido']
433
447
  * ```
434
448
  * @category Configuration
449
+ * @since v1.0.0
435
450
  */
436
451
  setIndexDefinition<TableId extends TableIdFromSchema<Schemas[0]>>(
437
452
  indexId: Id,
@@ -479,6 +494,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
479
494
  * // -> []
480
495
  * ```
481
496
  * @category Configuration
497
+ * @since v1.0.0
482
498
  */
483
499
  delIndexDefinition(indexId: Id): Indexes<Schemas>;
484
500
 
@@ -506,6 +522,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
506
522
  * // -> ['dog']
507
523
  * ```
508
524
  * @category Getter
525
+ * @since v1.0.0
509
526
  */
510
527
  getStore(): Store<Schemas>;
511
528
 
@@ -528,6 +545,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
528
545
  * // -> ['bySpecies', 'byColor']
529
546
  * ```
530
547
  * @category Getter
548
+ * @since v1.0.0
531
549
  */
532
550
  getIndexIds(): Ids;
533
551
 
@@ -575,6 +593,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
575
593
  * // -> '- black'
576
594
  * ```
577
595
  * @category Iterator
596
+ * @since v1.0.0
578
597
  */
579
598
  forEachIndex(indexCallback: IndexCallback<Schemas[0]>): void;
580
599
 
@@ -619,6 +638,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
619
638
  * // -> '- felix'
620
639
  * ```
621
640
  * @category Iterator
641
+ * @since v1.0.0
622
642
  */
623
643
  forEachSlice(indexId: Id, sliceCallback: SliceCallback<Schemas[0]>): void;
624
644
 
@@ -641,6 +661,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
641
661
  * // -> false
642
662
  * ```
643
663
  * @category Getter
664
+ * @since v1.0.0
644
665
  */
645
666
  hasIndex(indexId: Id): boolean;
646
667
 
@@ -669,6 +690,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
669
690
  * // -> false
670
691
  * ```
671
692
  * @category Getter
693
+ * @since v1.0.0
672
694
  */
673
695
  hasSlice(indexId: Id, sliceId: Id): boolean;
674
696
 
@@ -701,6 +723,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
701
723
  * // -> undefined
702
724
  * ```
703
725
  * @category Getter
726
+ * @since v1.0.0
704
727
  */
705
728
  getTableId<TableId extends TableIdFromSchema<Schemas[0]>>(
706
729
  indexId: Id,
@@ -736,6 +759,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
736
759
  * // -> []
737
760
  * ```
738
761
  * @category Getter
762
+ * @since v1.0.0
739
763
  */
740
764
  getSliceIds(indexId: Id): Ids;
741
765
 
@@ -773,6 +797,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
773
797
  * // -> []
774
798
  * ```
775
799
  * @category Getter
800
+ * @since v1.0.0
776
801
  */
777
802
  getSliceRowIds(indexId: Id, sliceId: Id): Ids;
778
803
 
@@ -905,6 +930,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
905
930
  * indexes.delListener(listenerId);
906
931
  * ```
907
932
  * @category Listener
933
+ * @since v1.0.0
908
934
  */
909
935
  addSliceIdsListener(
910
936
  indexId: IdOrNull,
@@ -1010,6 +1036,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
1010
1036
  * indexes.delListener(listenerId);
1011
1037
  * ```
1012
1038
  * @category Listener
1039
+ * @since v1.0.0
1013
1040
  */
1014
1041
  addSliceRowIdsListener(
1015
1042
  indexId: IdOrNull,
@@ -1062,6 +1089,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
1062
1089
  * // The listener is not called.
1063
1090
  * ```
1064
1091
  * @category Listener
1092
+ * @since v1.0.0
1065
1093
  */
1066
1094
  delListener(listenerId: Id): Indexes<Schemas>;
1067
1095
 
@@ -1096,6 +1124,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
1096
1124
  * // -> 0
1097
1125
  * ```
1098
1126
  * @category Lifecycle
1127
+ * @since v1.0.0
1099
1128
  */
1100
1129
  destroy(): void;
1101
1130
 
@@ -1130,6 +1159,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
1130
1159
  * // -> {sliceIds: 1, sliceRowIds: 1}
1131
1160
  * ```
1132
1161
  * @category Development
1162
+ * @since v1.0.0
1133
1163
  */
1134
1164
  getListenerStats(): IndexesListenerStats;
1135
1165
  }
@@ -1174,6 +1204,7 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
1174
1204
  * // -> true
1175
1205
  * ```
1176
1206
  * @category Creation
1207
+ * @since v1.0.0
1177
1208
  */
1178
1209
  export function createIndexes<Schemas extends OptionalSchemas>(
1179
1210
  store: Store<Schemas>,
@@ -738,10 +738,8 @@ export interface MergeableStore extends Store {
738
738
  * store2.setDefaultContent([{}, {employees: 4}]);
739
739
  * console.log(store2.getMergeableContent());
740
740
  * // -> [[{}, "", 0], [{"employees": [4, "", 2414055963]}, "", 3035768673]]
741
- * ```
742
741
  *
743
742
  * store2.merge(store1);
744
- *
745
743
  * console.log(store2.getContent());
746
744
  * // -> [{}, {employees: 3}]
747
745
  * ```
@@ -738,10 +738,8 @@ export interface MergeableStore extends Store {
738
738
  * store2.setDefaultContent([{}, {employees: 4}]);
739
739
  * console.log(store2.getMergeableContent());
740
740
  * // -> [[{}, "", 0], [{"employees": [4, "", 2414055963]}, "", 3035768673]]
741
- * ```
742
741
  *
743
742
  * store2.merge(store1);
744
- *
745
743
  * console.log(store2.getContent());
746
744
  * // -> [{}, {employees: 3}]
747
745
  * ```
@@ -900,10 +900,8 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
900
900
  * store2.setDefaultContent([{}, {employees: 4}]);
901
901
  * console.log(store2.getMergeableContent());
902
902
  * // -> [[{}, "", 0], [{"employees": [4, "", 2414055963]}, "", 3035768673]]
903
- * ```
904
903
  *
905
904
  * store2.merge(store1);
906
- *
907
905
  * console.log(store2.getContent());
908
906
  * // -> [{}, {employees: 3}]
909
907
  * ```
@@ -1233,6 +1231,7 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
1233
1231
  * // -> {pets: {0: {species: 'dog', sold: false}}}
1234
1232
  * ```
1235
1233
  * @category Setter
1234
+ * @since v1.0.0
1236
1235
  */
1237
1236
  setSchema<TS extends TablesSchema, VS extends ValuesSchema>(
1238
1237
  tablesSchema: TS,
@@ -1263,6 +1262,7 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
1263
1262
  * // -> '{}'
1264
1263
  * ```
1265
1264
  * @category Deleter
1265
+ * @since v1.0.0
1266
1266
  */
1267
1267
  delTablesSchema<
1268
1268
  ValuesSchema extends OptionalValuesSchema = Schemas[1],
@@ -900,10 +900,8 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
900
900
  * store2.setDefaultContent([{}, {employees: 4}]);
901
901
  * console.log(store2.getMergeableContent());
902
902
  * // -> [[{}, "", 0], [{"employees": [4, "", 2414055963]}, "", 3035768673]]
903
- * ```
904
903
  *
905
904
  * store2.merge(store1);
906
- *
907
905
  * console.log(store2.getContent());
908
906
  * // -> [{}, {employees: 3}]
909
907
  * ```
@@ -1233,6 +1231,7 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
1233
1231
  * // -> {pets: {0: {species: 'dog', sold: false}}}
1234
1232
  * ```
1235
1233
  * @category Setter
1234
+ * @since v1.0.0
1236
1235
  */
1237
1236
  setSchema<TS extends TablesSchema, VS extends ValuesSchema>(
1238
1237
  tablesSchema: TS,
@@ -1263,6 +1262,7 @@ export interface MergeableStore<Schemas extends OptionalSchemas>
1263
1262
  * // -> '{}'
1264
1263
  * ```
1265
1264
  * @category Deleter
1265
+ * @since v1.0.0
1266
1266
  */
1267
1267
  delTablesSchema<
1268
1268
  ValuesSchema extends OptionalValuesSchema = Schemas[1],
@@ -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.cts';
@@ -17,6 +18,7 @@ import type {Id, IdOrNull, Ids} from '../common/index.d.cts';
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;