@quereus/plugin-indexeddb 0.3.4 → 0.4.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAA4C;IAEpE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO;IAIP;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;IASpD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;YA0B1B,MAAM;YAaN,uBAAuB;YAoBvB,YAAY;IAkD1B;;;OAGG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqB3C,SAAS;IAmDvB;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDzD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI1C;;OAEG;IACH,WAAW,IAAI,WAAW,GAAG,IAAI;IAIjC;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,kBAAgC,GAAG,cAAc;IAO/F;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;WACU,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY3D"}
|
package/dist/src/manager.js
CHANGED
|
@@ -10,8 +10,7 @@
|
|
|
10
10
|
* - One '__catalog__' object store for DDL metadata
|
|
11
11
|
* - Native cross-table transactions for atomicity
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
const CATALOG_STORE_NAME = '__catalog__';
|
|
13
|
+
import { CATALOG_STORE_NAME } from '@quereus/store';
|
|
15
14
|
/**
|
|
16
15
|
* Singleton manager for a unified IndexedDB database.
|
|
17
16
|
* All tables share this database with separate object stores.
|
package/dist/src/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/provider.d.ts
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
* Uses a unified single-database architecture where all tables share one
|
|
5
5
|
* IndexedDB database with multiple object stores (one per table).
|
|
6
6
|
* This enables cross-table atomic transactions using native IDB transaction support.
|
|
7
|
+
*
|
|
8
|
+
* Storage naming convention:
|
|
9
|
+
* {schema}.{table} - Data store (row data)
|
|
10
|
+
* {schema}.{table}_idx_{name} - Index store (secondary indexes)
|
|
11
|
+
* {schema}.{table}_stats - Stats store (row count, etc.)
|
|
12
|
+
* __catalog__ - Catalog store (DDL metadata)
|
|
7
13
|
*/
|
|
8
14
|
import type { KVStore, KVStoreProvider } from '@quereus/store';
|
|
9
15
|
import { IndexedDBManager } from './manager.js';
|
|
@@ -30,18 +36,21 @@ export declare class IndexedDBProvider implements KVStoreProvider {
|
|
|
30
36
|
private catalogStore;
|
|
31
37
|
private manager;
|
|
32
38
|
constructor(options?: IndexedDBProviderOptions);
|
|
33
|
-
/**
|
|
34
|
-
* Get the object store name for a table.
|
|
35
|
-
*/
|
|
36
|
-
private getStoreKey;
|
|
37
39
|
getStore(schemaName: string, tableName: string, _options?: Record<string, unknown>): Promise<KVStore>;
|
|
40
|
+
getIndexStore(schemaName: string, tableName: string, indexName: string): Promise<KVStore>;
|
|
41
|
+
getStatsStore(schemaName: string, tableName: string): Promise<KVStore>;
|
|
38
42
|
getCatalogStore(): Promise<KVStore>;
|
|
39
43
|
closeStore(schemaName: string, tableName: string): Promise<void>;
|
|
44
|
+
closeIndexStore(schemaName: string, tableName: string, indexName: string): Promise<void>;
|
|
40
45
|
closeAll(): Promise<void>;
|
|
46
|
+
deleteIndexStore(schemaName: string, tableName: string, indexName: string): Promise<void>;
|
|
47
|
+
deleteTableStores(schemaName: string, tableName: string): Promise<void>;
|
|
41
48
|
/**
|
|
42
49
|
* Get the underlying IndexedDB manager for advanced operations.
|
|
43
50
|
*/
|
|
44
51
|
getManager(): IndexedDBManager;
|
|
52
|
+
private getOrCreateStore;
|
|
53
|
+
private closeStoreByName;
|
|
45
54
|
}
|
|
46
55
|
/**
|
|
47
56
|
* Create an IndexedDB provider with the given options.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAS/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,GAAE,wBAA6B;IAK5C,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;IAKzF,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtE,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;IAezB,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;IA2B7E;;OAEG;IACH,UAAU,IAAI,gBAAgB;YAIhB,gBAAgB;YAgBhB,gBAAgB;CAO9B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,iBAAiB,CAE7F"}
|
package/dist/src/provider.js
CHANGED
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
* Uses a unified single-database architecture where all tables share one
|
|
5
5
|
* IndexedDB database with multiple object stores (one per table).
|
|
6
6
|
* This enables cross-table atomic transactions using native IDB transaction support.
|
|
7
|
+
*
|
|
8
|
+
* Storage naming convention:
|
|
9
|
+
* {schema}.{table} - Data store (row data)
|
|
10
|
+
* {schema}.{table}_idx_{name} - Index store (secondary indexes)
|
|
11
|
+
* {schema}.{table}_stats - Stats store (row count, etc.)
|
|
12
|
+
* __catalog__ - Catalog store (DDL metadata)
|
|
7
13
|
*/
|
|
14
|
+
import { buildDataStoreName, buildIndexStoreName, buildStatsStoreName, CATALOG_STORE_NAME, STORE_SUFFIX, } from '@quereus/store';
|
|
8
15
|
import { IndexedDBStore } from './store.js';
|
|
9
16
|
import { IndexedDBManager } from './manager.js';
|
|
10
17
|
/**
|
|
@@ -22,37 +29,31 @@ export class IndexedDBProvider {
|
|
|
22
29
|
this.databaseName = options.databaseName ?? 'quereus';
|
|
23
30
|
this.manager = IndexedDBManager.getInstance(this.databaseName);
|
|
24
31
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Get the object store name for a table.
|
|
27
|
-
*/
|
|
28
|
-
getStoreKey(schemaName, tableName) {
|
|
29
|
-
return `${schemaName}.${tableName}`.toLowerCase();
|
|
30
|
-
}
|
|
31
32
|
async getStore(schemaName, tableName, _options) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return
|
|
33
|
+
const storeName = buildDataStoreName(schemaName, tableName);
|
|
34
|
+
return this.getOrCreateStore(storeName);
|
|
35
|
+
}
|
|
36
|
+
async getIndexStore(schemaName, tableName, indexName) {
|
|
37
|
+
const storeName = buildIndexStoreName(schemaName, tableName, indexName);
|
|
38
|
+
return this.getOrCreateStore(storeName);
|
|
39
|
+
}
|
|
40
|
+
async getStatsStore(schemaName, tableName) {
|
|
41
|
+
const storeName = buildStatsStoreName(schemaName, tableName);
|
|
42
|
+
return this.getOrCreateStore(storeName);
|
|
42
43
|
}
|
|
43
44
|
async getCatalogStore() {
|
|
44
45
|
if (!this.catalogStore) {
|
|
45
|
-
this.catalogStore = await IndexedDBStore.openForTable(this.databaseName,
|
|
46
|
+
this.catalogStore = await IndexedDBStore.openForTable(this.databaseName, CATALOG_STORE_NAME);
|
|
46
47
|
}
|
|
47
48
|
return this.catalogStore;
|
|
48
49
|
}
|
|
49
50
|
async closeStore(schemaName, tableName) {
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
const storeName = buildDataStoreName(schemaName, tableName);
|
|
52
|
+
await this.closeStoreByName(storeName);
|
|
53
|
+
}
|
|
54
|
+
async closeIndexStore(schemaName, tableName, indexName) {
|
|
55
|
+
const storeName = buildIndexStoreName(schemaName, tableName, indexName);
|
|
56
|
+
await this.closeStoreByName(storeName);
|
|
56
57
|
}
|
|
57
58
|
async closeAll() {
|
|
58
59
|
for (const store of this.stores.values()) {
|
|
@@ -66,12 +67,58 @@ export class IndexedDBProvider {
|
|
|
66
67
|
// Close the shared database manager
|
|
67
68
|
await this.manager.close();
|
|
68
69
|
}
|
|
70
|
+
async deleteIndexStore(schemaName, tableName, indexName) {
|
|
71
|
+
const storeName = buildIndexStoreName(schemaName, tableName, indexName);
|
|
72
|
+
await this.closeStoreByName(storeName);
|
|
73
|
+
await this.manager.deleteObjectStore(storeName);
|
|
74
|
+
}
|
|
75
|
+
async deleteTableStores(schemaName, tableName) {
|
|
76
|
+
const dataStoreName = buildDataStoreName(schemaName, tableName);
|
|
77
|
+
const statsStoreName = buildStatsStoreName(schemaName, tableName);
|
|
78
|
+
// Close and delete data store
|
|
79
|
+
await this.closeStoreByName(dataStoreName);
|
|
80
|
+
if (this.manager.hasObjectStore(dataStoreName)) {
|
|
81
|
+
await this.manager.deleteObjectStore(dataStoreName);
|
|
82
|
+
}
|
|
83
|
+
// Close and delete stats store
|
|
84
|
+
await this.closeStoreByName(statsStoreName);
|
|
85
|
+
if (this.manager.hasObjectStore(statsStoreName)) {
|
|
86
|
+
await this.manager.deleteObjectStore(statsStoreName);
|
|
87
|
+
}
|
|
88
|
+
// Find and delete all index stores for this table
|
|
89
|
+
const indexPrefix = `${dataStoreName}${STORE_SUFFIX.INDEX}`;
|
|
90
|
+
const allStores = this.manager.getObjectStoreNames();
|
|
91
|
+
for (const name of allStores) {
|
|
92
|
+
if (name.startsWith(indexPrefix)) {
|
|
93
|
+
await this.closeStoreByName(name);
|
|
94
|
+
await this.manager.deleteObjectStore(name);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
69
98
|
/**
|
|
70
99
|
* Get the underlying IndexedDB manager for advanced operations.
|
|
71
100
|
*/
|
|
72
101
|
getManager() {
|
|
73
102
|
return this.manager;
|
|
74
103
|
}
|
|
104
|
+
async getOrCreateStore(storeName) {
|
|
105
|
+
let store = this.stores.get(storeName);
|
|
106
|
+
if (!store) {
|
|
107
|
+
store = await IndexedDBStore.openForTable(this.databaseName, storeName);
|
|
108
|
+
if (!store) {
|
|
109
|
+
throw new Error(`IndexedDBStore.openForTable returned null/undefined for ${storeName}`);
|
|
110
|
+
}
|
|
111
|
+
this.stores.set(storeName, store);
|
|
112
|
+
}
|
|
113
|
+
return store;
|
|
114
|
+
}
|
|
115
|
+
async closeStoreByName(storeName) {
|
|
116
|
+
const store = this.stores.get(storeName);
|
|
117
|
+
if (store) {
|
|
118
|
+
await store.close();
|
|
119
|
+
this.stores.delete(storeName);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
75
122
|
}
|
|
76
123
|
/**
|
|
77
124
|
* Create an IndexedDB provider with the given options.
|
package/dist/src/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/provider.ts"],"names":[],"mappings":"AAAA
|
|
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-indexeddb",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "IndexedDB storage plugin for Quereus - browser persistent storage",
|
|
6
6
|
"keywords": [
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@quereus/quereus": "^0.10.5",
|
|
42
|
-
"@quereus/store": "^0.
|
|
42
|
+
"@quereus/store": "^0.5.0"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
45
|
"quereus": "^0.24.0"
|