@verdant-web/store 4.0.0 → 4.1.0-alpha.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.
Files changed (171) hide show
  1. package/LICENSE +21 -650
  2. package/dist/bundle/index.js +11 -11
  3. package/dist/bundle/index.js.map +4 -4
  4. package/dist/esm/__tests__/fixtures/testStorage.d.ts +1 -2
  5. package/dist/esm/__tests__/fixtures/testStorage.js +3 -5
  6. package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
  7. package/dist/esm/client/Client.d.ts +6 -2
  8. package/dist/esm/client/Client.js +18 -6
  9. package/dist/esm/client/Client.js.map +1 -1
  10. package/dist/esm/client/ClientDescriptor.d.ts +7 -5
  11. package/dist/esm/client/ClientDescriptor.js +18 -4
  12. package/dist/esm/client/ClientDescriptor.js.map +1 -1
  13. package/dist/esm/context/ShutdownHandler.d.ts +8 -0
  14. package/dist/esm/context/ShutdownHandler.js +24 -0
  15. package/dist/esm/context/ShutdownHandler.js.map +1 -0
  16. package/dist/esm/context/context.d.ts +15 -4
  17. package/dist/esm/entities/EntityStore.js +6 -3
  18. package/dist/esm/entities/EntityStore.js.map +1 -1
  19. package/dist/esm/files/EntityFile.d.ts +1 -0
  20. package/dist/esm/files/EntityFile.js +16 -11
  21. package/dist/esm/files/EntityFile.js.map +1 -1
  22. package/dist/esm/files/FileManager.d.ts +1 -3
  23. package/dist/esm/files/FileManager.js +12 -10
  24. package/dist/esm/files/FileManager.js.map +1 -1
  25. package/dist/esm/index.d.ts +4 -5
  26. package/dist/esm/index.js +2 -3
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/internal.d.ts +6 -0
  29. package/dist/esm/internal.js +5 -0
  30. package/dist/esm/internal.js.map +1 -0
  31. package/dist/esm/persistence/MessageCreator.d.ts +3 -1
  32. package/dist/esm/persistence/MessageCreator.js +58 -55
  33. package/dist/esm/persistence/MessageCreator.js.map +1 -1
  34. package/dist/esm/persistence/PersistenceFiles.d.ts +8 -21
  35. package/dist/esm/persistence/PersistenceFiles.js +44 -30
  36. package/dist/esm/persistence/PersistenceFiles.js.map +1 -1
  37. package/dist/esm/persistence/PersistenceMetadata.d.ts +12 -11
  38. package/dist/esm/persistence/PersistenceMetadata.js +201 -137
  39. package/dist/esm/persistence/PersistenceMetadata.js.map +1 -1
  40. package/dist/esm/persistence/PersistenceQueries.d.ts +10 -11
  41. package/dist/esm/persistence/PersistenceQueries.js +33 -5
  42. package/dist/esm/persistence/PersistenceQueries.js.map +1 -1
  43. package/dist/esm/persistence/PersistenceRebaser.d.ts +5 -9
  44. package/dist/esm/persistence/PersistenceRebaser.js +63 -47
  45. package/dist/esm/persistence/PersistenceRebaser.js.map +1 -1
  46. package/dist/esm/persistence/idb/IdbService.d.ts +0 -1
  47. package/dist/esm/persistence/idb/IdbService.js +28 -16
  48. package/dist/esm/persistence/idb/IdbService.js.map +1 -1
  49. package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.d.ts +11 -31
  50. package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.js +31 -36
  51. package/dist/esm/persistence/idb/files/IdbPersistenceFileDb.js.map +1 -1
  52. package/dist/esm/persistence/idb/idbPersistence.d.ts +17 -9
  53. package/dist/esm/persistence/idb/idbPersistence.js +80 -39
  54. package/dist/esm/persistence/idb/idbPersistence.js.map +1 -1
  55. package/dist/esm/persistence/idb/metadata/IdbMetadataDb.d.ts +7 -10
  56. package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js +45 -71
  57. package/dist/esm/persistence/idb/metadata/IdbMetadataDb.js.map +1 -1
  58. package/dist/esm/persistence/idb/metadata/openMetadataDatabase.d.ts +1 -12
  59. package/dist/esm/persistence/idb/metadata/openMetadataDatabase.js +3 -56
  60. package/dist/esm/persistence/idb/metadata/openMetadataDatabase.js.map +1 -1
  61. package/dist/esm/persistence/idb/queries/{IdbQueryDb.d.ts → IdbDocumentDb.d.ts} +7 -13
  62. package/dist/esm/persistence/idb/queries/{IdbQueryDb.js → IdbDocumentDb.js} +15 -32
  63. package/dist/esm/persistence/idb/queries/IdbDocumentDb.js.map +1 -0
  64. package/dist/esm/persistence/idb/queries/migration/db.d.ts +3 -5
  65. package/dist/esm/persistence/idb/queries/migration/db.js +13 -28
  66. package/dist/esm/persistence/idb/queries/migration/db.js.map +1 -1
  67. package/dist/esm/persistence/idb/util.d.ts +8 -4
  68. package/dist/esm/persistence/idb/util.js +64 -21
  69. package/dist/esm/persistence/idb/util.js.map +1 -1
  70. package/dist/esm/persistence/interfaces.d.ts +68 -75
  71. package/dist/esm/persistence/{idb/queries/migration → migration}/engine.d.ts +4 -7
  72. package/dist/esm/persistence/{idb/queries/migration → migration}/engine.js +18 -10
  73. package/dist/esm/persistence/migration/engine.js.map +1 -0
  74. package/dist/esm/persistence/migration/finalize.d.ts +9 -0
  75. package/dist/esm/persistence/migration/finalize.js +75 -0
  76. package/dist/esm/persistence/migration/finalize.js.map +1 -0
  77. package/dist/esm/persistence/migration/migrate.d.ts +12 -0
  78. package/dist/esm/persistence/migration/migrate.js +89 -0
  79. package/dist/esm/persistence/migration/migrate.js.map +1 -0
  80. package/dist/esm/persistence/migration/paths.js.map +1 -0
  81. package/dist/esm/persistence/migration/paths.test.js.map +1 -0
  82. package/dist/esm/persistence/migration/types.d.ts +3 -0
  83. package/dist/esm/persistence/migration/types.js.map +1 -0
  84. package/dist/esm/persistence/persistence.js +25 -15
  85. package/dist/esm/persistence/persistence.js.map +1 -1
  86. package/dist/esm/queries/FindAllQuery.js +1 -1
  87. package/dist/esm/queries/FindAllQuery.js.map +1 -1
  88. package/dist/esm/queries/FindInfiniteQuery.js +2 -2
  89. package/dist/esm/queries/FindInfiniteQuery.js.map +1 -1
  90. package/dist/esm/queries/FindOneQuery.js +1 -1
  91. package/dist/esm/queries/FindOneQuery.js.map +1 -1
  92. package/dist/esm/queries/FindPageQuery.js +1 -1
  93. package/dist/esm/queries/FindPageQuery.js.map +1 -1
  94. package/dist/esm/sync/FileSync.js +3 -3
  95. package/dist/esm/sync/FileSync.js.map +1 -1
  96. package/dist/esm/sync/PushPullSync.d.ts +2 -3
  97. package/dist/esm/sync/PushPullSync.js +4 -2
  98. package/dist/esm/sync/PushPullSync.js.map +1 -1
  99. package/dist/esm/sync/ServerSyncEndpointProvider.d.ts +3 -7
  100. package/dist/esm/sync/ServerSyncEndpointProvider.js +3 -2
  101. package/dist/esm/sync/ServerSyncEndpointProvider.js.map +1 -1
  102. package/dist/esm/sync/Sync.d.ts +6 -1
  103. package/dist/esm/sync/Sync.js +12 -4
  104. package/dist/esm/sync/Sync.js.map +1 -1
  105. package/dist/esm/sync/WebSocketSync.js +10 -4
  106. package/dist/esm/sync/WebSocketSync.js.map +1 -1
  107. package/package.json +6 -2
  108. package/src/__tests__/fixtures/testStorage.ts +6 -6
  109. package/src/client/Client.ts +26 -8
  110. package/src/client/ClientDescriptor.ts +27 -9
  111. package/src/context/ShutdownHandler.ts +26 -0
  112. package/src/context/context.ts +16 -4
  113. package/src/entities/EntityStore.ts +9 -3
  114. package/src/files/EntityFile.ts +11 -6
  115. package/src/files/FileManager.ts +13 -10
  116. package/src/index.ts +8 -9
  117. package/src/internal.ts +27 -0
  118. package/src/persistence/MessageCreator.ts +79 -73
  119. package/src/persistence/PersistenceFiles.ts +57 -31
  120. package/src/persistence/PersistenceMetadata.ts +287 -195
  121. package/src/persistence/PersistenceQueries.ts +45 -9
  122. package/src/persistence/PersistenceRebaser.ts +105 -70
  123. package/src/persistence/idb/IdbService.ts +40 -22
  124. package/src/persistence/idb/files/IdbPersistenceFileDb.ts +30 -62
  125. package/src/persistence/idb/idbPersistence.ts +123 -47
  126. package/src/persistence/idb/metadata/IdbMetadataDb.ts +75 -97
  127. package/src/persistence/idb/metadata/openMetadataDatabase.ts +2 -96
  128. package/src/persistence/idb/queries/{IdbQueryDb.ts → IdbDocumentDb.ts} +17 -57
  129. package/src/persistence/idb/queries/migration/db.ts +20 -39
  130. package/src/persistence/idb/util.ts +84 -21
  131. package/src/persistence/interfaces.ts +89 -90
  132. package/src/persistence/{idb/queries/migration → migration}/engine.ts +30 -15
  133. package/src/persistence/migration/finalize.ts +126 -0
  134. package/src/persistence/migration/migrate.ts +169 -0
  135. package/src/persistence/migration/types.ts +4 -0
  136. package/src/persistence/persistence.ts +37 -14
  137. package/src/queries/FindAllQuery.ts +1 -1
  138. package/src/queries/FindInfiniteQuery.ts +2 -2
  139. package/src/queries/FindOneQuery.ts +1 -1
  140. package/src/queries/FindPageQuery.ts +1 -1
  141. package/src/sync/FileSync.ts +21 -15
  142. package/src/sync/PushPullSync.ts +3 -4
  143. package/src/sync/ServerSyncEndpointProvider.ts +6 -8
  144. package/src/sync/Sync.ts +20 -7
  145. package/src/sync/WebSocketSync.ts +10 -4
  146. package/dist/esm/client/constants.d.ts +0 -1
  147. package/dist/esm/client/constants.js +0 -2
  148. package/dist/esm/client/constants.js.map +0 -1
  149. package/dist/esm/persistence/idb/queries/IdbQueryDb.js.map +0 -1
  150. package/dist/esm/persistence/idb/queries/migration/engine.js.map +0 -1
  151. package/dist/esm/persistence/idb/queries/migration/migrations.d.ts +0 -15
  152. package/dist/esm/persistence/idb/queries/migration/migrations.js +0 -243
  153. package/dist/esm/persistence/idb/queries/migration/migrations.js.map +0 -1
  154. package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.d.ts +0 -8
  155. package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.js +0 -24
  156. package/dist/esm/persistence/idb/queries/migration/openQueryDatabase.js.map +0 -1
  157. package/dist/esm/persistence/idb/queries/migration/paths.js.map +0 -1
  158. package/dist/esm/persistence/idb/queries/migration/paths.test.js.map +0 -1
  159. package/dist/esm/persistence/idb/queries/migration/types.d.ts +0 -6
  160. package/dist/esm/persistence/idb/queries/migration/types.js.map +0 -1
  161. package/src/client/constants.ts +0 -1
  162. package/src/persistence/idb/queries/migration/migrations.ts +0 -345
  163. package/src/persistence/idb/queries/migration/openQueryDatabase.ts +0 -54
  164. package/src/persistence/idb/queries/migration/types.ts +0 -8
  165. /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.d.ts +0 -0
  166. /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.js +0 -0
  167. /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.test.d.ts +0 -0
  168. /package/dist/esm/persistence/{idb/queries/migration → migration}/paths.test.js +0 -0
  169. /package/dist/esm/persistence/{idb/queries/migration → migration}/types.js +0 -0
  170. /package/src/persistence/{idb/queries/migration → migration}/paths.test.ts +0 -0
  171. /package/src/persistence/{idb/queries/migration → migration}/paths.ts +0 -0
@@ -1,21 +1,27 @@
1
1
  import { IdbPersistenceFileDb } from './files/IdbPersistenceFileDb.js';
2
2
  import { IdbMetadataDb } from './metadata/IdbMetadataDb.js';
3
3
  import { openMetadataDatabase } from './metadata/openMetadataDatabase.js';
4
- import { IdbQueryDb } from './queries/IdbQueryDb.js';
5
- import { openQueryDatabase } from './queries/migration/openQueryDatabase.js';
6
- import { PersistenceMetadata } from '../PersistenceMetadata.js';
7
- import { closeDatabase, deleteDatabase, getMetadataDbName, getNamespaceFromDatabaseInfo, getSizesOfAllObjectStores, } from './util.js';
8
- import { getDatabaseVersion } from './queries/migration/db.js';
4
+ import { IdbDocumentDb } from './queries/IdbDocumentDb.js';
5
+ import { closeDatabase, deleteDatabase, getDocumentDbName, getMetadataDbName, getNamespaceFromDatabaseInfo, overwriteDatabase, } from './util.js';
6
+ import { openDatabase, upgradeDatabase } from './queries/migration/db.js';
9
7
  export class IdbPersistence {
10
8
  constructor(indexedDB = window.indexedDB) {
11
9
  this.indexedDB = indexedDB;
10
+ this.name = 'IdbPersistence';
12
11
  this.getNamespaces = async () => {
13
12
  // list all idb database names
14
13
  const dbs = await this.indexedDB.databases();
15
14
  return Array.from(new Set(dbs.map(getNamespaceFromDatabaseInfo).filter((n) => !!n)));
16
15
  };
17
16
  this.getNamespaceVersion = async (namespace) => {
18
- return getDatabaseVersion(this.indexedDB, namespace);
17
+ var _a;
18
+ const databaseName = getDocumentDbName(namespace);
19
+ const dbInfo = await this.indexedDB.databases();
20
+ const existingDb = dbInfo.find((info) => info.name === databaseName);
21
+ if (existingDb) {
22
+ return (_a = existingDb.version) !== null && _a !== void 0 ? _a : 0;
23
+ }
24
+ return 0;
19
25
  };
20
26
  this.deleteNamespace = async (namespace, ctx) => {
21
27
  await Promise.all([
@@ -23,51 +29,86 @@ export class IdbPersistence {
23
29
  deleteDatabase([namespace, 'collections'].join('_'), this.indexedDB),
24
30
  ]);
25
31
  };
32
+ this.openNamespace = async (namespace) => {
33
+ return new IdbPersistenceNamespace(this.indexedDB, namespace);
34
+ };
35
+ this.copyNamespace = async (from, to, ctx) => {
36
+ const fromCtx = Object.assign(Object.assign({}, ctx), { namespace: from });
37
+ const toCtx = Object.assign(Object.assign({}, ctx), { namespace: to });
38
+ const { db: fromMetaDb } = await openMetadataDatabase({
39
+ indexedDB: this.indexedDB,
40
+ log: fromCtx.log,
41
+ namespace: fromCtx.namespace,
42
+ });
43
+ // no need to involve files, as they store all data
44
+ // in the metadata database.
45
+ const fromDocumentsDb = await openDatabase({
46
+ indexedDB: this.indexedDB,
47
+ namespace: fromCtx.namespace,
48
+ version: fromCtx.schema.version,
49
+ log: fromCtx.log,
50
+ });
51
+ fromCtx.log('info', `Copying data from ${fromCtx.namespace} to ${toCtx.namespace}`);
52
+ await overwriteDatabase(fromMetaDb, getMetadataDbName(toCtx.namespace), toCtx, this.indexedDB);
53
+ await overwriteDatabase(fromDocumentsDb, getDocumentDbName(toCtx.namespace), toCtx, this.indexedDB);
54
+ await closeDatabase(fromMetaDb);
55
+ await closeDatabase(fromDocumentsDb);
56
+ };
57
+ }
58
+ }
59
+ class IdbPersistenceNamespace {
60
+ constructor(indexedDB, namespace) {
61
+ this.indexedDB = indexedDB;
62
+ this.namespace = namespace;
26
63
  this.openMetadata = async (ctx) => {
27
64
  const { db } = await openMetadataDatabase({
28
65
  indexedDB: this.indexedDB,
29
66
  log: ctx.log,
30
- namespace: ctx.namespace,
67
+ namespace: this.namespace,
31
68
  });
32
69
  this.metadataDb = db;
70
+ ctx.persistenceShutdownHandler.register(() => closeDatabase(db));
33
71
  return new IdbMetadataDb(db, ctx);
34
72
  };
35
- this.openQueries = async (ctx) => {
36
- const db = await openQueryDatabase({
73
+ this.openDocuments = async (ctx) => {
74
+ const db = await openDatabase({
37
75
  version: ctx.schema.version,
38
- indexedDB: this.indexedDB,
39
- migrations: ctx.migrations,
40
- context: ctx,
41
- });
42
- return new IdbQueryDb(db, ctx);
43
- };
44
- this.copyNamespace = async (from, to, ctx) => {
45
- const fromCtx = Object.assign(Object.assign({}, ctx), { namespace: from, originalNamespace: from });
46
- const fromMetaDb = await this.openMetadata(fromCtx);
47
- const fromMeta = new PersistenceMetadata(fromMetaDb, fromCtx);
48
- const fromQueries = await this.openQueries(Object.assign(Object.assign({}, fromCtx), { meta: fromMeta }));
49
- ctx.log('info', `Copying data from ${from} to ${to}`);
50
- const { db: toMetaDb } = await openMetadataDatabase({
51
76
  indexedDB: this.indexedDB,
52
77
  log: ctx.log,
53
- namespace: to,
78
+ namespace: this.namespace,
54
79
  });
55
- ctx.log('debug', 'Metadata database opened');
56
- await fromMetaDb.cloneTo(toMetaDb);
57
- ctx.log('debug', 'Metadata copied');
58
- const toQueryDb = await openQueryDatabase({
59
- version: ctx.schema.version,
60
- indexedDB: this.indexedDB,
61
- migrations: ctx.migrations,
62
- context: Object.assign(Object.assign({}, ctx), { namespace: to, originalNamespace: to, meta: fromMeta }),
63
- });
64
- await fromQueries.cloneTo(toQueryDb);
65
- ctx.log('debug', 'Indexes copied');
66
- ctx.log('debug', 'New document store stats:', await getSizesOfAllObjectStores(toQueryDb));
67
- await fromMetaDb.dispose();
68
- await closeDatabase(toMetaDb);
69
- await fromQueries.dispose();
70
- await closeDatabase(toQueryDb);
80
+ ctx.persistenceShutdownHandler.register(() => closeDatabase(db));
81
+ return new IdbDocumentDb(db, ctx);
82
+ };
83
+ this.applyMigration = async (ctx, migration) => {
84
+ ctx.log('debug', 'Applying migration', migration.newSchema.version, migration);
85
+ await upgradeDatabase(this.indexedDB, this.namespace, migration.newSchema.version, (transaction, db) => {
86
+ for (const newCollection of migration.addedCollections) {
87
+ db.createObjectStore(newCollection, {
88
+ keyPath: migration.newSchema.collections[newCollection].primaryKey,
89
+ autoIncrement: false,
90
+ });
91
+ }
92
+ for (const collection of migration.allCollections) {
93
+ const store = transaction.objectStore(collection);
94
+ // apply new indexes
95
+ for (const newIndex of migration.addedIndexes[collection] || []) {
96
+ store.createIndex(newIndex.name, newIndex.name, {
97
+ multiEntry: newIndex.multiEntry,
98
+ });
99
+ }
100
+ // remove old indexes
101
+ for (const oldIndex of migration.removedIndexes[collection] || []) {
102
+ store.deleteIndex(oldIndex.name);
103
+ }
104
+ }
105
+ for (const removedCollection of migration.removedCollections) {
106
+ // !! can't delete the store, because old operations that relate to
107
+ // this store may still exist in history. instead, we can clear it out
108
+ // and leave it in place
109
+ transaction.objectStore(removedCollection).clear();
110
+ }
111
+ }, ctx.log);
71
112
  };
72
113
  }
73
114
  openFiles(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"idbPersistence.js","sourceRoot":"","sources":["../../../../src/persistence/idb/idbPersistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idbPersistence.js","sourceRoot":"","sources":["../../../../src/persistence/idb/idbPersistence.ts"],"names":[],"mappings":"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"}
@@ -12,20 +12,18 @@ export type StoredSchema = {
12
12
  type: 'schema';
13
13
  schema: string;
14
14
  };
15
- export declare class IdbMetadataDb extends IdbService implements PersistenceMetadataDb {
15
+ export declare class IdbMetadataDb extends IdbService implements PersistenceMetadataDb<IDBTransaction> {
16
16
  private ctx;
17
17
  constructor(db: IDBDatabase, ctx: Pick<Context, 'log' | 'namespace'>);
18
- transaction: (opts: {
18
+ transaction: <T>(opts: {
19
19
  mode?: 'readwrite' | 'readonly';
20
20
  storeNames: string[];
21
21
  abort?: AbortSignal;
22
- }) => IDBTransaction;
22
+ }, procedure: (tx: IDBTransaction) => Promise<T>) => Promise<T>;
23
23
  getAckInfo: () => Promise<AckInfo>;
24
24
  setGlobalAck: (ack: string) => Promise<void>;
25
- private _creatingLocalReplica;
26
- private cachedLocalReplica;
27
- getLocalReplica: (opts?: CommonQueryOptions) => Promise<LocalReplicaInfo>;
28
- updateLocalReplica: (data: Partial<LocalReplicaInfo>, opts?: CommonQueryOptions) => Promise<void>;
25
+ getLocalReplica: (opts?: CommonQueryOptions) => Promise<LocalReplicaInfo | undefined>;
26
+ updateLocalReplica: (data: LocalReplicaInfo, opts?: CommonQueryOptions) => Promise<void>;
29
27
  iterateDocumentBaselines: (rootOid: string, iterator: (baseline: DocumentBaseline) => void, opts?: CommonQueryOptions) => Promise<void>;
30
28
  iterateCollectionBaselines: (collection: string, iterator: (baseline: DocumentBaseline) => void, opts?: CommonQueryOptions) => Promise<void>;
31
29
  iterateAllBaselines: (iterator: Iterator<DocumentBaseline>, opts: CommonQueryOptions) => Promise<void>;
@@ -38,8 +36,8 @@ export declare class IdbMetadataDb extends IdbService implements PersistenceMeta
38
36
  iterateEntityOperations: (oid: string, iterator: (op: StoredClientOperation) => void, opts?: CommonQueryOptions & {
39
37
  to?: string | null;
40
38
  }) => Promise<void>;
41
- consumeEntityOperations: (oid: string, iterator: Iterator<ClientOperation>, opts?: CommonQueryOptions & {
42
- to?: string | null;
39
+ deleteEntityOperations: (oid: string, opts: CommonQueryOptions & {
40
+ to: string | null;
43
41
  }) => Promise<void>;
44
42
  iterateCollectionOperations: (collection: string, iterator: (op: StoredClientOperation) => void, opts?: CommonQueryOptions) => Promise<void>;
45
43
  iterateLocalOperations: (iterator: (op: StoredClientOperation) => void, opts?: CommonQueryOptions & {
@@ -68,5 +66,4 @@ export declare class IdbMetadataDb extends IdbService implements PersistenceMeta
68
66
  private resetBaselines;
69
67
  private resetOperations;
70
68
  private addOperationIndexes;
71
- private convertOpts;
72
69
  }
@@ -1,16 +1,17 @@
1
1
  import { createCompoundIndexValue, createLowerBoundIndexValue, createUpperBoundIndexValue, getLegacyDotOidSubIdRange, getOidRoot, getOidSubIdRange, } from '@verdant-web/common';
2
2
  import { IdbService } from '../IdbService.js';
3
- import cuid from 'cuid';
4
3
  import { closeDatabase, getSizeOfObjectStore } from '../util.js';
5
4
  export class IdbMetadataDb extends IdbService {
6
5
  constructor(db, ctx) {
7
6
  super(db, ctx);
8
7
  this.ctx = ctx;
9
- this.transaction = (opts) => {
10
- return this.createTransaction(opts.storeNames, {
8
+ this.transaction = async (opts, procedure) => {
9
+ const tx = this.createTransaction(opts.storeNames, {
11
10
  mode: opts.mode,
12
11
  abort: opts.abort,
13
12
  });
13
+ const result = await procedure(tx);
14
+ return result;
14
15
  };
15
16
  this.getAckInfo = async () => {
16
17
  const result = await this.run('info', (store) => store.get('ack'));
@@ -20,7 +21,6 @@ export class IdbMetadataDb extends IdbService {
20
21
  else {
21
22
  return {
22
23
  globalAckTimestamp: null,
23
- type: 'ack',
24
24
  };
25
25
  }
26
26
  };
@@ -28,44 +28,19 @@ export class IdbMetadataDb extends IdbService {
28
28
  await this.run('info', (store) => store.put({ type: 'ack', globalAckTimestamp: ack }), { mode: 'readwrite' });
29
29
  };
30
30
  this.getLocalReplica = async (opts) => {
31
- if (this.cachedLocalReplica) {
32
- return this.cachedLocalReplica;
31
+ return this.run('info', (store) => store.get('localReplicaInfo'), opts);
32
+ };
33
+ this.updateLocalReplica = async (data, opts) => {
34
+ try {
35
+ await this.run('info', (store) => store.put(Object.assign(Object.assign({}, data), { type: 'localReplicaInfo' })), {
36
+ mode: 'readwrite',
37
+ transaction: opts === null || opts === void 0 ? void 0 : opts.transaction,
38
+ });
33
39
  }
34
- const lookup = await this.run('info', (store) => store.get('localReplicaInfo'), this.convertOpts(opts));
35
- // not cached, not in db, create it
36
- if (!lookup) {
37
- // prevent a race condition if get() is called again while we are
38
- // creating the replica info
39
- if (!this._creatingLocalReplica) {
40
- this._creatingLocalReplica = (async () => {
41
- // create our own replica info now
42
- const replicaId = cuid();
43
- const replicaInfo = {
44
- type: 'localReplicaInfo',
45
- id: replicaId,
46
- userId: undefined,
47
- ackedLogicalTime: null,
48
- lastSyncedLogicalTime: null,
49
- };
50
- await this.run('info', (store) => store.put(replicaInfo), {
51
- mode: 'readwrite',
52
- });
53
- this.cachedLocalReplica = replicaInfo;
54
- })();
55
- }
56
- await this._creatingLocalReplica;
57
- return this.getLocalReplica(opts);
40
+ catch (e) {
41
+ this.ctx.log('critical', 'Error updating local replica', data, e);
42
+ throw e;
58
43
  }
59
- this.cachedLocalReplica = lookup;
60
- return lookup;
61
- };
62
- this.updateLocalReplica = async (data, opts = writeOpts) => {
63
- const localReplicaInfo = await this.getLocalReplica(opts);
64
- Object.assign(localReplicaInfo, data);
65
- await this.run('info', (store) => store.put(localReplicaInfo), {
66
- mode: 'readwrite',
67
- });
68
- this.cachedLocalReplica = localReplicaInfo;
69
44
  };
70
45
  this.iterateDocumentBaselines = async (rootOid, iterator, opts) => {
71
46
  await this.iterate('baselines', (store) => {
@@ -78,26 +53,26 @@ export class IdbMetadataDb extends IdbService {
78
53
  store.openCursor(IDBKeyRange.bound(start, end, false, false)),
79
54
  store.openCursor(IDBKeyRange.bound(dotStart, dotEnd, false, false)),
80
55
  ];
81
- }, iterator, this.convertOpts(opts));
56
+ }, iterator, opts);
82
57
  };
83
58
  this.iterateCollectionBaselines = async (collection, iterator, opts) => {
84
59
  await this.iterate('baselines', (store) => {
85
60
  return [
86
61
  store.openCursor(IDBKeyRange.bound(collection, collection + '\uffff', false, false)),
87
62
  ];
88
- }, iterator, this.convertOpts(opts));
63
+ }, iterator, opts);
89
64
  };
90
65
  this.iterateAllBaselines = async (iterator, opts) => {
91
- await this.iterate('baselines', (store) => store.index('timestamp').openCursor(), iterator, this.convertOpts(opts));
66
+ await this.iterate('baselines', (store) => store.index('timestamp').openCursor(), iterator, opts);
92
67
  };
93
68
  this.getBaseline = (oid, opts) => {
94
- return this.run('baselines', (store) => store.get(oid), this.convertOpts(opts));
69
+ return this.run('baselines', (store) => store.get(oid), opts);
95
70
  };
96
71
  this.setBaselines = async (baselines, opts = writeOpts) => {
97
- await this.runAll('baselines', (store) => baselines.map((b) => store.put(b)), this.convertOpts(opts));
72
+ await this.runAll('baselines', (store) => baselines.map((b) => store.put(b)), opts);
98
73
  };
99
74
  this.deleteBaseline = async (oid, opts = writeOpts) => {
100
- await this.run('baselines', (store) => store.delete(oid), this.convertOpts(opts));
75
+ await this.run('baselines', (store) => store.delete(oid), opts);
101
76
  };
102
77
  this.iterateDocumentOperations = (rootOid, iterator, opts) => {
103
78
  return this.iterate('operations', (store) => {
@@ -108,7 +83,7 @@ export class IdbMetadataDb extends IdbService {
108
83
  : createUpperBoundIndexValue(rootOid);
109
84
  const range = IDBKeyRange.bound(start, end, false, false);
110
85
  return index.openCursor(range);
111
- }, iterator, this.convertOpts(opts));
86
+ }, iterator, opts);
112
87
  };
113
88
  this.iterateEntityOperations = (oid, iterator, opts) => {
114
89
  // NOTE: this is simplified from original impl.
@@ -121,9 +96,9 @@ export class IdbMetadataDb extends IdbService {
121
96
  : createUpperBoundIndexValue(oid);
122
97
  const range = IDBKeyRange.bound(start, end, false, false);
123
98
  return store.openCursor(range);
124
- }, iterator, this.convertOpts(opts));
99
+ }, iterator, opts);
125
100
  };
126
- this.consumeEntityOperations = (oid, iterator, opts = writeOpts) => {
101
+ this.deleteEntityOperations = (oid, opts) => {
127
102
  return this.iterate('operations', (store) => {
128
103
  const start = createLowerBoundIndexValue(oid);
129
104
  const end = (opts === null || opts === void 0 ? void 0 : opts.to)
@@ -132,14 +107,13 @@ export class IdbMetadataDb extends IdbService {
132
107
  const range = IDBKeyRange.bound(start, end, false, false);
133
108
  return store.openCursor(range);
134
109
  }, (op, store) => {
135
- iterator(op);
136
110
  store.delete(op.oid_timestamp);
137
- }, this.convertOpts(opts));
111
+ }, opts);
138
112
  };
139
113
  this.iterateCollectionOperations = (collection, iterator, opts) => {
140
114
  return this.iterate('operations', (store) => {
141
115
  return store.openCursor(IDBKeyRange.bound(collection, collection + '\uffff', false, false), 'next');
142
- }, iterator, this.convertOpts(opts));
116
+ }, iterator, opts);
143
117
  };
144
118
  this.iterateLocalOperations = (iterator, opts) => {
145
119
  return this.iterate('operations', (store) => {
@@ -169,14 +143,14 @@ export class IdbMetadataDb extends IdbService {
169
143
  ? IDBKeyRange.upperBound(end, true)
170
144
  : undefined;
171
145
  return store.index('timestamp').openCursor(range, 'next');
172
- }, iterator, this.convertOpts(opts));
146
+ }, iterator, opts);
173
147
  };
174
148
  this.addOperations = async (ops, opts = writeOpts) => {
175
149
  let affected = new Set();
176
150
  await this.runAll('operations', (store) => ops.map((op) => {
177
151
  affected.add(getOidRoot(op.oid));
178
152
  return store.put(this.addOperationIndexes(op));
179
- }), this.convertOpts(opts));
153
+ }), opts);
180
154
  return Array.from(affected);
181
155
  };
182
156
  this.reset = async ({ clearReplica, transaction, } = {}) => {
@@ -202,13 +176,19 @@ export class IdbMetadataDb extends IdbService {
202
176
  transaction: tx,
203
177
  });
204
178
  }
205
- const localInfo = await this.getLocalReplica();
206
- localInfo.ackedLogicalTime = null;
207
- localInfo.lastSyncedLogicalTime = null;
208
- await this.run('info', (store) => store.put(localInfo), {
209
- mode: 'readwrite',
210
- transaction: tx,
211
- });
179
+ else {
180
+ const localInfo = await this.getLocalReplica({
181
+ transaction: tx,
182
+ });
183
+ if (localInfo) {
184
+ localInfo.ackedLogicalTime = null;
185
+ localInfo.lastSyncedLogicalTime = null;
186
+ await this.run('info', (store) => store.put(Object.assign(Object.assign({}, localInfo), { type: 'localReplicaInfo' })), {
187
+ mode: 'readwrite',
188
+ transaction: tx,
189
+ });
190
+ }
191
+ }
212
192
  };
213
193
  this.resetBaselines = async (tx) => {
214
194
  return this.clear('baselines', tx);
@@ -219,16 +199,10 @@ export class IdbMetadataDb extends IdbService {
219
199
  this.addOperationIndexes = (op) => {
220
200
  return Object.assign(Object.assign({}, op), { oid_timestamp: createCompoundIndexValue(op.oid, op.timestamp), l_t: createCompoundIndexValue(op.isLocal, op.timestamp), d_t: createCompoundIndexValue(getOidRoot(op.oid), op.timestamp) });
221
201
  };
222
- this.convertOpts = (opts) => {
223
- if ((opts === null || opts === void 0 ? void 0 : opts.transaction) && !(opts.transaction instanceof IDBTransaction)) {
224
- throw new Error(`Invalid IndexedDB transaction. You cannot mix persistence providers. ${typeof opts.transaction}`);
225
- }
226
- return {
227
- mode: opts === null || opts === void 0 ? void 0 : opts.mode,
228
- transaction: opts === null || opts === void 0 ? void 0 : opts.transaction,
229
- };
230
- };
231
- this.addDispose(() => closeDatabase(db));
202
+ this.addDispose(() => {
203
+ this.ctx.log('info', `Closing metadata DB for`, this.ctx.namespace);
204
+ return closeDatabase(db);
205
+ });
232
206
  }
233
207
  }
234
208
  const writeOpts = { mode: 'readwrite' };
@@ -1 +1 @@
1
- {"version":3,"file":"IdbMetadataDb.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/IdbMetadataDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdbMetadataDb.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/IdbMetadataDb.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,9 @@
1
1
  import { Context } from '../../../context/context.js';
2
2
  export declare const CURRENT_METADATA_VERSION: number;
3
- export declare function openMetadataDatabase({ indexedDB, namespace, log, metadataVersion, }: {
3
+ export declare function openMetadataDatabase({ indexedDB, namespace, log, }: {
4
4
  indexedDB?: IDBFactory;
5
5
  namespace: string;
6
6
  log?: Context['log'];
7
- metadataVersion?: number;
8
- }): Promise<{
9
- wasInitialized: boolean;
10
- db: IDBDatabase;
11
- }>;
12
- export declare function openWIPMetadataDatabase({ wipNamespace, namespace, indexedDB, log, metadataVersion, }: {
13
- indexedDB?: IDBFactory;
14
- namespace: string;
15
- wipNamespace: string;
16
- log?: (...args: any[]) => void;
17
- metadataVersion?: number;
18
7
  }): Promise<{
19
8
  wasInitialized: boolean;
20
9
  db: IDBDatabase;
@@ -10,12 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { replaceLegacyOidsInObject } from '@verdant-web/common';
13
- import { closeDatabase, getMetadataDbName, storeRequestPromise, } from '../util.js';
13
+ import { getMetadataDbName } from '../util.js';
14
14
  const migrations = [version1, version2, version3, version4, version5, version6];
15
15
  export const CURRENT_METADATA_VERSION = migrations.length;
16
- export function openMetadataDatabase({ indexedDB = window.indexedDB, namespace, log, metadataVersion = CURRENT_METADATA_VERSION, }) {
16
+ export function openMetadataDatabase({ indexedDB = window.indexedDB, namespace, log, }) {
17
17
  return new Promise((resolve, reject) => {
18
- const request = indexedDB.open(getMetadataDbName(namespace), metadataVersion);
18
+ const request = indexedDB.open(getMetadataDbName(namespace), CURRENT_METADATA_VERSION);
19
19
  let wasInitialized = false;
20
20
  request.onupgradeneeded = async (event) => {
21
21
  const db = request.result;
@@ -41,59 +41,6 @@ export function openMetadataDatabase({ indexedDB = window.indexedDB, namespace,
41
41
  };
42
42
  });
43
43
  }
44
- export async function openWIPMetadataDatabase({ wipNamespace, namespace, indexedDB, log, metadataVersion, }) {
45
- const result = await openMetadataDatabase({
46
- namespace: wipNamespace,
47
- indexedDB,
48
- log,
49
- metadataVersion,
50
- });
51
- // this WIP database was already set up.
52
- if (!result.wasInitialized) {
53
- return result;
54
- }
55
- log === null || log === void 0 ? void 0 : log('debug', 'Beginning copy of production metadata database to WIP');
56
- // copy all data from production metadata database
57
- const { db: prodDb } = await openMetadataDatabase({
58
- namespace,
59
- indexedDB,
60
- log,
61
- metadataVersion,
62
- });
63
- const tx = prodDb.transaction(['baselines', 'operations', 'info'], 'readonly');
64
- const [baselines, operations, info] = await Promise.all([
65
- storeRequestPromise(tx.objectStore('baselines').getAll()),
66
- storeRequestPromise(tx.objectStore('operations').getAll()),
67
- storeRequestPromise(tx.objectStore('info').getAll()),
68
- ]);
69
- const wipTx = result.db.transaction(['baselines', 'operations', 'info'], 'readwrite');
70
- const wipBaselines = wipTx.objectStore('baselines');
71
- const wipOperations = wipTx.objectStore('operations');
72
- const wipInfo = wipTx.objectStore('info');
73
- for (const baseline of baselines) {
74
- wipBaselines.put(baseline);
75
- }
76
- for (const operation of operations) {
77
- wipOperations.put(operation);
78
- }
79
- for (const infoItem of info) {
80
- wipInfo.put(infoItem);
81
- }
82
- await new Promise((resolve, reject) => {
83
- wipTx.oncomplete = () => {
84
- resolve();
85
- };
86
- wipTx.onerror = (event) => {
87
- reject(event);
88
- };
89
- wipTx.onabort = (event) => {
90
- reject(event);
91
- };
92
- });
93
- await closeDatabase(prodDb);
94
- log === null || log === void 0 ? void 0 : log('debug', 'Finished copy of production metadata database to WIP. Copied:', baselines.length, 'baselines,', operations.length, 'operations');
95
- return result;
96
- }
97
44
  async function version1(db, tx) {
98
45
  const baselinesStore = db.createObjectStore('baselines', {
99
46
  keyPath: 'oid',
@@ -1 +1 @@
1
- {"version":3,"file":"openMetadataDatabase.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/openMetadataDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openMetadataDatabase.js","sourceRoot":"","sources":["../../../../../src/persistence/idb/metadata/openMetadataDatabase.ts"],"names":[],"mappings":"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"}