tinybase 6.1.0-beta.4 → 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 +82 -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 +3 -3
  29. package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +3 -3
  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 +86 -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 -1
  119. package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
  120. package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -1
  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 +8 -4
  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 +182 -135
  205. package/persisters/persister-sqlite-bun/with-schemas/index.js +182 -135
  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
@@ -39,9 +39,9 @@
39
39
  * create a fully customized way to save and load Store data.
40
40
  *
41
41
  * Similarly, the createCustomSqlitePersister function and
42
- * createCustomPostgreSqlPersister function can be used to build Persister objects
43
- * against SQLite and PostgreSQL SDKs (or forks) that are not already included
44
- * 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.
45
45
  * @see Persistence guides
46
46
  * @see Countries demo
47
47
  * @see Todo App demos
@@ -59,8 +59,8 @@ import type {
59
59
  import type {Changes, Content, Store} from '../store/index.d.ts';
60
60
 
61
61
  /**
62
- * The Status enum is used to indicate whether a Persister is idle, or loading or
63
- * saving data.
62
+ * The Status enum is used to indicate whether a Persister is idle, or loading
63
+ * or saving data.
64
64
  *
65
65
  * The enum is intended to be used to understand the status of the Persister in
66
66
  * conjunction with the getStatus and addStatusListener methods.
@@ -517,6 +517,23 @@ export type DpcTabular = {
517
517
  autoLoadIntervalSeconds?: number;
518
518
  };
519
519
 
520
+ /**
521
+ * The DpcTabularCondition type describes the SQL WHERE clause that will be used
522
+ * to filter the rows that are loaded and saved to in the Store Table.
523
+ *
524
+ * This provides a way to enact pagination or selective loading of data from the
525
+ * database into TinyBase so that only a fraction of the full data in the
526
+ * database is loaded into memory.
527
+ *
528
+ * This clause must include at least one `$tableName` placeholder for the table
529
+ * name. For example, if you only wanted to load and save records that have an
530
+ * 'active' flag set, this string would be something like `$tableName.active =
531
+ * 1`.
532
+ * @category Configuration
533
+ * @since v6.1.0
534
+ */
535
+ export type DpcTabularCondition = `${string}$tableName${string}` | 'true';
536
+
520
537
  /**
521
538
  * The DpcTabularLoad type describes the configuration for loading Tables in a
522
539
  * database-oriented Persister that is operating in tabular mode.
@@ -529,6 +546,7 @@ export type DpcTabular = {
529
546
  * |-|-|-|
530
547
  * |`tableId`|Id|The Id of the Store Table into which data from this database table should be loaded.|
531
548
  * |`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'.|
549
+ * |`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.|
532
550
  *
533
551
  * As a shortcut, if you do not need to specify a custom `rowIdColumnName`, you
534
552
  * can simply provide the Id of the Store Table instead of the whole object.
@@ -615,6 +633,16 @@ export type DpcTabularLoad = {
615
633
  * @since v4.0.0
616
634
  */
617
635
  rowIdColumnName?: string;
636
+ /**
637
+ * The optional SQL WHERE clause that will be used to filter the rows
638
+ * that are loaded into the Store Table. When set it must include the
639
+ * `$tableName` placeholder for the table name. See the 'Syncing with
640
+ * subsets of database tables' section of the Database Persistence guide
641
+ * for more details.
642
+ * @category Configuration
643
+ * @since v6.1.0
644
+ */
645
+ condition?: DpcTabularCondition;
618
646
  }
619
647
  | Id;
620
648
  };
@@ -633,6 +661,7 @@ export type DpcTabularLoad = {
633
661
  * |`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'.|
634
662
  * |`deleteEmptyColumns?`|boolean|Whether columns in the database table will be removed if they are empty in the Store Table, defaulting to false.|
635
663
  * |`deleteEmptyTable?`|boolean|Whether tables in the database will be removed if the Store Table is empty, defaulting to false.|
664
+ * |`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`.|
636
665
  *
637
666
  * As a shortcut, if you do not need to specify a custom `rowIdColumnName`, or
638
667
  * enable the `deleteEmptyColumns` or `deleteEmptyTable` settings, you can
@@ -746,6 +775,16 @@ export type DpcTabularSave = {
746
775
  * @since v4.0.0
747
776
  */
748
777
  deleteEmptyTable?: boolean;
778
+ /**
779
+ * The optional SQL WHERE clause that will be used to scope cleanup
780
+ * operations to the Store Table. When set it must include the
781
+ * `$tableName` placeholder for the table name. Defaults to
782
+ * `DpcTabularLoad.condition`.See the 'Syncing with subsets of database
783
+ * tables' section of the Database Persistence guide for more details.
784
+ * @category Configuration
785
+ * @since v6.1.0
786
+ */
787
+ condition?: DpcTabularCondition;
749
788
  }
750
789
  | string;
751
790
  };
@@ -880,7 +919,7 @@ export type DpcTabularValues = {
880
919
  * console.log(store.getTables());
881
920
  * // -> {pets: {toto: {species: 'dog'}}}
882
921
  *
883
- * persister.destroy();
922
+ * await persister.destroy();
884
923
  * sessionStorage.clear();
885
924
  * ```
886
925
  * @example
@@ -911,7 +950,7 @@ export type DpcTabularValues = {
911
950
  * console.log(store.getTables());
912
951
  * // -> {pets: {toto: {species: 'dog'}}}
913
952
  *
914
- * persister.destroy();
953
+ * await persister.destroy();
915
954
  * sessionStorage.clear();
916
955
  * ```
917
956
  * @category Persister
@@ -1038,7 +1077,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1038
1077
  * console.log(store.getTables());
1039
1078
  * // -> {pets: {toto: {species: 'dog'}}}
1040
1079
  *
1041
- * persister.destroy();
1080
+ * await persister.destroy();
1042
1081
  * sessionStorage.clear();
1043
1082
  * ```
1044
1083
  * @category Load
@@ -1051,8 +1090,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1051
1090
  * previously started with the startAutoLoad method.
1052
1091
  *
1053
1092
  * If the Persister is not currently set to automatically load, this method
1054
- * has no effect.
1055
- * @returns A reference to the Persister object.
1093
+ * has no effect. This method is asynchronous.
1094
+ * @returns A Promise containing a reference to the Persister object.
1056
1095
  * @example
1057
1096
  * This example creates an empty Store, and starts automatically loading data
1058
1097
  * into it from the browser's session storage. Once the automatic loading is
@@ -1073,7 +1112,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1073
1112
  * console.log(store.getTables());
1074
1113
  * // -> {pets: {toto: {species: 'dog'}}}
1075
1114
  *
1076
- * persister.stopAutoLoad();
1115
+ * await persister.stopAutoLoad();
1077
1116
  *
1078
1117
  * // In another browser tab:
1079
1118
  * sessionStorage.setItem(
@@ -1086,13 +1125,13 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1086
1125
  * // -> {pets: {toto: {species: 'dog'}}}
1087
1126
  * // Storage change has not been automatically loaded.
1088
1127
  *
1089
- * persister.destroy();
1128
+ * await persister.destroy();
1090
1129
  * sessionStorage.clear();
1091
1130
  * ```
1092
1131
  * @category Load
1093
1132
  * @since v1.0.0
1094
1133
  */
1095
- stopAutoLoad(): this;
1134
+ stopAutoLoad(): Promise<this>;
1096
1135
 
1097
1136
  /**
1098
1137
  * The isAutoLoading method lets you find out if the Persister is currently
@@ -1148,7 +1187,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1148
1187
  * console.log(sessionStorage.getItem('pets'));
1149
1188
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1150
1189
  *
1151
- * persister.destroy();
1190
+ * await persister.destroy();
1152
1191
  * sessionStorage.clear();
1153
1192
  * ```
1154
1193
  * @category Save
@@ -1202,8 +1241,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1202
1241
  * previously started with the startAutoSave method.
1203
1242
  *
1204
1243
  * If the Persister is not currently set to automatically save, this method
1205
- * has no effect.
1206
- * @returns A reference to the Persister object.
1244
+ * has no effect. This method is asynchronous.
1245
+ * @returns A Promise containing a reference to the Persister object.
1207
1246
  * @example
1208
1247
  * This example creates a Store with some data, and saves into the browser's
1209
1248
  * session storage. Subsequent changes to the Store are then automatically
@@ -1223,7 +1262,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1223
1262
  * console.log(sessionStorage.getItem('pets'));
1224
1263
  * // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
1225
1264
  *
1226
- * persister.stopAutoSave();
1265
+ * await persister.stopAutoSave();
1227
1266
  *
1228
1267
  * store.setTables({pets: {felix: {species: 'cat'}}});
1229
1268
  * // ...
@@ -1236,7 +1275,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1236
1275
  * @category Save
1237
1276
  * @since v1.0.0
1238
1277
  */
1239
- stopAutoSave(): this;
1278
+ stopAutoSave(): Promise<this>;
1240
1279
 
1241
1280
  /**
1242
1281
  * The isAutoSaving method lets you find out if the Persister is currently
@@ -1416,8 +1455,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1416
1455
  * async (getContent) => {
1417
1456
  * // setPersisted
1418
1457
  * await persister.schedule(
1419
- * async () => await checkRemoteSystemIsReady(),
1420
- * async () => await sendDataToRemoteSystem(getContent()),
1458
+ * () => checkRemoteSystemIsReady(),
1459
+ * () => sendDataToRemoteSystem(getContent()),
1421
1460
  * );
1422
1461
  * },
1423
1462
  * (listener) => setInterval(listener, 1000),
@@ -1463,8 +1502,8 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1463
1502
  * This guarantees that all of the listeners that the object registered with
1464
1503
  * the underlying Store and storage are removed and it can be correctly
1465
1504
  * garbage collected. It is equivalent to running the stopAutoLoad method and
1466
- * the stopAutoSave method in succession.
1467
- * @returns A reference to the Persister object.
1505
+ * the stopAutoSave method in succession. This method is asynchronous.
1506
+ * @returns A Promise containing a reference to the Persister object.
1468
1507
  * @example
1469
1508
  * This example creates a Store, associates a Persister object with it (that
1470
1509
  * registers a TablesListener with the underlying Store), and then destroys it
@@ -1481,7 +1520,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1481
1520
  * console.log(store.getListenerStats().transaction);
1482
1521
  * // -> 1
1483
1522
  *
1484
- * persister.destroy();
1523
+ * await persister.destroy();
1485
1524
  *
1486
1525
  * console.log(store.getListenerStats().transaction);
1487
1526
  * // -> 0
@@ -1489,7 +1528,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1489
1528
  * @category Lifecycle
1490
1529
  * @since v1.0.0
1491
1530
  */
1492
- destroy(): this;
1531
+ destroy(): Promise<this>;
1493
1532
 
1494
1533
  /**
1495
1534
  * The getStats method provides a set of statistics about the Persister, and
@@ -1529,7 +1568,7 @@ export interface Persister<Persist extends Persists = Persists.StoreOnly> {
1529
1568
  * console.log(persister.getStats());
1530
1569
  * // -> {loads: 2, saves: 2}
1531
1570
  *
1532
- * persister.destroy();
1571
+ * await persister.destroy();
1533
1572
  * sessionStorage.clear();
1534
1573
  * ```
1535
1574
  * @category Development
@@ -1625,7 +1664,8 @@ export type DatabaseChangeListener = (tableName: string) => void;
1625
1664
  * called. This function can be asynchronous.
1626
1665
  * @param delPersisterListener A function that will unregister the listener from
1627
1666
  * the underlying changes to the persistence layer. It receives whatever was
1628
- * returned from your `addPersisterListener` implementation.
1667
+ * returned from your `addPersisterListener` implementation. This function can
1668
+ * be asynchronous.
1629
1669
  * @param onIgnoredError An optional handler for the errors that the Persister
1630
1670
  * would otherwise ignore when trying to save or load data. This is suitable for
1631
1671
  * debugging persistence issues in a development environment, since v4.0.4.
@@ -1672,7 +1712,7 @@ export type DatabaseChangeListener = (tableName: string) => void;
1672
1712
  * console.log(store.getTables());
1673
1713
  * // -> {pets: {fido: {species: 'dog', color: 'brown'}}}
1674
1714
  *
1675
- * persister.destroy();
1715
+ * await persister.destroy();
1676
1716
  * ```
1677
1717
  * @example
1678
1718
  * This example demonstrates a Persister creation function which returns a
@@ -1709,7 +1749,7 @@ export type DatabaseChangeListener = (tableName: string) => void;
1709
1749
  * await storePersister.save();
1710
1750
  * console.log(persistedJson);
1711
1751
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
1712
- * storePersister.destroy();
1752
+ * await storePersister.destroy();
1713
1753
  *
1714
1754
  * const mergeableStore = createMergeableStore('mergeableStore1'); // !reset
1715
1755
  * mergeableStore.setTables({pets: {fido: {species: 'dog'}}});
@@ -1737,7 +1777,7 @@ export type DatabaseChangeListener = (tableName: string) => void;
1737
1777
  * ],
1738
1778
  * [{}, '', 0],
1739
1779
  * ];
1740
- * mergeableStorePersister.destroy();
1780
+ * await mergeableStorePersister.destroy();
1741
1781
  * ```
1742
1782
  * @category Creation
1743
1783
  * @since v1.0.0
@@ -1755,7 +1795,9 @@ export function createCustomPersister<
1755
1795
  addPersisterListener: (
1756
1796
  listener: PersisterListener<Persist>,
1757
1797
  ) => ListenerHandle | Promise<ListenerHandle>,
1758
- delPersisterListener: (listenerHandle: ListenerHandle) => void,
1798
+ delPersisterListener: (
1799
+ listenerHandle: ListenerHandle,
1800
+ ) => void | Promise<void>,
1759
1801
  onIgnoredError?: (error: any) => void,
1760
1802
  persist?: Persist,
1761
1803
  ): Persister<Persist>;
@@ -1818,26 +1860,26 @@ export function createCustomSqlitePersister<
1818
1860
  ): Persister<Persist>;
1819
1861
 
1820
1862
  /**
1821
- * The createCustomSqlitePersister function creates a Persister object that you
1822
- * can configure to persist the Store to a PostgreSQL database.
1863
+ * The createCustomPostgreSqlPersister function creates a Persister object that
1864
+ * you can configure to persist the Store to a PostgreSQL database.
1823
1865
  *
1824
1866
  * This is only used when developing custom database-oriented Persisters, and
1825
1867
  * most TinyBase users will not need to be particularly aware of it.
1826
1868
  *
1827
1869
  * All of the TinyBase PostgreSQL-oriented Persister functions use this function
1828
1870
  * under the covers, and so you may wish to look at those implementations for
1829
- * ideas on how to build your own Persister type, and as functional
1830
- * examples. Examine the implementation of the createPostgresPersister function
1831
- * as a good starting point, for example.
1871
+ * ideas on how to build your own Persister type, and as functional examples.
1872
+ * Examine the implementation of the createPostgresPersister function as a good
1873
+ * starting point, for example.
1832
1874
  * @param store The Store to persist.
1833
1875
  * @param configOrStoreTableName A DatabasePersisterConfig object, or a string
1834
1876
  * that will be used as the name of the Store's table in the database.
1835
1877
  * @param executeCommand A function that will execute a command against the
1836
1878
  * database.
1837
- * @param addChangeListener A function that will register a listener for changes
1838
- * to the database.
1839
- * @param delChangeListener A function that will unregister the listener for
1840
- * changes to the database.
1879
+ * @param addChangeListener An asynchronous function that will register a
1880
+ * listener for changes to the database.
1881
+ * @param delChangeListener An asynchronous function that will unregister the
1882
+ * listener for changes to the database.
1841
1883
  * @param onSqlCommand A function that will be called for each SQL command
1842
1884
  * executed against the database.
1843
1885
  * @param onIgnoredError An optional handler for the errors that the Persister
@@ -1868,7 +1910,7 @@ export function createCustomPostgreSqlPersister<
1868
1910
  channel: string,
1869
1911
  listener: DatabaseChangeListener,
1870
1912
  ) => Promise<ListenerHandle>,
1871
- delChangeListener: (listenerHandle: ListenerHandle) => void,
1913
+ delChangeListener: (listenerHandle: ListenerHandle) => void | Promise<void>,
1872
1914
  onSqlCommand: ((sql: string, params?: any[]) => void) | undefined,
1873
1915
  onIgnoredError: ((error: any) => void) | undefined,
1874
1916
  destroy: () => void,
@@ -48,7 +48,7 @@ export interface AutomergePersister extends Persister {
48
48
  * console.log(persister.getDocHandle() == docHandler);
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 AutomergePersister extends Persister {
92
92
  * console.log(await docHandler.doc());
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 Automerge networking to keep two Store objects
@@ -151,8 +151,8 @@ export interface AutomergePersister extends Persister {
151
151
  * console.log(store2.getContent());
152
152
  * // -> [{pets: {fido: {species: 'dog'}}}, {open: true}]
153
153
  *
154
- * persister1.destroy();
155
- * persister2.destroy();
154
+ * await persister1.destroy();
155
+ * await persister2.destroy();
156
156
  * ```
157
157
  * @category Creation
158
158
  * @since v4.0.0
@@ -52,7 +52,7 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
52
52
  * console.log(persister.getDocHandle() == docHandler);
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 AutomergePersister<Schemas extends OptionalSchemas>
107
107
  * console.log(await docHandler.doc());
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 Automerge networking to keep two Store objects
@@ -166,8 +166,8 @@ export interface AutomergePersister<Schemas extends OptionalSchemas>
166
166
  * console.log(store2.getContent());
167
167
  * // -> [{pets: {fido: {species: 'dog'}}}, {open: true}]
168
168
  *
169
- * persister1.destroy();
170
- * persister2.destroy();
169
+ * await persister1.destroy();
170
+ * await persister2.destroy();
171
171
  * ```
172
172
  * @category Creation
173
173
  * @since v4.0.0
@@ -51,7 +51,7 @@ export interface SessionPersister
51
51
  * console.log(persister.getStorageName());
52
52
  * // -> 'pets'
53
53
  *
54
- * persister.destroy();
54
+ * await persister.destroy();
55
55
  * ```
56
56
  * @category Getter
57
57
  * @since v4.3.14
@@ -92,7 +92,7 @@ export interface LocalPersister
92
92
  * console.log(persister.getStorageName());
93
93
  * // -> 'pets'
94
94
  *
95
- * persister.destroy();
95
+ * await persister.destroy();
96
96
  * ```
97
97
  * @category Getter
98
98
  * @since v4.3.14
@@ -130,7 +130,7 @@ export interface LocalPersister
130
130
  * console.log(sessionStorage.getItem('pets'));
131
131
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
132
132
  *
133
- * persister.destroy();
133
+ * await persister.destroy();
134
134
  * sessionStorage.clear();
135
135
  * ```
136
136
  * @category Creation
@@ -172,7 +172,7 @@ export function createSessionPersister(
172
172
  * console.log(localStorage.getItem('pets'));
173
173
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
174
174
  *
175
- * persister.destroy();
175
+ * await persister.destroy();
176
176
  * localStorage.clear();
177
177
  * ```
178
178
  * @category Creation
@@ -54,7 +54,7 @@ export interface SessionPersister<Schemas extends OptionalSchemas>
54
54
  * console.log(persister.getStorageName());
55
55
  * // -> 'pets'
56
56
  *
57
- * persister.destroy();
57
+ * await persister.destroy();
58
58
  * ```
59
59
  * @category Getter
60
60
  * @since v4.3.14
@@ -95,7 +95,7 @@ export interface LocalPersister<Schemas extends OptionalSchemas>
95
95
  * console.log(persister.getStorageName());
96
96
  * // -> 'pets'
97
97
  *
98
- * persister.destroy();
98
+ * await persister.destroy();
99
99
  * ```
100
100
  * @category Getter
101
101
  * @since v4.3.14
@@ -143,7 +143,7 @@ export interface LocalPersister<Schemas extends OptionalSchemas>
143
143
  * console.log(sessionStorage.getItem('pets'));
144
144
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
145
145
  *
146
- * persister.destroy();
146
+ * await persister.destroy();
147
147
  * sessionStorage.clear();
148
148
  * ```
149
149
  * @category Creation
@@ -195,7 +195,7 @@ export function createSessionPersister<Schemas extends OptionalSchemas>(
195
195
  * console.log(localStorage.getItem('pets'));
196
196
  * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
197
197
  *
198
- * persister.destroy();
198
+ * await persister.destroy();
199
199
  * localStorage.clear();
200
200
  * ```
201
201
  * @category Creation
@@ -46,7 +46,7 @@ export interface CrSqliteWasmPersister extends Persister {
46
46
  * console.log(persister.getDb() == db);
47
47
  * // -> true
48
48
  *
49
- * persister.destroy();
49
+ * await persister.destroy();
50
50
  * ```
51
51
  * @category Getter
52
52
  * @since v4.3.14
@@ -117,7 +117,7 @@ export interface CrSqliteWasmPersister extends Persister {
117
117
  * console.log(store.getTables());
118
118
  * // -> {pets: {felix: {species: 'cat'}}}
119
119
  *
120
- * persister.destroy();
120
+ * await persister.destroy();
121
121
  * ```
122
122
  * @example
123
123
  * This example creates a CrSqliteWasmPersister object and persists the Store to
@@ -145,7 +145,7 @@ export interface CrSqliteWasmPersister extends Persister {
145
145
  * console.log(store.getTables());
146
146
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
147
147
  *
148
- * persister.destroy();
148
+ * await persister.destroy();
149
149
  * ```
150
150
  * @category Creation
151
151
  * @since v4.0.0
@@ -53,7 +53,7 @@ export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
53
53
  * console.log(persister.getDb() == db);
54
54
  * // -> true
55
55
  *
56
- * persister.destroy();
56
+ * await persister.destroy();
57
57
  * ```
58
58
  * @category Getter
59
59
  * @since v4.3.14
@@ -136,7 +136,7 @@ export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
136
136
  * console.log(store.getTables());
137
137
  * // -> {pets: {felix: {species: 'cat'}}}
138
138
  *
139
- * persister.destroy();
139
+ * await persister.destroy();
140
140
  * ```
141
141
  * @example
142
142
  * This example creates a CrSqliteWasmPersister object and persists the Store to
@@ -164,7 +164,7 @@ export interface CrSqliteWasmPersister<Schemas extends OptionalSchemas>
164
164
  * console.log(store.getTables());
165
165
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
166
166
  *
167
- * persister.destroy();
167
+ * await persister.destroy();
168
168
  * ```
169
169
  * @category Creation
170
170
  * @since v4.0.0
@@ -54,7 +54,7 @@ export interface ElectricSqlPersister extends Persister {
54
54
  * console.log(persister.getElectricClient() == electricClient);
55
55
  * // -> true
56
56
  *
57
- * persister.destroy();
57
+ * await persister.destroy();
58
58
  * ```
59
59
  * @category Getter
60
60
  * @since v4.6.0
@@ -137,7 +137,7 @@ export interface ElectricSqlPersister extends Persister {
137
137
  * console.log(store.getTables());
138
138
  * // -> {pets: {felix: {species: 'cat'}}}
139
139
  *
140
- * persister.destroy();
140
+ * await persister.destroy();
141
141
  * ```
142
142
  * @example
143
143
  * This example creates a ElectricSqlPersister object and persists the Store to
@@ -171,7 +171,7 @@ export interface ElectricSqlPersister extends Persister {
171
171
  * console.log(store.getTables());
172
172
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
173
173
  *
174
- * persister.destroy();
174
+ * await persister.destroy();
175
175
  * ```
176
176
  * @category Creation
177
177
  * @since v4.6.0
@@ -61,7 +61,7 @@ export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
61
61
  * console.log(persister.getElectricClient() == electricClient);
62
62
  * // -> true
63
63
  *
64
- * persister.destroy();
64
+ * await persister.destroy();
65
65
  * ```
66
66
  * @category Getter
67
67
  * @since v4.6.0
@@ -156,7 +156,7 @@ export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
156
156
  * console.log(store.getTables());
157
157
  * // -> {pets: {felix: {species: 'cat'}}}
158
158
  *
159
- * persister.destroy();
159
+ * await persister.destroy();
160
160
  * ```
161
161
  * @example
162
162
  * This example creates a ElectricSqlPersister object and persists the Store to
@@ -190,7 +190,7 @@ export interface ElectricSqlPersister<Schemas extends OptionalSchemas>
190
190
  * console.log(store.getTables());
191
191
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
192
192
  *
193
- * persister.destroy();
193
+ * await persister.destroy();
194
194
  * ```
195
195
  * @category Creation
196
196
  * @since v4.6.0
@@ -54,7 +54,7 @@ export interface ExpoSqlitePersister
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.5.0
@@ -137,7 +137,7 @@ export interface ExpoSqlitePersister
137
137
  * console.log(store.getTables());
138
138
  * // -> {pets: {felix: {species: 'cat'}}}
139
139
  *
140
- * persister.destroy();
140
+ * await persister.destroy();
141
141
  * ```
142
142
  * @example
143
143
  * This example creates a ExpoSqlitePersister object and persists the Store
@@ -172,7 +172,7 @@ export interface ExpoSqlitePersister
172
172
  * console.log(store.getTables());
173
173
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
174
174
  *
175
- * persister.destroy();
175
+ * await persister.destroy();
176
176
  * ```
177
177
  * @category Creation
178
178
  * @since v4.5.0
@@ -61,7 +61,7 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
61
61
  * console.log(persister.getDb() == db);
62
62
  * // -> true
63
63
  *
64
- * persister.destroy();
64
+ * await persister.destroy();
65
65
  * ```
66
66
  * @category Getter
67
67
  * @since v4.5.0
@@ -156,7 +156,7 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
156
156
  * console.log(store.getTables());
157
157
  * // -> {pets: {felix: {species: 'cat'}}}
158
158
  *
159
- * persister.destroy();
159
+ * await persister.destroy();
160
160
  * ```
161
161
  * @example
162
162
  * This example creates a ExpoSqlitePersister object and persists the Store
@@ -191,7 +191,7 @@ export interface ExpoSqlitePersister<Schemas extends OptionalSchemas>
191
191
  * console.log(store.getTables());
192
192
  * // -> {pets: {fido: {species: 'dog'}, felix: {species: 'cat'}}}
193
193
  *
194
- * persister.destroy();
194
+ * await persister.destroy();
195
195
  * ```
196
196
  * @category Creation
197
197
  * @since v4.5.0
@@ -43,7 +43,7 @@ export interface FilePersister
43
43
  * console.log(persister.getFilePath());
44
44
  * // -> '/app/persisted.json'
45
45
  *
46
- * persister.destroy();
46
+ * await persister.destroy();
47
47
  * ```
48
48
  * @category Getter
49
49
  * @since v4.3.14
@@ -82,7 +82,7 @@ export interface FilePersister
82
82
  * await persister.load();
83
83
  * // Store JSON will be loaded from the file.
84
84
  *
85
- * persister.destroy();
85
+ * await persister.destroy();
86
86
  * ```
87
87
  * @category Creation
88
88
  * @since v1.0.0
@@ -46,7 +46,7 @@ export interface FilePersister<Schemas extends OptionalSchemas>
46
46
  * console.log(persister.getFilePath());
47
47
  * // -> '/app/persisted.json'
48
48
  *
49
- * persister.destroy();
49
+ * await persister.destroy();
50
50
  * ```
51
51
  * @category Getter
52
52
  * @since v4.3.14
@@ -95,7 +95,7 @@ export interface FilePersister<Schemas extends OptionalSchemas>
95
95
  * await persister.load();
96
96
  * // Store JSON will be loaded from the file.
97
97
  *
98
- * persister.destroy();
98
+ * await persister.destroy();
99
99
  * ```
100
100
  * @category Creation
101
101
  * @since v1.0.0