tinybase 6.1.0-beta.3 → 6.1.0-beta.5

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 (233) hide show
  1. package/@types/persisters/index.d.ts +83 -40
  2. package/@types/persisters/persister-automerge/index.d.ts +4 -4
  3. package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
  4. package/@types/persisters/persister-browser/index.d.ts +4 -4
  5. package/@types/persisters/persister-browser/with-schemas/index.d.ts +4 -4
  6. package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +3 -3
  7. package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +3 -3
  8. package/@types/persisters/persister-electric-sql/index.d.ts +3 -3
  9. package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +3 -3
  10. package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -3
  11. package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +3 -3
  12. package/@types/persisters/persister-file/index.d.ts +2 -2
  13. package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
  14. package/@types/persisters/persister-indexed-db/index.d.ts +2 -2
  15. package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -2
  16. package/@types/persisters/persister-libsql/index.d.ts +3 -3
  17. package/@types/persisters/persister-libsql/with-schemas/index.d.ts +3 -3
  18. package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
  19. package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
  20. package/@types/persisters/persister-pglite/index.d.ts +3 -3
  21. package/@types/persisters/persister-pglite/with-schemas/index.d.ts +3 -3
  22. package/@types/persisters/persister-postgres/index.d.ts +3 -3
  23. package/@types/persisters/persister-postgres/with-schemas/index.d.ts +3 -3
  24. package/@types/persisters/persister-powersync/index.d.ts +3 -3
  25. package/@types/persisters/persister-powersync/with-schemas/index.d.ts +3 -3
  26. package/@types/persisters/persister-remote/index.d.ts +2 -2
  27. package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -2
  28. package/@types/persisters/persister-sqlite-bun/index.d.ts +159 -0
  29. package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +178 -0
  30. package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -3
  31. package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +3 -3
  32. package/@types/persisters/persister-sqlite3/index.d.ts +3 -3
  33. package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +3 -3
  34. package/@types/persisters/persister-yjs/index.d.ts +4 -4
  35. package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
  36. package/@types/persisters/with-schemas/index.d.ts +87 -42
  37. package/@types/synchronizers/index.d.ts +18 -16
  38. package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -3
  39. package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -3
  40. package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
  41. package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
  42. package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -5
  43. package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -5
  44. package/@types/synchronizers/synchronizer-ws-server/index.d.ts +37 -37
  45. package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +37 -37
  46. package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +7 -7
  47. package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +7 -7
  48. package/@types/synchronizers/with-schemas/index.d.ts +18 -16
  49. package/@types/ui-react/index.d.ts +2 -2
  50. package/@types/ui-react/with-schemas/index.d.ts +2 -2
  51. package/index.js +23 -17
  52. package/mergeable-store/index.js +23 -17
  53. package/mergeable-store/with-schemas/index.js +23 -17
  54. package/min/index.js +1 -1
  55. package/min/index.js.gz +0 -0
  56. package/min/mergeable-store/index.js +1 -1
  57. package/min/mergeable-store/index.js.gz +0 -0
  58. package/min/mergeable-store/with-schemas/index.js +1 -1
  59. package/min/mergeable-store/with-schemas/index.js.gz +0 -0
  60. package/min/persisters/index.js +1 -1
  61. package/min/persisters/index.js.gz +0 -0
  62. package/min/persisters/persister-automerge/index.js +1 -1
  63. package/min/persisters/persister-automerge/index.js.gz +0 -0
  64. package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
  65. package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
  66. package/min/persisters/persister-browser/index.js +1 -1
  67. package/min/persisters/persister-browser/index.js.gz +0 -0
  68. package/min/persisters/persister-browser/with-schemas/index.js +1 -1
  69. package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
  70. package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
  71. package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
  72. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
  73. package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
  74. package/min/persisters/persister-durable-object-storage/index.js +1 -1
  75. package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
  76. package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
  77. package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
  78. package/min/persisters/persister-electric-sql/index.js +1 -1
  79. package/min/persisters/persister-electric-sql/index.js.gz +0 -0
  80. package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
  81. package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
  82. package/min/persisters/persister-expo-sqlite/index.js +1 -1
  83. package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
  84. package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
  85. package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
  86. package/min/persisters/persister-file/index.js +1 -1
  87. package/min/persisters/persister-file/index.js.gz +0 -0
  88. package/min/persisters/persister-file/with-schemas/index.js +1 -1
  89. package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
  90. package/min/persisters/persister-indexed-db/index.js +1 -1
  91. package/min/persisters/persister-indexed-db/index.js.gz +0 -0
  92. package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
  93. package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
  94. package/min/persisters/persister-libsql/index.js +1 -1
  95. package/min/persisters/persister-libsql/index.js.gz +0 -0
  96. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  97. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  98. package/min/persisters/persister-partykit-client/index.js +1 -1
  99. package/min/persisters/persister-partykit-client/index.js.gz +0 -0
  100. package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
  101. package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
  102. package/min/persisters/persister-pglite/index.js +1 -1
  103. package/min/persisters/persister-pglite/index.js.gz +0 -0
  104. package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
  105. package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
  106. package/min/persisters/persister-postgres/index.js +1 -1
  107. package/min/persisters/persister-postgres/index.js.gz +0 -0
  108. package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
  109. package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
  110. package/min/persisters/persister-powersync/index.js +1 -1
  111. package/min/persisters/persister-powersync/index.js.gz +0 -0
  112. package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
  113. package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
  114. package/min/persisters/persister-remote/index.js +1 -1
  115. package/min/persisters/persister-remote/index.js.gz +0 -0
  116. package/min/persisters/persister-remote/with-schemas/index.js +1 -1
  117. package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
  118. package/min/persisters/persister-sqlite-bun/index.js +1 -0
  119. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  120. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -0
  121. package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
  122. package/min/persisters/persister-sqlite-wasm/index.js +1 -1
  123. package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
  124. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
  125. package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
  126. package/min/persisters/persister-sqlite3/index.js +1 -1
  127. package/min/persisters/persister-sqlite3/index.js.gz +0 -0
  128. package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
  129. package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
  130. package/min/persisters/persister-yjs/index.js +1 -1
  131. package/min/persisters/persister-yjs/index.js.gz +0 -0
  132. package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
  133. package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
  134. package/min/persisters/with-schemas/index.js +1 -1
  135. package/min/persisters/with-schemas/index.js.gz +0 -0
  136. package/min/store/index.js +1 -1
  137. package/min/store/index.js.gz +0 -0
  138. package/min/store/with-schemas/index.js +1 -1
  139. package/min/store/with-schemas/index.js.gz +0 -0
  140. package/min/synchronizers/index.js +1 -1
  141. package/min/synchronizers/index.js.gz +0 -0
  142. package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
  143. package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
  144. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
  145. package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
  146. package/min/synchronizers/synchronizer-local/index.js +1 -1
  147. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  148. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  149. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  150. package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
  151. package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
  152. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
  153. package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
  154. package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
  155. package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
  156. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
  157. package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
  158. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
  159. package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
  160. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
  161. package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
  162. package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  163. package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
  164. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  165. package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
  166. package/min/synchronizers/with-schemas/index.js +1 -1
  167. package/min/synchronizers/with-schemas/index.js.gz +0 -0
  168. package/min/ui-react-inspector/index.js +1 -1
  169. package/min/ui-react-inspector/index.js.gz +0 -0
  170. package/min/ui-react-inspector/with-schemas/index.js +1 -1
  171. package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
  172. package/min/with-schemas/index.js +1 -1
  173. package/min/with-schemas/index.js.gz +0 -0
  174. package/package.json +46 -6
  175. package/persisters/index.js +293 -161
  176. package/persisters/persister-automerge/index.js +55 -50
  177. package/persisters/persister-automerge/with-schemas/index.js +55 -50
  178. package/persisters/persister-browser/index.js +56 -55
  179. package/persisters/persister-browser/with-schemas/index.js +56 -55
  180. package/persisters/persister-cr-sqlite-wasm/index.js +181 -134
  181. package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +181 -134
  182. package/persisters/persister-durable-object-storage/index.js +58 -53
  183. package/persisters/persister-durable-object-storage/with-schemas/index.js +58 -53
  184. package/persisters/persister-electric-sql/index.js +181 -134
  185. package/persisters/persister-electric-sql/with-schemas/index.js +181 -134
  186. package/persisters/persister-expo-sqlite/index.js +181 -134
  187. package/persisters/persister-expo-sqlite/with-schemas/index.js +181 -134
  188. package/persisters/persister-file/index.js +55 -50
  189. package/persisters/persister-file/with-schemas/index.js +55 -50
  190. package/persisters/persister-indexed-db/index.js +82 -78
  191. package/persisters/persister-indexed-db/with-schemas/index.js +82 -78
  192. package/persisters/persister-libsql/index.js +182 -135
  193. package/persisters/persister-libsql/with-schemas/index.js +182 -135
  194. package/persisters/persister-partykit-client/index.js +56 -51
  195. package/persisters/persister-partykit-client/with-schemas/index.js +56 -51
  196. package/persisters/persister-pglite/index.js +299 -173
  197. package/persisters/persister-pglite/with-schemas/index.js +299 -173
  198. package/persisters/persister-postgres/index.js +296 -171
  199. package/persisters/persister-postgres/with-schemas/index.js +296 -171
  200. package/persisters/persister-powersync/index.js +189 -138
  201. package/persisters/persister-powersync/with-schemas/index.js +189 -138
  202. package/persisters/persister-remote/index.js +55 -50
  203. package/persisters/persister-remote/with-schemas/index.js +55 -50
  204. package/persisters/persister-sqlite-bun/index.js +1171 -0
  205. package/persisters/persister-sqlite-bun/with-schemas/index.js +1171 -0
  206. package/persisters/persister-sqlite-wasm/index.js +182 -135
  207. package/persisters/persister-sqlite-wasm/with-schemas/index.js +182 -135
  208. package/persisters/persister-sqlite3/index.js +181 -134
  209. package/persisters/persister-sqlite3/with-schemas/index.js +181 -134
  210. package/persisters/persister-yjs/index.js +55 -50
  211. package/persisters/persister-yjs/with-schemas/index.js +55 -50
  212. package/persisters/with-schemas/index.js +293 -161
  213. package/readme.md +2 -2
  214. package/releases.md +29 -1
  215. package/store/index.js +20 -15
  216. package/store/with-schemas/index.js +20 -15
  217. package/synchronizers/index.js +68 -63
  218. package/synchronizers/synchronizer-broadcast-channel/index.js +68 -63
  219. package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +68 -63
  220. package/synchronizers/synchronizer-local/index.js +68 -63
  221. package/synchronizers/synchronizer-local/with-schemas/index.js +68 -63
  222. package/synchronizers/synchronizer-ws-client/index.js +68 -63
  223. package/synchronizers/synchronizer-ws-client/with-schemas/index.js +68 -63
  224. package/synchronizers/synchronizer-ws-server/index.js +79 -70
  225. package/synchronizers/synchronizer-ws-server/with-schemas/index.js +79 -70
  226. package/synchronizers/synchronizer-ws-server-durable-object/index.js +69 -51
  227. package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +69 -51
  228. package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
  229. package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
  230. package/synchronizers/with-schemas/index.js +68 -63
  231. package/ui-react-inspector/index.js +68 -60
  232. package/ui-react-inspector/with-schemas/index.js +68 -60
  233. package/with-schemas/index.js +23 -17
@@ -52,7 +52,7 @@ export interface SqliteWasmPersister
52
52
  * console.log(persister.getDb() == db);
53
53
  * // -> true
54
54
  *
55
- * persister.destroy();
55
+ * await persister.destroy();
56
56
  * ```
57
57
  * @category Getter
58
58
  * @since v4.3.14
@@ -132,7 +132,7 @@ export interface SqliteWasmPersister
132
132
  * console.log(store.getTables());
133
133
  * // -> {pets: {felix: {species: 'cat'}}}
134
134
  *
135
- * persister.destroy();
135
+ * await persister.destroy();
136
136
  * ```
137
137
  * @example
138
138
  * This example creates a SqliteWasmPersister object and persists the Store to a
@@ -160,7 +160,7 @@ export interface SqliteWasmPersister
160
160
  * console.log(store.getTables());
161
161
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
162
162
  *
163
- * persister.destroy();
163
+ * await persister.destroy();
164
164
  * ```
165
165
  * @category Creation
166
166
  * @since v4.0.0
@@ -59,7 +59,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
59
59
  * console.log(persister.getDb() == db);
60
60
  * // -> true
61
61
  *
62
- * persister.destroy();
62
+ * await persister.destroy();
63
63
  * ```
64
64
  * @category Getter
65
65
  * @since v4.3.14
@@ -152,7 +152,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
152
152
  * console.log(store.getTables());
153
153
  * // -> {pets: {felix: {species: 'cat'}}}
154
154
  *
155
- * persister.destroy();
155
+ * await persister.destroy();
156
156
  * ```
157
157
  * @example
158
158
  * This example creates a SqliteWasmPersister object and persists the Store to a
@@ -180,7 +180,7 @@ export interface SqliteWasmPersister<Schemas extends OptionalSchemas>
180
180
  * console.log(store.getTables());
181
181
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
182
182
  *
183
- * persister.destroy();
183
+ * await persister.destroy();
184
184
  * ```
185
185
  * @category Creation
186
186
  * @since v4.0.0
@@ -47,7 +47,7 @@ export interface Sqlite3Persister
47
47
  * console.log(persister.getDb() == db);
48
48
  * // -> true
49
49
  *
50
- * persister.destroy();
50
+ * await persister.destroy();
51
51
  * ```
52
52
  * @category Getter
53
53
  * @since v4.3.14
@@ -126,7 +126,7 @@ export interface Sqlite3Persister
126
126
  * console.log(store.getTables());
127
127
  * // -> {pets: {felix: {species: 'cat'}}}
128
128
  *
129
- * persister.destroy();
129
+ * await persister.destroy();
130
130
  * ```
131
131
  * @example
132
132
  * This example creates a Sqlite3Persister object and persists the Store to a
@@ -162,7 +162,7 @@ export interface Sqlite3Persister
162
162
  * console.log(store.getTables());
163
163
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
164
164
  *
165
- * persister.destroy();
165
+ * await persister.destroy();
166
166
  * ```
167
167
  * @category Creation
168
168
  * @since v4.0.0
@@ -54,7 +54,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
54
54
  * console.log(persister.getDb() == db);
55
55
  * // -> true
56
56
  *
57
- * persister.destroy();
57
+ * await persister.destroy();
58
58
  * ```
59
59
  * @category Getter
60
60
  * @since v4.3.14
@@ -145,7 +145,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
145
145
  * console.log(store.getTables());
146
146
  * // -> {pets: {felix: {species: 'cat'}}}
147
147
  *
148
- * persister.destroy();
148
+ * await persister.destroy();
149
149
  * ```
150
150
  * @example
151
151
  * This example creates a Sqlite3Persister object and persists the Store to a
@@ -181,7 +181,7 @@ export interface Sqlite3Persister<Schemas extends OptionalSchemas>
181
181
  * console.log(store.getTables());
182
182
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
183
183
  *
184
- * persister.destroy();
184
+ * await persister.destroy();
185
185
  * ```
186
186
  * @category Creation
187
187
  * @since v4.0.0
@@ -48,7 +48,7 @@ export interface YjsPersister extends Persister {
48
48
  * console.log(persister.getYDoc() == doc);
49
49
  * // -> true
50
50
  *
51
- * persister.destroy();
51
+ * await persister.destroy();
52
52
  * ```
53
53
  * @category Getter
54
54
  * @since v4.3.14
@@ -92,7 +92,7 @@ export interface YjsPersister extends Persister {
92
92
  * console.log(doc.toJSON());
93
93
  * // -> {tinybase: {t: {pets: {fido: {species: 'dog'}}}, v: {}}}
94
94
  *
95
- * persister.destroy();
95
+ * await persister.destroy();
96
96
  * ```
97
97
  * @example
98
98
  * This more complex example uses Yjs updates to keep two Store objects (each
@@ -147,8 +147,8 @@ export interface YjsPersister extends Persister {
147
147
  * console.log(store2.getContent());
148
148
  * // -> [{pets: {fido: {species: 'dog'}}}, {open: true}]
149
149
  *
150
- * persister1.destroy();
151
- * persister2.destroy();
150
+ * await persister1.destroy();
151
+ * await persister2.destroy();
152
152
  * ```
153
153
  * @category Creation
154
154
  * @since v4.0.0
@@ -52,7 +52,7 @@ export interface YjsPersister<Schemas extends OptionalSchemas>
52
52
  * console.log(persister.getYDoc() == doc);
53
53
  * // -> true
54
54
  *
55
- * persister.destroy();
55
+ * await persister.destroy();
56
56
  * ```
57
57
  * @category Getter
58
58
  * @since v4.3.14
@@ -107,7 +107,7 @@ export interface YjsPersister<Schemas extends OptionalSchemas>
107
107
  * console.log(doc.toJSON());
108
108
  * // -> {tinybase: {t: {pets: {fido: {species: 'dog'}}}, v: {}}}
109
109
  *
110
- * persister.destroy();
110
+ * await persister.destroy();
111
111
  * ```
112
112
  * @example
113
113
  * This more complex example uses Yjs updates to keep two Store objects (each
@@ -162,8 +162,8 @@ export interface YjsPersister<Schemas extends OptionalSchemas>
162
162
  * console.log(store2.getContent());
163
163
  * // -> [{pets: {fido: {species: 'dog'}}}, {open: true}]
164
164
  *
165
- * persister1.destroy();
166
- * persister2.destroy();
165
+ * await persister1.destroy();
166
+ * await persister2.destroy();
167
167
  * ```
168
168
  * @category Creation
169
169
  * @since v4.0.0
@@ -17,6 +17,7 @@
17
17
  * |IndexedDbPersister|Browser IndexedDB|Yes|No
18
18
  * |RemotePersister|Remote server|Yes|No
19
19
  * |Sqlite3Persister|SQLite in Node, via [sqlite3](https://github.com/TryGhost/node-sqlite3)|Yes|Yes*
20
+ * |SqliteBunPersister| SQLite in Bun, via [bun:sqlite](https://bun.sh/docs/api/sqlite)|Yes|Yes*
20
21
  * |SqliteWasmPersister|SQLite in a browser, via [sqlite-wasm](https://github.com/tomayac/sqlite-wasm)|Yes|Yes*
21
22
  * |ExpoSqlitePersister|SQLite in React Native, via [expo-sqlite](https://github.com/expo/expo/tree/main/packages/expo-sqlite)|Yes|Yes*
22
23
  * |PostgresPersister|PostgreSQL, via [postgres](https://github.com/porsager/postgres)|Yes|Yes*
@@ -38,9 +39,9 @@
38
39
  * create a fully customized way to save and load Store data.
39
40
  *
40
41
  * Similarly, the createCustomSqlitePersister function and
41
- * createCustomPostgreSqlPersister function can be used to build Persister objects
42
- * against SQLite and PostgreSQL SDKs (or forks) that are not already included
43
- * with TinyBase.
42
+ * createCustomPostgreSqlPersister function can be used to build Persister
43
+ * objects against SQLite and PostgreSQL SDKs (or forks) that are not already
44
+ * included with TinyBase.
44
45
  * @see Persistence guides
45
46
  * @see Countries demo
46
47
  * @see Todo App demos
@@ -65,8 +66,8 @@ import type {
65
66
  import type {Id} from '../../with-schemas/index.d.ts';
66
67
 
67
68
  /**
68
- * The Status enum is used to indicate whether a Persister is idle, or loading or
69
- * saving data.
69
+ * The Status enum is used to indicate whether a Persister is idle, or loading
70
+ * or saving data.
70
71
  *
71
72
  * The enum is intended to be used to understand the status of the Persister in
72
73
  * conjunction with the getStatus and addStatusListener methods.
@@ -591,6 +592,23 @@ export type DpcTabular<Schema extends OptionalTablesSchema> = {
591
592
  autoLoadIntervalSeconds?: number;
592
593
  };
593
594
 
595
+ /**
596
+ * The DpcTabularCondition type describes the SQL WHERE clause that will be used
597
+ * to filter the rows that are loaded and saved to in the Store Table.
598
+ *
599
+ * This provides a way to enact pagination or selective loading of data from the
600
+ * database into TinyBase so that only a fraction of the full data in the
601
+ * database is loaded into memory.
602
+ *
603
+ * This clause must include at least one `$tableName` placeholder for the table
604
+ * name. For example, if you only wanted to load and save records that have an
605
+ * 'active' flag set, this string would be something like `$tableName.active =
606
+ * 1`.
607
+ * @category Configuration
608
+ * @since v6.1.0
609
+ */
610
+ export type DpcTabularCondition = `${string}$tableName${string}` | 'true';
611
+
594
612
  /**
595
613
  * The DpcTabularLoad type describes the configuration for loading Tables in a
596
614
  * database-oriented Persister that is operating in tabular mode.
@@ -603,6 +621,7 @@ export type DpcTabular<Schema extends OptionalTablesSchema> = {
603
621
  * |-|-|-|
604
622
  * |`tableId`|Id|The Id of the Store Table into which data from this database table should be loaded.|
605
623
  * |`rowIdColumnName?`|string|The optional name of the column in the database table that will be used as the Row Ids in the Store Table, defaulting to '_id'.|
624
+ * |`condition?`|string|The optional SQL WHERE clause that will be used to filter the rows that are loaded into the Store Table. When set it must include the `$tableName` placeholder for the table name, since v6.1.0.|
606
625
  *
607
626
  * As a shortcut, if you do not need to specify a custom `rowIdColumnName`, you
608
627
  * can simply provide the Id of the Store Table instead of the whole object.
@@ -689,6 +708,16 @@ export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
689
708
  * @since v4.0.0
690
709
  */
691
710
  rowIdColumnName?: string;
711
+ /**
712
+ * The optional SQL WHERE clause that will be used to filter the rows
713
+ * that are loaded into the Store Table. When set it must include the
714
+ * `$tableName` placeholder for the table name. See the 'Syncing with
715
+ * subsets of database tables' section of the Database Persistence guide
716
+ * for more details.
717
+ * @category Configuration
718
+ * @since v6.1.0
719
+ */
720
+ condition?: DpcTabularCondition;
692
721
  }
693
722
  | TableIdFromSchema<Schema>;
694
723
  };
@@ -707,6 +736,7 @@ export type DpcTabularLoad<Schema extends OptionalTablesSchema> = {
707
736
  * |`rowIdColumnName?`|string|The optional name of the column in the database table that will be used to save the Row Ids from the Store Table, defaulting to '_id'.|
708
737
  * |`deleteEmptyColumns?`|boolean|Whether columns in the database table will be removed if they are empty in the Store Table, defaulting to false.|
709
738
  * |`deleteEmptyTable?`|boolean|Whether tables in the database will be removed if the Store Table is empty, defaulting to false.|
739
+ * |`condition?`|string|The optional SQL WHERE clause that will be used to scope cleanup operations to the Store Table. When set it must include the `$tableName` placeholder for the table name, since v6.1.0. Defaults to `DpcTabularLoad.condition`.|
710
740
  *
711
741
  * As a shortcut, if you do not need to specify a custom `rowIdColumnName`, or
712
742
  * enable the `deleteEmptyColumns` or `deleteEmptyTable` settings, you can
@@ -820,6 +850,16 @@ export type DpcTabularSave<Schema extends OptionalTablesSchema> = {
820
850
  * @since v4.0.0
821
851
  */
822
852
  deleteEmptyTable?: boolean;
853
+ /**
854
+ * The optional SQL WHERE clause that will be used to scope cleanup
855
+ * operations to the Store Table. When set it must include the
856
+ * `$tableName` placeholder for the table name. Defaults to
857
+ * `DpcTabularLoad.condition`.See the 'Syncing with subsets of database
858
+ * tables' section of the Database Persistence guide for more details.
859
+ * @category Configuration
860
+ * @since v6.1.0
861
+ */
862
+ condition?: DpcTabularCondition;
823
863
  }
824
864
  | string;
825
865
  };
@@ -954,7 +994,7 @@ export type DpcTabularValues = {
954
994
  * console.log(store.getTables());
955
995
  * // -> {pets: {toto: {species: 'dog'}}}
956
996
  *
957
- * persister.destroy();
997
+ * await persister.destroy();
958
998
  * sessionStorage.clear();
959
999
  * ```
960
1000
  * @example
@@ -985,7 +1025,7 @@ export type DpcTabularValues = {
985
1025
  * console.log(store.getTables());
986
1026
  * // -> {pets: {toto: {species: 'dog'}}}
987
1027
  *
988
- * persister.destroy();
1028
+ * await persister.destroy();
989
1029
  * sessionStorage.clear();
990
1030
  * ```
991
1031
  * @category Persister
@@ -1128,7 +1168,7 @@ export interface Persister<
1128
1168
  * console.log(store.getTables());
1129
1169
  * // -> {pets: {toto: {species: 'dog'}}}
1130
1170
  *
1131
- * persister.destroy();
1171
+ * await persister.destroy();
1132
1172
  * sessionStorage.clear();
1133
1173
  * ```
1134
1174
  * @category Load
@@ -1143,8 +1183,8 @@ export interface Persister<
1143
1183
  * previously started with the startAutoLoad method.
1144
1184
  *
1145
1185
  * If the Persister is not currently set to automatically load, this method
1146
- * has no effect.
1147
- * @returns A reference to the Persister object.
1186
+ * has no effect. This method is asynchronous.
1187
+ * @returns A Promise containing a reference to the Persister object.
1148
1188
  * @example
1149
1189
  * This example creates an empty Store, and starts automatically loading data
1150
1190
  * into it from the browser's session storage. Once the automatic loading is
@@ -1165,7 +1205,7 @@ export interface Persister<
1165
1205
  * console.log(store.getTables());
1166
1206
  * // -> {pets: {toto: {species: 'dog'}}}
1167
1207
  *
1168
- * persister.stopAutoLoad();
1208
+ * await persister.stopAutoLoad();
1169
1209
  *
1170
1210
  * // In another browser tab:
1171
1211
  * sessionStorage.setItem(
@@ -1178,13 +1218,13 @@ export interface Persister<
1178
1218
  * // -> {pets: {toto: {species: 'dog'}}}
1179
1219
  * // Storage change has not been automatically loaded.
1180
1220
  *
1181
- * persister.destroy();
1221
+ * await persister.destroy();
1182
1222
  * sessionStorage.clear();
1183
1223
  * ```
1184
1224
  * @category Load
1185
1225
  * @since v1.0.0
1186
1226
  */
1187
- stopAutoLoad(): this;
1227
+ stopAutoLoad(): Promise<this>;
1188
1228
 
1189
1229
  /**
1190
1230
  * The isAutoLoading method lets you find out if the Persister is currently
@@ -1240,7 +1280,7 @@ export interface Persister<
1240
1280
  * console.log(sessionStorage.getItem('pets'));
1241
1281
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1242
1282
  *
1243
- * persister.destroy();
1283
+ * await persister.destroy();
1244
1284
  * sessionStorage.clear();
1245
1285
  * ```
1246
1286
  * @category Save
@@ -1294,8 +1334,8 @@ export interface Persister<
1294
1334
  * previously started with the startAutoSave method.
1295
1335
  *
1296
1336
  * If the Persister is not currently set to automatically save, this method
1297
- * has no effect.
1298
- * @returns A reference to the Persister object.
1337
+ * has no effect. This method is asynchronous.
1338
+ * @returns A Promise containing a reference to the Persister object.
1299
1339
  * @example
1300
1340
  * This example creates a Store with some data, and saves into the browser's
1301
1341
  * session storage. Subsequent changes to the Store are then automatically
@@ -1315,7 +1355,7 @@ export interface Persister<
1315
1355
  * console.log(sessionStorage.getItem('pets'));
1316
1356
  * // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
1317
1357
  *
1318
- * persister.stopAutoSave();
1358
+ * await persister.stopAutoSave();
1319
1359
  *
1320
1360
  * store.setTables({pets: {felix: {species: 'cat'}}});
1321
1361
  * // ...
@@ -1328,7 +1368,7 @@ export interface Persister<
1328
1368
  * @category Save
1329
1369
  * @since v1.0.0
1330
1370
  */
1331
- stopAutoSave(): this;
1371
+ stopAutoSave(): Promise<this>;
1332
1372
 
1333
1373
  /**
1334
1374
  * The isAutoSaving method lets you find out if the Persister is currently
@@ -1514,8 +1554,8 @@ export interface Persister<
1514
1554
  * async (getContent) => {
1515
1555
  * // setPersisted
1516
1556
  * await persister.schedule(
1517
- * async () => await checkRemoteSystemIsReady(),
1518
- * async () => await sendDataToRemoteSystem(getContent()),
1557
+ * () => checkRemoteSystemIsReady(),
1558
+ * () => sendDataToRemoteSystem(getContent()),
1519
1559
  * );
1520
1560
  * },
1521
1561
  * (listener) => setInterval(listener, 1000),
@@ -1567,8 +1607,8 @@ export interface Persister<
1567
1607
  * This guarantees that all of the listeners that the object registered with
1568
1608
  * the underlying Store and storage are removed and it can be correctly
1569
1609
  * garbage collected. It is equivalent to running the stopAutoLoad method and
1570
- * the stopAutoSave method in succession.
1571
- * @returns A reference to the Persister object.
1610
+ * the stopAutoSave method in succession. This method is asynchronous.
1611
+ * @returns A Promise containing a reference to the Persister object.
1572
1612
  * @example
1573
1613
  * This example creates a Store, associates a Persister object with it (that
1574
1614
  * registers a TablesListener with the underlying Store), and then destroys it
@@ -1585,7 +1625,7 @@ export interface Persister<
1585
1625
  * console.log(store.getListenerStats().transaction);
1586
1626
  * // -> 1
1587
1627
  *
1588
- * persister.destroy();
1628
+ * await persister.destroy();
1589
1629
  *
1590
1630
  * console.log(store.getListenerStats().transaction);
1591
1631
  * // -> 0
@@ -1593,7 +1633,7 @@ export interface Persister<
1593
1633
  * @category Lifecycle
1594
1634
  * @since v1.0.0
1595
1635
  */
1596
- destroy(): this;
1636
+ destroy(): Promise<this>;
1597
1637
 
1598
1638
  /**
1599
1639
  * The getStats method provides a set of statistics about the Persister, and
@@ -1633,7 +1673,7 @@ export interface Persister<
1633
1673
  * console.log(persister.getStats());
1634
1674
  * // -> {loads: 2, saves: 2}
1635
1675
  *
1636
- * persister.destroy();
1676
+ * await persister.destroy();
1637
1677
  * sessionStorage.clear();
1638
1678
  * ```
1639
1679
  * @category Development
@@ -1713,7 +1753,9 @@ export type DatabaseChangeListener = (tableName: string) => void;
1713
1753
  * addPersisterListener: (
1714
1754
  * listener: PersisterListener<Persist>,
1715
1755
  * ) => ListenerHandle | Promise<ListenerHandle>,
1716
- * delPersisterListener: (listenerHandle: ListenerHandle) => void,
1756
+ * delPersisterListener: (
1757
+ * listenerHandle: ListenerHandle,
1758
+ * ) => void | Promise<void>,
1717
1759
  * onIgnoredError?: (error: any) => void,
1718
1760
  * persist?: Persist,
1719
1761
  * ): Persister<Persist>;
@@ -1753,7 +1795,8 @@ export type DatabaseChangeListener = (tableName: string) => void;
1753
1795
  * called. This function can be asynchronous.
1754
1796
  * @param delPersisterListener A function that will unregister the listener from
1755
1797
  * the underlying changes to the persistence layer. It receives whatever was
1756
- * returned from your `addPersisterListener` implementation.
1798
+ * returned from your `addPersisterListener` implementation. This function can
1799
+ * be asynchronous.
1757
1800
  * @param onIgnoredError An optional handler for the errors that the Persister
1758
1801
  * would otherwise ignore when trying to save or load data. This is suitable for
1759
1802
  * debugging persistence issues in a development environment, since v4.0.4.
@@ -1800,7 +1843,7 @@ export type DatabaseChangeListener = (tableName: string) => void;
1800
1843
  * console.log(store.getTables());
1801
1844
  * // -> {pets: {fido: {species: 'dog', color: 'brown'}}}
1802
1845
  *
1803
- * persister.destroy();
1846
+ * await persister.destroy();
1804
1847
  * ```
1805
1848
  * @example
1806
1849
  * This example demonstrates a Persister creation function which returns a
@@ -1837,7 +1880,7 @@ export type DatabaseChangeListener = (tableName: string) => void;
1837
1880
  * await storePersister.save();
1838
1881
  * console.log(persistedJson);
1839
1882
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1840
- * storePersister.destroy();
1883
+ * await storePersister.destroy();
1841
1884
  *
1842
1885
  * const mergeableStore = createMergeableStore('mergeableStore1'); // !reset
1843
1886
  * mergeableStore.setTables({pets: {fido: {species: 'dog'}}});
@@ -1865,7 +1908,7 @@ export type DatabaseChangeListener = (tableName: string) => void;
1865
1908
  * ],
1866
1909
  * [{}, '', 0],
1867
1910
  * ];
1868
- * mergeableStorePersister.destroy();
1911
+ * await mergeableStorePersister.destroy();
1869
1912
  * ```
1870
1913
  * @category Creation
1871
1914
  * @since v1.0.0
@@ -1884,7 +1927,9 @@ export function createCustomPersister<
1884
1927
  addPersisterListener: (
1885
1928
  listener: PersisterListener<Schemas, Persist>,
1886
1929
  ) => ListenerHandle | Promise<ListenerHandle>,
1887
- delPersisterListener: (listenerHandle: ListenerHandle) => void,
1930
+ delPersisterListener: (
1931
+ listenerHandle: ListenerHandle,
1932
+ ) => void | Promise<void>,
1888
1933
  onIgnoredError?: (error: any) => void,
1889
1934
  persist?: Persist,
1890
1935
  ): Persister<Schemas, Persist>;
@@ -1969,8 +2014,8 @@ export function createCustomSqlitePersister<
1969
2014
  ): Persister<Schemas, Persist>;
1970
2015
 
1971
2016
  /**
1972
- * The createCustomSqlitePersister function creates a Persister object that you
1973
- * can configure to persist the Store to a PostgreSQL database.
2017
+ * The createCustomPostgreSqlPersister function creates a Persister object that
2018
+ * you can configure to persist the Store to a PostgreSQL database.
1974
2019
  *
1975
2020
  * This has schema-based typing. The following is a simplified representation:
1976
2021
  *
@@ -1986,7 +2031,7 @@ export function createCustomSqlitePersister<
1986
2031
  * channel: string,
1987
2032
  * listener: DatabaseChangeListener,
1988
2033
  * ) => Promise<ListenerHandle>,
1989
- * delChangeListener: (listenerHandle: ListenerHandle) => void,
2034
+ * delChangeListener: (listenerHandle: ListenerHandle) => void | Promise<void>,
1990
2035
  * onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1991
2036
  * onIgnoredError: ((error: any) => void) | undefined,
1992
2037
  * destroy: () => void,
@@ -2001,18 +2046,18 @@ export function createCustomSqlitePersister<
2001
2046
  *
2002
2047
  * All of the TinyBase PostgreSQL-oriented Persister functions use this function
2003
2048
  * under the covers, and so you may wish to look at those implementations for
2004
- * ideas on how to build your own Persister type, and as functional
2005
- * examples. Examine the implementation of the createPostgresPersister function
2006
- * as a good starting point, for example.
2049
+ * ideas on how to build your own Persister type, and as functional examples.
2050
+ * Examine the implementation of the createPostgresPersister function as a good
2051
+ * starting point, for example.
2007
2052
  * @param store The Store to persist.
2008
2053
  * @param configOrStoreTableName A DatabasePersisterConfig object, or a string
2009
2054
  * that will be used as the name of the Store's table in the database.
2010
2055
  * @param executeCommand A function that will execute a command against the
2011
2056
  * database.
2012
- * @param addChangeListener A function that will register a listener for changes
2013
- * to the database.
2014
- * @param delChangeListener A function that will unregister the listener for
2015
- * changes to the database.
2057
+ * @param addChangeListener An asynchronous function that will register a
2058
+ * listener for changes to the database.
2059
+ * @param delChangeListener An asynchronous function that will unregister the
2060
+ * listener for changes to the database.
2016
2061
  * @param onSqlCommand A function that will be called for each SQL command
2017
2062
  * executed against the database.
2018
2063
  * @param onIgnoredError An optional handler for the errors that the Persister
@@ -2044,7 +2089,7 @@ export function createCustomPostgreSqlPersister<
2044
2089
  channel: string,
2045
2090
  listener: DatabaseChangeListener,
2046
2091
  ) => Promise<ListenerHandle>,
2047
- delChangeListener: (listenerHandle: ListenerHandle) => void,
2092
+ delChangeListener: (listenerHandle: ListenerHandle) => void | Promise<void>,
2048
2093
  onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
2049
2094
  onIgnoredError: ((error: any) => void) | undefined,
2050
2095
  destroy: () => void,
@@ -194,8 +194,8 @@ export type SynchronizerStats = {
194
194
  * console.log(store1.getTables());
195
195
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
196
196
  *
197
- * synchronizer1.destroy();
198
- * synchronizer2.destroy();
197
+ * await synchronizer1.destroy();
198
+ * await synchronizer2.destroy();
199
199
  * ```
200
200
  * @category Synchronizer
201
201
  * @since v5.0.0
@@ -243,8 +243,8 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
243
243
  * console.log(store1.getTables());
244
244
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
245
245
  *
246
- * synchronizer1.destroy();
247
- * synchronizer2.destroy();
246
+ * await synchronizer1.destroy();
247
+ * await synchronizer2.destroy();
248
248
  * ```
249
249
  * @example
250
250
  * This example creates two empty MergeableStore objects, creates a
@@ -274,8 +274,8 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
274
274
  * console.log(store2.getTables());
275
275
  * // -> {pets: {fido: {species: 'dog'}}}
276
276
  *
277
- * synchronizer1.destroy();
278
- * synchronizer2.destroy();
277
+ * await synchronizer1.destroy();
278
+ * await synchronizer2.destroy();
279
279
  * ```
280
280
  * @category Synchronization
281
281
  * @since v5.0.0
@@ -289,7 +289,9 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
289
289
  * Persister framework, and so this startSync method is equivalent to stopping
290
290
  * both auto-loading (listening to sync messages from other active
291
291
  * Synchronizer instances) and auto-saving (sending sync messages to them).
292
- * @returns A reference to the Synchronizer object.
292
+ *
293
+ * This method is asynchronous.
294
+ * @returns A Promise containing a reference to the Synchronizer object.
293
295
  * @example
294
296
  * This example creates two empty MergeableStore objects, creates a
295
297
  * LocalSynchronizer for each, and starts - then stops - synchronizing them.
@@ -314,8 +316,8 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
314
316
  * console.log(store2.getTables());
315
317
  * // -> {pets: {fido: {species: 'dog'}}}
316
318
  *
317
- * synchronizer1.stopSync();
318
- * synchronizer2.stopSync();
319
+ * await synchronizer1.stopSync();
320
+ * await synchronizer2.stopSync();
319
321
  *
320
322
  * store1.setCell('pets', 'fido', 'color', 'brown');
321
323
  * // ...
@@ -324,13 +326,13 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
324
326
  * console.log(store2.getTables());
325
327
  * // -> {pets: {fido: {species: 'dog'}}}
326
328
  *
327
- * synchronizer1.destroy();
328
- * synchronizer2.destroy();
329
+ * await synchronizer1.destroy();
330
+ * await synchronizer2.destroy();
329
331
  * ```
330
332
  * @category Synchronization
331
333
  * @since v5.0.0
332
334
  */
333
- stopSync(): this;
335
+ stopSync(): Promise<this>;
334
336
  /**
335
337
  * The getSynchronizerStats method provides a set of statistics about the
336
338
  * Synchronizer, and is used for debugging purposes.
@@ -369,8 +371,8 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
369
371
  * console.log(synchronizer2.getSynchronizerStats());
370
372
  * // -> {receives: 5, sends: 4}
371
373
  *
372
- * synchronizer1.destroy();
373
- * synchronizer2.destroy();
374
+ * await synchronizer1.destroy();
375
+ * await synchronizer2.destroy();
374
376
  * ```
375
377
  * @category Synchronization
376
378
  * @since v5.0.0
@@ -467,8 +469,8 @@ export interface Synchronizer extends Persister<Persists.MergeableStoreOnly> {
467
469
  * console.log(store2.getTables());
468
470
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
469
471
  *
470
- * synchronizer1.destroy();
471
- * synchronizer2.destroy();
472
+ * await synchronizer1.destroy();
473
+ * await synchronizer2.destroy();
472
474
  * ```
473
475
  * @category Creation
474
476
  * @since v5.0.0
@@ -42,7 +42,7 @@ export interface BroadcastChannelSynchronizer extends Synchronizer {
42
42
  * console.log(synchronizer.getChannelName());
43
43
  * // -> 'channelA'
44
44
  *
45
- * synchronizer.destroy();
45
+ * await synchronizer.destroy();
46
46
  * ```
47
47
  * @category Getter
48
48
  * @since v5.0.0
@@ -106,8 +106,8 @@ export interface BroadcastChannelSynchronizer extends Synchronizer {
106
106
  * console.log(store2.getTables());
107
107
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
108
108
  *
109
- * synchronizer1.destroy();
110
- * synchronizer2.destroy();
109
+ * await synchronizer1.destroy();
110
+ * await synchronizer2.destroy();
111
111
  * ```
112
112
  * @category Creation
113
113
  * @since v5.0.0
@@ -44,7 +44,7 @@ export interface BroadcastChannelSynchronizer<Schemas extends OptionalSchemas>
44
44
  * console.log(synchronizer.getChannelName());
45
45
  * // -> 'channelA'
46
46
  *
47
- * synchronizer.destroy();
47
+ * await synchronizer.destroy();
48
48
  * ```
49
49
  * @category Getter
50
50
  * @since v5.0.0
@@ -120,8 +120,8 @@ export interface BroadcastChannelSynchronizer<Schemas extends OptionalSchemas>
120
120
  * console.log(store2.getTables());
121
121
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
122
122
  *
123
- * synchronizer1.destroy();
124
- * synchronizer2.destroy();
123
+ * await synchronizer1.destroy();
124
+ * await synchronizer2.destroy();
125
125
  * ```
126
126
  * @category Creation
127
127
  * @since v5.0.0
@@ -81,8 +81,8 @@ export interface LocalSynchronizer extends Synchronizer {}
81
81
  * console.log(store2.getTables());
82
82
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
83
83
  *
84
- * synchronizer1.destroy();
85
- * synchronizer2.destroy();
84
+ * await synchronizer1.destroy();
85
+ * await synchronizer2.destroy();
86
86
  * ```
87
87
  * @category Creation
88
88
  * @since v5.0.0