@edryslabs/genericprovider 1.0.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.
Files changed (63) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +660 -0
  3. package/dist/index.d.ts +323 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +1001 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/lib.d.ts +36 -0
  8. package/dist/lib.d.ts.map +1 -0
  9. package/dist/lib.js +37 -0
  10. package/dist/lib.js.map +1 -0
  11. package/dist/providers/dummy/index.d.ts +226 -0
  12. package/dist/providers/dummy/index.d.ts.map +1 -0
  13. package/dist/providers/dummy/index.js +326 -0
  14. package/dist/providers/dummy/index.js.map +1 -0
  15. package/dist/providers/gun/index.d.ts +269 -0
  16. package/dist/providers/gun/index.d.ts.map +1 -0
  17. package/dist/providers/gun/index.js +683 -0
  18. package/dist/providers/gun/index.js.map +1 -0
  19. package/dist/providers/indexeddb/index.d.ts +161 -0
  20. package/dist/providers/indexeddb/index.d.ts.map +1 -0
  21. package/dist/providers/indexeddb/index.js +369 -0
  22. package/dist/providers/indexeddb/index.js.map +1 -0
  23. package/dist/providers/matrix/index.d.ts +109 -0
  24. package/dist/providers/matrix/index.d.ts.map +1 -0
  25. package/dist/providers/matrix/index.js +329 -0
  26. package/dist/providers/matrix/index.js.map +1 -0
  27. package/dist/providers/nostr/index.d.ts +172 -0
  28. package/dist/providers/nostr/index.d.ts.map +1 -0
  29. package/dist/providers/nostr/index.js +280 -0
  30. package/dist/providers/nostr/index.js.map +1 -0
  31. package/dist/providers/peerjs/index.d.ts +231 -0
  32. package/dist/providers/peerjs/index.d.ts.map +1 -0
  33. package/dist/providers/peerjs/index.js +1038 -0
  34. package/dist/providers/peerjs/index.js.map +1 -0
  35. package/dist/providers/pubnub/index.d.ts +106 -0
  36. package/dist/providers/pubnub/index.d.ts.map +1 -0
  37. package/dist/providers/pubnub/index.js +357 -0
  38. package/dist/providers/pubnub/index.js.map +1 -0
  39. package/dist/providers/simple-peer/index.d.ts +253 -0
  40. package/dist/providers/simple-peer/index.d.ts.map +1 -0
  41. package/dist/providers/simple-peer/index.js +783 -0
  42. package/dist/providers/simple-peer/index.js.map +1 -0
  43. package/dist/providers/supabase/index.d.ts +80 -0
  44. package/dist/providers/supabase/index.d.ts.map +1 -0
  45. package/dist/providers/supabase/index.js +202 -0
  46. package/dist/providers/supabase/index.js.map +1 -0
  47. package/dist/providers/trystero/index.d.ts +181 -0
  48. package/dist/providers/trystero/index.d.ts.map +1 -0
  49. package/dist/providers/trystero/index.js +187 -0
  50. package/dist/providers/trystero/index.js.map +1 -0
  51. package/dist/providers/websocket/index.d.ts +92 -0
  52. package/dist/providers/websocket/index.d.ts.map +1 -0
  53. package/dist/providers/websocket/index.js +272 -0
  54. package/dist/providers/websocket/index.js.map +1 -0
  55. package/dist/sync-monitor.d.ts +90 -0
  56. package/dist/sync-monitor.d.ts.map +1 -0
  57. package/dist/sync-monitor.js +149 -0
  58. package/dist/sync-monitor.js.map +1 -0
  59. package/dist/transport.d.ts +116 -0
  60. package/dist/transport.d.ts.map +1 -0
  61. package/dist/transport.js +2 -0
  62. package/dist/transport.js.map +1 -0
  63. package/package.json +137 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/gun/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * IndexedDB Transport Provider
3
+ *
4
+ * Persistent local storage transport using browser's IndexedDB.
5
+ * Unlike P2P transports, this provider stores document updates locally
6
+ * for persistence across browser sessions.
7
+ *
8
+ * Features:
9
+ * - Automatic persistence of all document updates
10
+ * - Efficient storage and retrieval
11
+ * - Optional compaction to reduce storage size
12
+ * - Works offline (no network required)
13
+ * - Automatic cleanup of old updates
14
+ * - Supports multiple documents/rooms
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { GenericProvider } from 'y-generic'
19
+ * import { IndexedDBTransport } from 'y-generic/providers/indexeddb'
20
+ *
21
+ * const doc = new Y.Doc()
22
+ * const transport = new IndexedDBTransport()
23
+ * const provider = new GenericProvider(doc, transport)
24
+ * await provider.connect({ room: 'my-document' })
25
+ *
26
+ * // Updates are automatically persisted to IndexedDB
27
+ * doc.getText('content').insert(0, 'Hello, World!')
28
+ *
29
+ * // On next page load, updates are automatically restored
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // With automatic compaction every 100 updates
35
+ * const transport = new IndexedDBTransport({
36
+ * compactThreshold: 100,
37
+ * autoCompact: true
38
+ * })
39
+ * ```
40
+ */
41
+ import type { Transport, ConnectionConfig } from '../../transport';
42
+ /**
43
+ * Configuration options for IndexedDB transport.
44
+ */
45
+ export interface IndexedDBTransportOptions {
46
+ /**
47
+ * Database name prefix. The actual database name will be `{prefix}-{room}`.
48
+ * @default 'yjs'
49
+ */
50
+ prefix?: string;
51
+ /**
52
+ * Database version. Increment to trigger schema upgrade.
53
+ * @default 1
54
+ */
55
+ version?: number;
56
+ /**
57
+ * Automatically compact storage when update count reaches this threshold.
58
+ * Set to 0 to disable auto-compaction.
59
+ * @default 0 (disabled)
60
+ */
61
+ compactThreshold?: number;
62
+ /**
63
+ * Enable automatic compaction.
64
+ * @default false
65
+ */
66
+ autoCompact?: boolean;
67
+ /**
68
+ * Enable debug logging.
69
+ * @default false
70
+ */
71
+ debug?: boolean;
72
+ /**
73
+ * Maximum number of updates to store before compaction is required.
74
+ * Prevents unbounded growth of the update log.
75
+ * @default 500
76
+ */
77
+ maxUpdates?: number;
78
+ /**
79
+ * Object store name for storing updates.
80
+ * @default 'updates'
81
+ */
82
+ storeName?: string;
83
+ }
84
+ /**
85
+ * IndexedDB transport implementation.
86
+ * Provides local persistence for Yjs documents using browser IndexedDB.
87
+ */
88
+ export declare class IndexedDBTransport implements Transport {
89
+ private options;
90
+ private db;
91
+ private dbName;
92
+ private _room;
93
+ private messageCallback?;
94
+ private _isConnected;
95
+ private updateCount;
96
+ private isLoading;
97
+ constructor(options?: IndexedDBTransportOptions);
98
+ /**
99
+ * Log debug messages if debug mode is enabled.
100
+ */
101
+ private log;
102
+ /**
103
+ * Check if connected to database.
104
+ */
105
+ get isConnected(): boolean;
106
+ /**
107
+ * Get current room name.
108
+ */
109
+ get room(): string;
110
+ /**
111
+ * Connect to IndexedDB and load existing updates.
112
+ */
113
+ connect(config: ConnectionConfig): Promise<void>;
114
+ /**
115
+ * Open the IndexedDB database.
116
+ */
117
+ private openDatabase;
118
+ /**
119
+ * Disconnect from database.
120
+ */
121
+ disconnect(): void;
122
+ /**
123
+ * Send (store) an update to IndexedDB.
124
+ */
125
+ send(data: Uint8Array): void;
126
+ /**
127
+ * Register callback for incoming messages (loaded updates).
128
+ */
129
+ onMessage(callback: (data: Uint8Array) => void): () => void;
130
+ /**
131
+ * Load all stored updates from database.
132
+ */
133
+ private loadUpdates;
134
+ /**
135
+ * Check if compaction should be triggered.
136
+ */
137
+ private shouldCompact;
138
+ /**
139
+ * Compact the database by merging updates.
140
+ * This reduces storage size by consolidating the update history.
141
+ */
142
+ compact(): Promise<void>;
143
+ /**
144
+ * Clear all stored updates for the current room.
145
+ */
146
+ clear(): Promise<void>;
147
+ /**
148
+ * Get statistics about stored data.
149
+ */
150
+ getStats(): Promise<{
151
+ updateCount: number;
152
+ databaseName: string;
153
+ storeName: string;
154
+ }>;
155
+ /**
156
+ * Delete the entire database.
157
+ * Warning: This is irreversible!
158
+ */
159
+ static deleteDatabase(room: string, prefix?: string): Promise<void>;
160
+ }
161
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/indexeddb/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,eAAe,CAAC,CAA4B;IACpD,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,SAAS,CAAiB;gBAEtB,OAAO,GAAE,yBAA8B;IAYnD;;OAEG;IACH,OAAO,CAAC,GAAG;IAMX;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtD;;OAEG;IACH,OAAO,CAAC,YAAY;IA0CpB;;OAEG;IACH,UAAU,IAAI,IAAI;IAiBlB;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IA8C5B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAe3D;;OAEG;YACW,WAAW;IA6CzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0D9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC;QACxB,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,SAAS,EAAE,MAAM,CAAA;KAClB,CAAC;IA2BF;;;OAGG;WACU,cAAc,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAc,GACrB,OAAO,CAAC,IAAI,CAAC;CAwBjB"}
@@ -0,0 +1,369 @@
1
+ /**
2
+ * IndexedDB Transport Provider
3
+ *
4
+ * Persistent local storage transport using browser's IndexedDB.
5
+ * Unlike P2P transports, this provider stores document updates locally
6
+ * for persistence across browser sessions.
7
+ *
8
+ * Features:
9
+ * - Automatic persistence of all document updates
10
+ * - Efficient storage and retrieval
11
+ * - Optional compaction to reduce storage size
12
+ * - Works offline (no network required)
13
+ * - Automatic cleanup of old updates
14
+ * - Supports multiple documents/rooms
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * import { GenericProvider } from 'y-generic'
19
+ * import { IndexedDBTransport } from 'y-generic/providers/indexeddb'
20
+ *
21
+ * const doc = new Y.Doc()
22
+ * const transport = new IndexedDBTransport()
23
+ * const provider = new GenericProvider(doc, transport)
24
+ * await provider.connect({ room: 'my-document' })
25
+ *
26
+ * // Updates are automatically persisted to IndexedDB
27
+ * doc.getText('content').insert(0, 'Hello, World!')
28
+ *
29
+ * // On next page load, updates are automatically restored
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // With automatic compaction every 100 updates
35
+ * const transport = new IndexedDBTransport({
36
+ * compactThreshold: 100,
37
+ * autoCompact: true
38
+ * })
39
+ * ```
40
+ */
41
+ /**
42
+ * IndexedDB transport implementation.
43
+ * Provides local persistence for Yjs documents using browser IndexedDB.
44
+ */
45
+ export class IndexedDBTransport {
46
+ constructor(options = {}) {
47
+ this.db = null;
48
+ this.dbName = '';
49
+ this._room = '';
50
+ this._isConnected = false;
51
+ this.updateCount = 0;
52
+ this.isLoading = false;
53
+ this.options = {
54
+ prefix: options.prefix ?? 'yjs',
55
+ version: options.version ?? 1,
56
+ compactThreshold: options.compactThreshold ?? 0,
57
+ autoCompact: options.autoCompact ?? false,
58
+ debug: options.debug ?? false,
59
+ maxUpdates: options.maxUpdates ?? 500,
60
+ storeName: options.storeName ?? 'updates',
61
+ };
62
+ }
63
+ /**
64
+ * Log debug messages if debug mode is enabled.
65
+ */
66
+ log(...args) {
67
+ if (this.options.debug) {
68
+ console.log('[IndexedDBTransport]', ...args);
69
+ }
70
+ }
71
+ /**
72
+ * Check if connected to database.
73
+ */
74
+ get isConnected() {
75
+ return this._isConnected;
76
+ }
77
+ /**
78
+ * Get current room name.
79
+ */
80
+ get room() {
81
+ return this._room;
82
+ }
83
+ /**
84
+ * Connect to IndexedDB and load existing updates.
85
+ */
86
+ async connect(config) {
87
+ if (this._isConnected) {
88
+ throw new Error('Already connected to IndexedDB');
89
+ }
90
+ this._room = config.room;
91
+ this.dbName = `${this.options.prefix}-${config.room}`;
92
+ this.log('Connecting to database:', this.dbName);
93
+ await this.openDatabase();
94
+ // Load existing updates if callback is registered
95
+ if (this.messageCallback) {
96
+ await this.loadUpdates();
97
+ }
98
+ this._isConnected = true;
99
+ this.log('Connected successfully');
100
+ }
101
+ /**
102
+ * Open the IndexedDB database.
103
+ */
104
+ openDatabase() {
105
+ return new Promise((resolve, reject) => {
106
+ const request = indexedDB.open(this.dbName, this.options.version);
107
+ request.onerror = () => {
108
+ const error = new Error(`Failed to open IndexedDB: ${request.error?.message}`);
109
+ this.log('Error opening database:', error);
110
+ reject(error);
111
+ };
112
+ request.onsuccess = () => {
113
+ this.db = request.result;
114
+ this.log('Database opened successfully');
115
+ resolve();
116
+ };
117
+ request.onupgradeneeded = (event) => {
118
+ const db = event.target.result;
119
+ this.log('Upgrading database schema...');
120
+ // Create updates object store
121
+ if (!db.objectStoreNames.contains(this.options.storeName)) {
122
+ const store = db.createObjectStore(this.options.storeName, {
123
+ autoIncrement: true,
124
+ });
125
+ // Create index for timestamps (useful for cleanup)
126
+ store.createIndex('timestamp', 'timestamp', { unique: false });
127
+ this.log('Created object store:', this.options.storeName);
128
+ }
129
+ // Create metadata store for compaction info
130
+ if (!db.objectStoreNames.contains('metadata')) {
131
+ db.createObjectStore('metadata');
132
+ this.log('Created metadata store');
133
+ }
134
+ };
135
+ });
136
+ }
137
+ /**
138
+ * Disconnect from database.
139
+ */
140
+ disconnect() {
141
+ if (!this._isConnected)
142
+ return;
143
+ this.log('Disconnecting...');
144
+ if (this.db) {
145
+ this.db.close();
146
+ this.db = null;
147
+ }
148
+ this._isConnected = false;
149
+ this.messageCallback = undefined;
150
+ this.updateCount = 0;
151
+ this.log('Disconnected');
152
+ }
153
+ /**
154
+ * Send (store) an update to IndexedDB.
155
+ */
156
+ send(data) {
157
+ if (!this.db) {
158
+ this.log('Cannot send: database not connected');
159
+ return;
160
+ }
161
+ // Don't store updates while loading
162
+ if (this.isLoading) {
163
+ return;
164
+ }
165
+ try {
166
+ const transaction = this.db.transaction([this.options.storeName], 'readwrite');
167
+ const store = transaction.objectStore(this.options.storeName);
168
+ // Store update with timestamp
169
+ const record = {
170
+ update: data,
171
+ timestamp: Date.now(),
172
+ };
173
+ const request = store.add(record);
174
+ request.onsuccess = () => {
175
+ this.updateCount++;
176
+ this.log('Stored update, count:', this.updateCount);
177
+ // Check if we need to compact
178
+ if (this.shouldCompact()) {
179
+ this.compact().catch((err) => {
180
+ this.log('Compaction failed:', err);
181
+ });
182
+ }
183
+ };
184
+ request.onerror = () => {
185
+ this.log('Failed to store update:', request.error);
186
+ };
187
+ }
188
+ catch (error) {
189
+ this.log('Error storing update:', error);
190
+ }
191
+ }
192
+ /**
193
+ * Register callback for incoming messages (loaded updates).
194
+ */
195
+ onMessage(callback) {
196
+ this.messageCallback = callback;
197
+ // If already connected, load updates immediately
198
+ if (this._isConnected && !this.isLoading) {
199
+ this.loadUpdates().catch((err) => {
200
+ this.log('Failed to load updates:', err);
201
+ });
202
+ }
203
+ return () => {
204
+ this.messageCallback = undefined;
205
+ };
206
+ }
207
+ /**
208
+ * Load all stored updates from database.
209
+ */
210
+ async loadUpdates() {
211
+ if (!this.db || !this.messageCallback) {
212
+ return;
213
+ }
214
+ this.isLoading = true;
215
+ this.log('Loading updates from database...');
216
+ return new Promise((resolve, reject) => {
217
+ const transaction = this.db.transaction([this.options.storeName], 'readonly');
218
+ const store = transaction.objectStore(this.options.storeName);
219
+ const request = store.getAll();
220
+ request.onsuccess = () => {
221
+ const records = request.result;
222
+ this.log(`Loaded ${records.length} updates`);
223
+ this.updateCount = records.length;
224
+ // Apply all updates
225
+ records.forEach((record) => {
226
+ this.messageCallback?.(record.update);
227
+ });
228
+ this.isLoading = false;
229
+ resolve();
230
+ };
231
+ request.onerror = () => {
232
+ this.isLoading = false;
233
+ const error = new Error(`Failed to load updates: ${request.error?.message}`);
234
+ this.log('Error loading updates:', error);
235
+ reject(error);
236
+ };
237
+ });
238
+ }
239
+ /**
240
+ * Check if compaction should be triggered.
241
+ */
242
+ shouldCompact() {
243
+ if (!this.options.autoCompact) {
244
+ return false;
245
+ }
246
+ if (this.options.compactThreshold > 0) {
247
+ return this.updateCount >= this.options.compactThreshold;
248
+ }
249
+ return this.updateCount >= this.options.maxUpdates;
250
+ }
251
+ /**
252
+ * Compact the database by merging updates.
253
+ * This reduces storage size by consolidating the update history.
254
+ */
255
+ async compact() {
256
+ if (!this.db) {
257
+ throw new Error('Database not connected');
258
+ }
259
+ this.log('Starting compaction...');
260
+ // Get document state from the provider
261
+ // Note: This requires the provider to expose the document
262
+ // For now, we'll just clear old updates and keep recent ones
263
+ return new Promise((resolve, reject) => {
264
+ const transaction = this.db.transaction([this.options.storeName], 'readwrite');
265
+ const store = transaction.objectStore(this.options.storeName);
266
+ // Get all keys
267
+ const getAllKeysRequest = store.getAllKeys();
268
+ getAllKeysRequest.onsuccess = () => {
269
+ const keys = getAllKeysRequest.result;
270
+ if (keys.length <= 1) {
271
+ this.log('No compaction needed');
272
+ resolve();
273
+ return;
274
+ }
275
+ // Keep only the most recent 10% of updates
276
+ const keepCount = Math.max(1, Math.floor(keys.length * 0.1));
277
+ const deleteKeys = keys.slice(0, keys.length - keepCount);
278
+ this.log(`Compacting: deleting ${deleteKeys.length} old updates`);
279
+ let deleted = 0;
280
+ deleteKeys.forEach((key) => {
281
+ const deleteRequest = store.delete(key);
282
+ deleteRequest.onsuccess = () => {
283
+ deleted++;
284
+ if (deleted === deleteKeys.length) {
285
+ this.updateCount = keepCount;
286
+ this.log('Compaction complete, remaining updates:', keepCount);
287
+ resolve();
288
+ }
289
+ };
290
+ });
291
+ };
292
+ getAllKeysRequest.onerror = () => {
293
+ const error = new Error('Failed to get keys for compaction');
294
+ this.log('Compaction error:', error);
295
+ reject(error);
296
+ };
297
+ });
298
+ }
299
+ /**
300
+ * Clear all stored updates for the current room.
301
+ */
302
+ async clear() {
303
+ if (!this.db) {
304
+ throw new Error('Database not connected');
305
+ }
306
+ this.log('Clearing all updates...');
307
+ return new Promise((resolve, reject) => {
308
+ const transaction = this.db.transaction([this.options.storeName], 'readwrite');
309
+ const store = transaction.objectStore(this.options.storeName);
310
+ const request = store.clear();
311
+ request.onsuccess = () => {
312
+ this.updateCount = 0;
313
+ this.log('All updates cleared');
314
+ resolve();
315
+ };
316
+ request.onerror = () => {
317
+ const error = new Error('Failed to clear updates');
318
+ this.log('Clear error:', error);
319
+ reject(error);
320
+ };
321
+ });
322
+ }
323
+ /**
324
+ * Get statistics about stored data.
325
+ */
326
+ async getStats() {
327
+ if (!this.db) {
328
+ throw new Error('Database not connected');
329
+ }
330
+ return new Promise((resolve, reject) => {
331
+ const transaction = this.db.transaction([this.options.storeName], 'readonly');
332
+ const store = transaction.objectStore(this.options.storeName);
333
+ const request = store.count();
334
+ request.onsuccess = () => {
335
+ resolve({
336
+ updateCount: request.result,
337
+ databaseName: this.dbName,
338
+ storeName: this.options.storeName,
339
+ });
340
+ };
341
+ request.onerror = () => {
342
+ reject(new Error('Failed to get stats'));
343
+ };
344
+ });
345
+ }
346
+ /**
347
+ * Delete the entire database.
348
+ * Warning: This is irreversible!
349
+ */
350
+ static async deleteDatabase(room, prefix = 'yjs') {
351
+ const dbName = `${prefix}-${room}`;
352
+ return new Promise((resolve, reject) => {
353
+ const request = indexedDB.deleteDatabase(dbName);
354
+ request.onsuccess = () => {
355
+ console.log('[IndexedDBTransport] Deleted database:', dbName);
356
+ resolve();
357
+ };
358
+ request.onerror = () => {
359
+ const error = new Error(`Failed to delete database: ${dbName}`);
360
+ console.error('[IndexedDBTransport]', error);
361
+ reject(error);
362
+ };
363
+ request.onblocked = () => {
364
+ console.warn('[IndexedDBTransport] Database deletion blocked. Close all connections first.');
365
+ };
366
+ });
367
+ }
368
+ }
369
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/indexeddb/index.ts"],"names":[],"mappings":"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"}