@quereus/plugin-react-native-leveldb 0.3.0 → 0.3.1
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/dist/src/provider.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Storage naming convention:
|
|
7
7
|
* {prefix}.{schema}.{table} - Data store (row data)
|
|
8
8
|
* {prefix}.{schema}.{table}_idx_{name} - Index store (secondary indexes)
|
|
9
|
-
* {prefix}.
|
|
9
|
+
* {prefix}.__stats__ - Unified stats store (row counts for all tables)
|
|
10
10
|
* {prefix}.__catalog__ - Catalog store (DDL metadata)
|
|
11
11
|
*/
|
|
12
12
|
import type { KVStore, KVStoreProvider } from '@quereus/store';
|
|
@@ -51,6 +51,7 @@ export declare class ReactNativeLevelDBProvider implements KVStoreProvider {
|
|
|
51
51
|
private createIfMissing;
|
|
52
52
|
private stores;
|
|
53
53
|
private catalogStore;
|
|
54
|
+
private statsStore;
|
|
54
55
|
constructor(options: ReactNativeLevelDBProviderOptions);
|
|
55
56
|
/**
|
|
56
57
|
* Get the database name for a table.
|
|
@@ -63,7 +64,7 @@ export declare class ReactNativeLevelDBProvider implements KVStoreProvider {
|
|
|
63
64
|
private getStoreKey;
|
|
64
65
|
getStore(schemaName: string, tableName: string, _options?: Record<string, unknown>): Promise<KVStore>;
|
|
65
66
|
getIndexStore(schemaName: string, tableName: string, indexName: string): Promise<KVStore>;
|
|
66
|
-
getStatsStore(
|
|
67
|
+
getStatsStore(_schemaName: string, _tableName: string): Promise<KVStore>;
|
|
67
68
|
getCatalogStore(): Promise<KVStore>;
|
|
68
69
|
closeStore(schemaName: string, tableName: string): Promise<void>;
|
|
69
70
|
closeIndexStore(schemaName: string, tableName: string, indexName: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAA2B,KAAK,aAAa,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,iCAAiC;IACjD;;;;OAIG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,UAAU,EAAE,4BAA4B,CAAC;IAEzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IACjE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,YAAY,CAAwC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAA2B,KAAK,aAAa,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,iCAAiC;IACjD;;;;OAIG;IACH,MAAM,EAAE,aAAa,CAAC;IAEtB;;;OAGG;IACH,UAAU,EAAE,4BAA4B,CAAC;IAEzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,YAAW,eAAe;IACjE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,UAAU,CAAwC;gBAE9C,OAAO,EAAE,iCAAiC;IAOtD;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAIb,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzF,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWxE,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAUnC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBzB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzF,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7E,OAAO,CAAC,gBAAgB;YAaV,eAAe;CAO7B;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,iCAAiC,GAAG,0BAA0B,CAEvH"}
|
package/dist/src/provider.js
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
* Storage naming convention:
|
|
7
7
|
* {prefix}.{schema}.{table} - Data store (row data)
|
|
8
8
|
* {prefix}.{schema}.{table}_idx_{name} - Index store (secondary indexes)
|
|
9
|
-
* {prefix}.
|
|
9
|
+
* {prefix}.__stats__ - Unified stats store (row counts for all tables)
|
|
10
10
|
* {prefix}.__catalog__ - Catalog store (DDL metadata)
|
|
11
11
|
*/
|
|
12
|
-
import { STORE_SUFFIX } from '@quereus/store';
|
|
12
|
+
import { STORE_SUFFIX, STATS_STORE_NAME } from '@quereus/store';
|
|
13
13
|
import { ReactNativeLevelDBStore } from './store.js';
|
|
14
14
|
/**
|
|
15
15
|
* React Native LevelDB implementation of KVStoreProvider.
|
|
@@ -24,6 +24,7 @@ export class ReactNativeLevelDBProvider {
|
|
|
24
24
|
createIfMissing;
|
|
25
25
|
stores = new Map();
|
|
26
26
|
catalogStore = null;
|
|
27
|
+
statsStore = null;
|
|
27
28
|
constructor(options) {
|
|
28
29
|
this.openFn = options.openFn;
|
|
29
30
|
this.WriteBatch = options.WriteBatch;
|
|
@@ -52,10 +53,15 @@ export class ReactNativeLevelDBProvider {
|
|
|
52
53
|
const dbName = `${this.getDatabaseName(schemaName, tableName)}${STORE_SUFFIX.INDEX}${indexName}`;
|
|
53
54
|
return this.getOrCreateStore(key, dbName);
|
|
54
55
|
}
|
|
55
|
-
async getStatsStore(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
async getStatsStore(_schemaName, _tableName) {
|
|
57
|
+
// Use the unified __stats__ store for all tables
|
|
58
|
+
if (!this.statsStore) {
|
|
59
|
+
const statsDbName = `${this.databaseName}.${STATS_STORE_NAME}`;
|
|
60
|
+
this.statsStore = ReactNativeLevelDBStore.open(this.openFn, this.WriteBatch, statsDbName, {
|
|
61
|
+
createIfMissing: this.createIfMissing,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return this.statsStore;
|
|
59
65
|
}
|
|
60
66
|
async getCatalogStore() {
|
|
61
67
|
if (!this.catalogStore) {
|
|
@@ -83,6 +89,10 @@ export class ReactNativeLevelDBProvider {
|
|
|
83
89
|
await this.catalogStore.close();
|
|
84
90
|
this.catalogStore = null;
|
|
85
91
|
}
|
|
92
|
+
if (this.statsStore) {
|
|
93
|
+
await this.statsStore.close();
|
|
94
|
+
this.statsStore = null;
|
|
95
|
+
}
|
|
86
96
|
}
|
|
87
97
|
async deleteIndexStore(schemaName, tableName, indexName) {
|
|
88
98
|
const key = `${this.getStoreKey(schemaName, tableName)}${STORE_SUFFIX.INDEX}${indexName}`;
|
|
@@ -93,9 +103,8 @@ export class ReactNativeLevelDBProvider {
|
|
|
93
103
|
// Close data store
|
|
94
104
|
const dataKey = this.getStoreKey(schemaName, tableName);
|
|
95
105
|
await this.closeStoreByKey(dataKey);
|
|
96
|
-
//
|
|
97
|
-
|
|
98
|
-
await this.closeStoreByKey(statsKey);
|
|
106
|
+
// Stats are in the unified __stats__ store, so no need to close a separate store
|
|
107
|
+
// The individual stats entry will be removed by the calling code if needed
|
|
99
108
|
// Close all index stores for this table
|
|
100
109
|
const indexPrefix = `${dataKey}${STORE_SUFFIX.INDEX}`;
|
|
101
110
|
for (const [key, store] of this.stores) {
|
package/dist/src/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quereus/plugin-react-native-leveldb",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React Native LevelDB storage plugin for Quereus - mobile persistent storage",
|
|
6
6
|
"keywords": [
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
}
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@quereus/quereus": "^0.
|
|
45
|
-
"@quereus/store": "^0.5.
|
|
44
|
+
"@quereus/quereus": "^0.12.1",
|
|
45
|
+
"@quereus/store": "^0.5.1",
|
|
46
46
|
"rn-leveldb": "^3.11.0"
|
|
47
47
|
},
|
|
48
48
|
"engines": {
|