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.
- package/@types/persisters/index.d.ts +83 -40
- package/@types/persisters/persister-automerge/index.d.ts +4 -4
- package/@types/persisters/persister-automerge/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-browser/index.d.ts +4 -4
- package/@types/persisters/persister-browser/with-schemas/index.d.ts +4 -4
- package/@types/persisters/persister-cr-sqlite-wasm/index.d.ts +3 -3
- package/@types/persisters/persister-cr-sqlite-wasm/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/index.d.ts +3 -3
- package/@types/persisters/persister-expo-sqlite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-file/index.d.ts +2 -2
- package/@types/persisters/persister-file/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-indexed-db/index.d.ts +2 -2
- package/@types/persisters/persister-indexed-db/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-libsql/index.d.ts +3 -3
- package/@types/persisters/persister-libsql/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-partykit-client/index.d.ts +2 -2
- package/@types/persisters/persister-partykit-client/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-pglite/index.d.ts +3 -3
- package/@types/persisters/persister-pglite/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-postgres/index.d.ts +3 -3
- package/@types/persisters/persister-postgres/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/index.d.ts +3 -3
- package/@types/persisters/persister-powersync/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-remote/index.d.ts +2 -2
- package/@types/persisters/persister-remote/with-schemas/index.d.ts +2 -2
- package/@types/persisters/persister-sqlite-bun/index.d.ts +159 -0
- package/@types/persisters/persister-sqlite-bun/with-schemas/index.d.ts +178 -0
- package/@types/persisters/persister-sqlite-wasm/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite-wasm/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite3/index.d.ts +3 -3
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-yjs/index.d.ts +4 -4
- package/@types/persisters/persister-yjs/with-schemas/index.d.ts +4 -4
- package/@types/persisters/with-schemas/index.d.ts +87 -42
- package/@types/synchronizers/index.d.ts +18 -16
- package/@types/synchronizers/synchronizer-broadcast-channel/index.d.ts +3 -3
- package/@types/synchronizers/synchronizer-broadcast-channel/with-schemas/index.d.ts +3 -3
- package/@types/synchronizers/synchronizer-local/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-local/with-schemas/index.d.ts +2 -2
- package/@types/synchronizers/synchronizer-ws-client/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-client/with-schemas/index.d.ts +5 -5
- package/@types/synchronizers/synchronizer-ws-server/index.d.ts +37 -37
- package/@types/synchronizers/synchronizer-ws-server/with-schemas/index.d.ts +37 -37
- package/@types/synchronizers/synchronizer-ws-server-simple/index.d.ts +7 -7
- package/@types/synchronizers/synchronizer-ws-server-simple/with-schemas/index.d.ts +7 -7
- package/@types/synchronizers/with-schemas/index.d.ts +18 -16
- package/@types/ui-react/index.d.ts +2 -2
- package/@types/ui-react/with-schemas/index.d.ts +2 -2
- package/index.js +23 -17
- package/mergeable-store/index.js +23 -17
- package/mergeable-store/with-schemas/index.js +23 -17
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/persisters/index.js +1 -1
- package/min/persisters/index.js.gz +0 -0
- package/min/persisters/persister-automerge/index.js +1 -1
- package/min/persisters/persister-automerge/index.js.gz +0 -0
- package/min/persisters/persister-automerge/with-schemas/index.js +1 -1
- package/min/persisters/persister-automerge/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-browser/index.js +1 -1
- package/min/persisters/persister-browser/index.js.gz +0 -0
- package/min/persisters/persister-browser/with-schemas/index.js +1 -1
- package/min/persisters/persister-browser/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-cr-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/index.js.gz +0 -0
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js +1 -1
- package/min/persisters/persister-durable-object-storage/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/index.js +1 -1
- package/min/persisters/persister-electric-sql/index.js.gz +0 -0
- package/min/persisters/persister-electric-sql/with-schemas/index.js +1 -1
- package/min/persisters/persister-electric-sql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/index.js.gz +0 -0
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js +1 -1
- package/min/persisters/persister-expo-sqlite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-file/index.js +1 -1
- package/min/persisters/persister-file/index.js.gz +0 -0
- package/min/persisters/persister-file/with-schemas/index.js +1 -1
- package/min/persisters/persister-file/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/index.js +1 -1
- package/min/persisters/persister-indexed-db/index.js.gz +0 -0
- package/min/persisters/persister-indexed-db/with-schemas/index.js +1 -1
- package/min/persisters/persister-indexed-db/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-libsql/index.js +1 -1
- package/min/persisters/persister-libsql/index.js.gz +0 -0
- package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
- package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/index.js +1 -1
- package/min/persisters/persister-partykit-client/index.js.gz +0 -0
- package/min/persisters/persister-partykit-client/with-schemas/index.js +1 -1
- package/min/persisters/persister-partykit-client/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-pglite/index.js +1 -1
- package/min/persisters/persister-pglite/index.js.gz +0 -0
- package/min/persisters/persister-pglite/with-schemas/index.js +1 -1
- package/min/persisters/persister-pglite/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-postgres/index.js +1 -1
- package/min/persisters/persister-postgres/index.js.gz +0 -0
- package/min/persisters/persister-postgres/with-schemas/index.js +1 -1
- package/min/persisters/persister-postgres/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-powersync/index.js +1 -1
- package/min/persisters/persister-powersync/index.js.gz +0 -0
- package/min/persisters/persister-powersync/with-schemas/index.js +1 -1
- package/min/persisters/persister-powersync/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-remote/index.js +1 -1
- package/min/persisters/persister-remote/index.js.gz +0 -0
- package/min/persisters/persister-remote/with-schemas/index.js +1 -1
- package/min/persisters/persister-remote/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/index.js +1 -0
- package/min/persisters/persister-sqlite-bun/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js +1 -0
- package/min/persisters/persister-sqlite-bun/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/index.js.gz +0 -0
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite-wasm/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/index.js +1 -1
- package/min/persisters/persister-sqlite3/index.js.gz +0 -0
- package/min/persisters/persister-sqlite3/with-schemas/index.js +1 -1
- package/min/persisters/persister-sqlite3/with-schemas/index.js.gz +0 -0
- package/min/persisters/persister-yjs/index.js +1 -1
- package/min/persisters/persister-yjs/index.js.gz +0 -0
- package/min/persisters/persister-yjs/with-schemas/index.js +1 -1
- package/min/persisters/persister-yjs/with-schemas/index.js.gz +0 -0
- package/min/persisters/with-schemas/index.js +1 -1
- package/min/persisters/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/index.js +1 -1
- package/min/synchronizers/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-client/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/with-schemas/index.js +1 -1
- package/min/synchronizers/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/package.json +46 -6
- package/persisters/index.js +293 -161
- package/persisters/persister-automerge/index.js +55 -50
- package/persisters/persister-automerge/with-schemas/index.js +55 -50
- package/persisters/persister-browser/index.js +56 -55
- package/persisters/persister-browser/with-schemas/index.js +56 -55
- package/persisters/persister-cr-sqlite-wasm/index.js +181 -134
- package/persisters/persister-cr-sqlite-wasm/with-schemas/index.js +181 -134
- package/persisters/persister-durable-object-storage/index.js +58 -53
- package/persisters/persister-durable-object-storage/with-schemas/index.js +58 -53
- package/persisters/persister-electric-sql/index.js +181 -134
- package/persisters/persister-electric-sql/with-schemas/index.js +181 -134
- package/persisters/persister-expo-sqlite/index.js +181 -134
- package/persisters/persister-expo-sqlite/with-schemas/index.js +181 -134
- package/persisters/persister-file/index.js +55 -50
- package/persisters/persister-file/with-schemas/index.js +55 -50
- package/persisters/persister-indexed-db/index.js +82 -78
- package/persisters/persister-indexed-db/with-schemas/index.js +82 -78
- package/persisters/persister-libsql/index.js +182 -135
- package/persisters/persister-libsql/with-schemas/index.js +182 -135
- package/persisters/persister-partykit-client/index.js +56 -51
- package/persisters/persister-partykit-client/with-schemas/index.js +56 -51
- package/persisters/persister-pglite/index.js +299 -173
- package/persisters/persister-pglite/with-schemas/index.js +299 -173
- package/persisters/persister-postgres/index.js +296 -171
- package/persisters/persister-postgres/with-schemas/index.js +296 -171
- package/persisters/persister-powersync/index.js +189 -138
- package/persisters/persister-powersync/with-schemas/index.js +189 -138
- package/persisters/persister-remote/index.js +55 -50
- package/persisters/persister-remote/with-schemas/index.js +55 -50
- package/persisters/persister-sqlite-bun/index.js +1171 -0
- package/persisters/persister-sqlite-bun/with-schemas/index.js +1171 -0
- package/persisters/persister-sqlite-wasm/index.js +182 -135
- package/persisters/persister-sqlite-wasm/with-schemas/index.js +182 -135
- package/persisters/persister-sqlite3/index.js +181 -134
- package/persisters/persister-sqlite3/with-schemas/index.js +181 -134
- package/persisters/persister-yjs/index.js +55 -50
- package/persisters/persister-yjs/with-schemas/index.js +55 -50
- package/persisters/with-schemas/index.js +293 -161
- package/readme.md +2 -2
- package/releases.md +29 -1
- package/store/index.js +20 -15
- package/store/with-schemas/index.js +20 -15
- package/synchronizers/index.js +68 -63
- package/synchronizers/synchronizer-broadcast-channel/index.js +68 -63
- package/synchronizers/synchronizer-broadcast-channel/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-local/index.js +68 -63
- package/synchronizers/synchronizer-local/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-ws-client/index.js +68 -63
- package/synchronizers/synchronizer-ws-client/with-schemas/index.js +68 -63
- package/synchronizers/synchronizer-ws-server/index.js +79 -70
- package/synchronizers/synchronizer-ws-server/with-schemas/index.js +79 -70
- package/synchronizers/synchronizer-ws-server-durable-object/index.js +69 -51
- package/synchronizers/synchronizer-ws-server-durable-object/with-schemas/index.js +69 -51
- package/synchronizers/synchronizer-ws-server-simple/index.js +1 -1
- package/synchronizers/synchronizer-ws-server-simple/with-schemas/index.js +1 -1
- package/synchronizers/with-schemas/index.js +68 -63
- package/ui-react-inspector/index.js +68 -60
- package/ui-react-inspector/with-schemas/index.js +68 -60
- 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
|
|
42
|
-
* against SQLite and PostgreSQL SDKs (or forks) that are not already
|
|
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
|
|
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
|
-
*
|
|
1518
|
-
*
|
|
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: (
|
|
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: (
|
|
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
|
|
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
|
-
*
|
|
2006
|
-
*
|
|
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
|
|
2013
|
-
* to the database.
|
|
2014
|
-
* @param delChangeListener
|
|
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
|
-
*
|
|
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
|