@verdant-web/store 2.1.0 → 2.3.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 (105) hide show
  1. package/dist/cjs/DocumentManager.js +4 -4
  2. package/dist/cjs/DocumentManager.js.map +1 -1
  3. package/dist/cjs/client/Client.js +4 -16
  4. package/dist/cjs/client/Client.js.map +1 -1
  5. package/dist/cjs/client/ClientDescriptor.d.ts +1 -0
  6. package/dist/cjs/client/ClientDescriptor.js +7 -3
  7. package/dist/cjs/client/ClientDescriptor.js.map +1 -1
  8. package/dist/cjs/files/utils.js +1 -1
  9. package/dist/cjs/files/utils.js.map +1 -1
  10. package/dist/cjs/idb.d.ts +1 -0
  11. package/dist/cjs/idb.js +17 -1
  12. package/dist/cjs/idb.js.map +1 -1
  13. package/dist/cjs/index.d.ts +1 -0
  14. package/dist/cjs/index.js +3 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/migration/db.d.ts +8 -0
  17. package/dist/cjs/migration/db.js +109 -0
  18. package/dist/cjs/migration/db.js.map +1 -0
  19. package/dist/cjs/migration/errors.d.ts +5 -0
  20. package/dist/cjs/migration/errors.js +12 -0
  21. package/dist/cjs/migration/errors.js.map +1 -0
  22. package/dist/cjs/{openDocumentDatabase.d.ts → migration/openDatabase.d.ts} +2 -2
  23. package/dist/cjs/{openDocumentDatabase.js → migration/openDatabase.js} +52 -155
  24. package/dist/cjs/migration/openDatabase.js.map +1 -0
  25. package/dist/cjs/migration/paths.d.ts +6 -0
  26. package/dist/cjs/migration/paths.js +53 -0
  27. package/dist/cjs/migration/paths.js.map +1 -0
  28. package/dist/cjs/migration/paths.test.d.ts +1 -0
  29. package/dist/cjs/migration/paths.test.js +91 -0
  30. package/dist/cjs/migration/paths.test.js.map +1 -0
  31. package/dist/cjs/queries2/GetQuery.js +1 -1
  32. package/dist/cjs/queries2/GetQuery.js.map +1 -1
  33. package/dist/cjs/reactives/DocumentFamiliyCache.d.ts +5 -1
  34. package/dist/cjs/reactives/DocumentFamiliyCache.js +11 -7
  35. package/dist/cjs/reactives/DocumentFamiliyCache.js.map +1 -1
  36. package/dist/cjs/reactives/Entity.d.ts +0 -1
  37. package/dist/cjs/reactives/Entity.js +4 -6
  38. package/dist/cjs/reactives/Entity.js.map +1 -1
  39. package/dist/cjs/sync/Heartbeat.js +1 -1
  40. package/dist/cjs/sync/Heartbeat.js.map +1 -1
  41. package/dist/cjs/sync/WebSocketSync.js +6 -0
  42. package/dist/cjs/sync/WebSocketSync.js.map +1 -1
  43. package/dist/esm/DocumentManager.js +4 -4
  44. package/dist/esm/DocumentManager.js.map +1 -1
  45. package/dist/esm/client/Client.js +3 -15
  46. package/dist/esm/client/Client.js.map +1 -1
  47. package/dist/esm/client/ClientDescriptor.d.ts +1 -0
  48. package/dist/esm/client/ClientDescriptor.js +6 -2
  49. package/dist/esm/client/ClientDescriptor.js.map +1 -1
  50. package/dist/esm/files/utils.js +1 -1
  51. package/dist/esm/files/utils.js.map +1 -1
  52. package/dist/esm/idb.d.ts +1 -0
  53. package/dist/esm/idb.js +15 -0
  54. package/dist/esm/idb.js.map +1 -1
  55. package/dist/esm/index.d.ts +1 -0
  56. package/dist/esm/index.js +1 -0
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/esm/migration/db.d.ts +8 -0
  59. package/dist/esm/migration/db.js +101 -0
  60. package/dist/esm/migration/db.js.map +1 -0
  61. package/dist/esm/migration/errors.d.ts +5 -0
  62. package/dist/esm/migration/errors.js +8 -0
  63. package/dist/esm/migration/errors.js.map +1 -0
  64. package/dist/esm/{openDocumentDatabase.d.ts → migration/openDatabase.d.ts} +2 -2
  65. package/dist/esm/{openDocumentDatabase.js → migration/openDatabase.js} +44 -147
  66. package/dist/esm/migration/openDatabase.js.map +1 -0
  67. package/dist/esm/migration/paths.d.ts +6 -0
  68. package/dist/esm/migration/paths.js +49 -0
  69. package/dist/esm/migration/paths.js.map +1 -0
  70. package/dist/esm/migration/paths.test.d.ts +1 -0
  71. package/dist/esm/migration/paths.test.js +89 -0
  72. package/dist/esm/migration/paths.test.js.map +1 -0
  73. package/dist/esm/queries2/GetQuery.js +1 -1
  74. package/dist/esm/queries2/GetQuery.js.map +1 -1
  75. package/dist/esm/reactives/DocumentFamiliyCache.d.ts +5 -1
  76. package/dist/esm/reactives/DocumentFamiliyCache.js +11 -7
  77. package/dist/esm/reactives/DocumentFamiliyCache.js.map +1 -1
  78. package/dist/esm/reactives/Entity.d.ts +0 -1
  79. package/dist/esm/reactives/Entity.js +4 -6
  80. package/dist/esm/reactives/Entity.js.map +1 -1
  81. package/dist/esm/sync/Heartbeat.js +1 -1
  82. package/dist/esm/sync/Heartbeat.js.map +1 -1
  83. package/dist/esm/sync/WebSocketSync.js +6 -0
  84. package/dist/esm/sync/WebSocketSync.js.map +1 -1
  85. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  86. package/dist/tsconfig.tsbuildinfo +1 -1
  87. package/package.json +2 -2
  88. package/src/DocumentManager.ts +4 -6
  89. package/src/client/Client.ts +7 -17
  90. package/src/client/ClientDescriptor.ts +7 -3
  91. package/src/files/utils.ts +1 -1
  92. package/src/idb.ts +19 -0
  93. package/src/index.ts +1 -0
  94. package/src/migration/db.ts +147 -0
  95. package/src/migration/errors.ts +7 -0
  96. package/src/{openDocumentDatabase.ts → migration/openDatabase.ts} +73 -206
  97. package/src/migration/paths.test.ts +93 -0
  98. package/src/migration/paths.ts +73 -0
  99. package/src/queries2/GetQuery.ts +1 -1
  100. package/src/reactives/DocumentFamiliyCache.ts +31 -9
  101. package/src/reactives/Entity.ts +2 -9
  102. package/src/sync/Heartbeat.ts +1 -1
  103. package/src/sync/WebSocketSync.ts +9 -0
  104. package/dist/cjs/openDocumentDatabase.js.map +0 -1
  105. package/dist/esm/openDocumentDatabase.js.map +0 -1
@@ -2,18 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.openDocumentDatabase = void 0;
4
4
  const common_1 = require("@verdant-web/common");
5
- const dbQueries_js_1 = require("./queries2/dbQueries.js");
5
+ const dbQueries_js_1 = require("../queries2/dbQueries.js");
6
+ const db_js_1 = require("./db.js");
7
+ const paths_js_1 = require("./paths.js");
6
8
  const globalIDB = typeof window !== 'undefined' ? window.indexedDB : undefined;
7
9
  async function openDocumentDatabase({ version, indexedDB = globalIDB, migrations, meta, context, }) {
8
- const currentVersion = await getDatabaseVersion(indexedDB, context.namespace, version, context.log);
10
+ const currentVersion = await (0, db_js_1.getDatabaseVersion)(indexedDB, context.namespace, version, context.log);
9
11
  context.log('Current database version:', currentVersion, 'target version:', version);
10
- const toRunVersions = (0, common_1.migrationRange)(currentVersion, version);
11
- const toRun = toRunVersions.map((ver) => migrations.find((m) => m.version === ver));
12
- if (toRun.some((m) => !m)) {
13
- throw new Error(`No migration found for version(s) ${toRunVersions}`);
14
- }
12
+ const toRun = (0, paths_js_1.getMigrationPath)({
13
+ currentVersion,
14
+ targetVersion: version,
15
+ migrations,
16
+ });
15
17
  if (toRun.length > 0) {
16
- await acquireLock(context.namespace, async () => {
18
+ await (0, db_js_1.acquireLock)(context.namespace, async () => {
17
19
  // now the fun part
18
20
  for (const migration of toRun) {
19
21
  // special case: if this is the version 1 migration, we have no pre-existing database
@@ -30,7 +32,7 @@ async function openDocumentDatabase({ version, indexedDB = globalIDB, migrations
30
32
  else {
31
33
  // open the database with the current (old) version for this migration. this should
32
34
  // align with the database's current version.
33
- const originalDatabase = await openDatabase(indexedDB, context.namespace, migration.oldSchema.version);
35
+ const originalDatabase = await (0, db_js_1.openDatabase)(indexedDB, context.namespace, migration.oldSchema.version);
34
36
  // this will only write to our metadata store via operations!
35
37
  engine = getMigrationEngine({
36
38
  meta,
@@ -42,9 +44,9 @@ async function openDocumentDatabase({ version, indexedDB = globalIDB, migrations
42
44
  await Promise.all(engine.awaitables);
43
45
  // now we have to open the database again with the next version and
44
46
  // make the appropriate schema changes during the upgrade.
45
- await closeDatabase(originalDatabase);
47
+ await (0, db_js_1.closeDatabase)(originalDatabase);
46
48
  }
47
- await upgradeDatabase(indexedDB, context.namespace, migration.newSchema.version, (transaction, db) => {
49
+ await (0, db_js_1.upgradeDatabase)(indexedDB, context.namespace, migration.newSchema.version, (transaction, db) => {
48
50
  for (const newCollection of migration.addedCollections) {
49
51
  db.createObjectStore(newCollection, {
50
52
  keyPath: migration.newSchema.collections[newCollection].primaryKey,
@@ -73,14 +75,14 @@ async function openDocumentDatabase({ version, indexedDB = globalIDB, migrations
73
75
  }
74
76
  }, context.log);
75
77
  // once the schema is ready, we can write back the migrated documents
76
- const upgradedDatabase = await openDatabase(indexedDB, context.namespace, migration.newSchema.version);
78
+ const upgradedDatabase = await (0, db_js_1.openDatabase)(indexedDB, context.namespace, migration.newSchema.version);
77
79
  for (const collection of migration.allCollections) {
78
80
  // first step is to read in all the keys we need to rewrite
79
81
  const documentReadTransaction = upgradedDatabase.transaction(collection, 'readwrite');
80
82
  const readStore = documentReadTransaction.objectStore(collection);
81
83
  const keys = await getAllKeys(readStore);
82
84
  // map the keys to OIDs
83
- const oids = keys.map((key) => (0, common_1.createOid)(collection, `${key}`, []));
85
+ const oids = keys.map((key) => (0, common_1.createOid)(collection, `${key}`));
84
86
  oids.push(...engine.newOids.filter((oid) => {
85
87
  return (0, common_1.decomposeOid)(oid).collection === collection;
86
88
  }));
@@ -119,7 +121,7 @@ async function openDocumentDatabase({ version, indexedDB = globalIDB, migrations
119
121
  }
120
122
  }));
121
123
  }
122
- await closeDatabase(upgradedDatabase);
124
+ await (0, db_js_1.closeDatabase)(upgradedDatabase);
123
125
  context.log(`
124
126
  ⬆️ v${migration.newSchema.version} Migration complete. Here's the rundown:
125
127
  - Added collections: ${migration.addedCollections.join(', ')}
@@ -136,67 +138,14 @@ async function openDocumentDatabase({ version, indexedDB = globalIDB, migrations
136
138
  `);
137
139
  }
138
140
  });
139
- return openDatabase(indexedDB, context.namespace, version);
141
+ return (0, db_js_1.openDatabase)(indexedDB, context.namespace, version);
140
142
  }
141
143
  else {
142
144
  // just open the database
143
- return openDatabase(indexedDB, context.namespace, version);
145
+ return (0, db_js_1.openDatabase)(indexedDB, context.namespace, version);
144
146
  }
145
147
  }
146
148
  exports.openDocumentDatabase = openDocumentDatabase;
147
- async function getDatabaseVersion(indexedDB, namespace, version, log) {
148
- function openAndGetVersion(resolve, reject) {
149
- let currentVersion;
150
- let database;
151
- const request = indexedDB.open([namespace, 'collections'].join('_'), version);
152
- request.onupgradeneeded = async (event) => {
153
- currentVersion = event.oldVersion;
154
- const transaction = request.transaction;
155
- database = request.result;
156
- transaction.abort();
157
- };
158
- request.onsuccess = (event) => {
159
- resolve([request.result.version, request.result]);
160
- };
161
- request.onblocked = (event) => {
162
- // retry if blocked
163
- log === null || log === void 0 ? void 0 : log('Database blocked, waiting...');
164
- // setTimeout(() => {
165
- // openAndGetVersion(resolve, reject);
166
- // }, 200);
167
- };
168
- request.onerror = (event) => {
169
- // FIXME: this fails if the code is older than the local database
170
- resolve([currentVersion, database]);
171
- };
172
- }
173
- const [currentVersion, db] = await new Promise(openAndGetVersion);
174
- await closeDatabase(db);
175
- return currentVersion;
176
- }
177
- async function openDatabase(indexedDb, namespace, version) {
178
- const db = await new Promise((resolve, reject) => {
179
- const request = indexedDb.open([namespace, 'collections'].join('_'), version);
180
- request.onupgradeneeded = async (event) => {
181
- const transaction = request.transaction;
182
- transaction.abort();
183
- reject(new Error('Migration error: database version changed while migrating'));
184
- };
185
- request.onsuccess = (event) => {
186
- resolve(request.result);
187
- };
188
- request.onblocked = (event) => {
189
- reject(new Error('Migration error: database blocked'));
190
- };
191
- request.onerror = (event) => {
192
- reject(new Error('Migration error: database error'));
193
- };
194
- });
195
- db.addEventListener('versionchange', (event) => {
196
- db.close();
197
- });
198
- return db;
199
- }
200
149
  function getMigrationMutations({ migration, meta, getMigrationNow, newOids, }) {
201
150
  return migration.allCollections.reduce((acc, collectionName) => {
202
151
  acc[collectionName] = {
@@ -204,13 +153,13 @@ function getMigrationMutations({ migration, meta, getMigrationNow, newOids, }) {
204
153
  // add defaults
205
154
  (0, common_1.addFieldDefaults)(migration.newSchema.collections[collectionName], doc);
206
155
  const primaryKey = doc[migration.newSchema.collections[collectionName].primaryKey];
207
- const oid = (0, common_1.createOid)(collectionName, primaryKey, []);
156
+ const oid = (0, common_1.createOid)(collectionName, primaryKey);
208
157
  newOids.push(oid);
209
158
  await meta.insertLocalOperation((0, common_1.initialToPatches)(doc, oid, getMigrationNow));
210
159
  return doc;
211
160
  },
212
161
  delete: (id) => {
213
- const oid = (0, common_1.createOid)(collectionName, id, []);
162
+ const oid = (0, common_1.createOid)(collectionName, id);
214
163
  return meta.insertLocalOperation([
215
164
  {
216
165
  oid,
@@ -223,17 +172,13 @@ function getMigrationMutations({ migration, meta, getMigrationNow, newOids, }) {
223
172
  return acc;
224
173
  }, {});
225
174
  }
226
- function getMigrationEngine({ meta, migration, context, }) {
227
- function getMigrationNow() {
228
- return meta.time.zero(migration.version);
229
- }
230
- const newOids = new Array();
231
- const queries = migration.oldCollections.reduce((acc, collectionName) => {
175
+ function getMigrationQueries({ migration, context, meta, }) {
176
+ return migration.oldCollections.reduce((acc, collectionName) => {
232
177
  acc[collectionName] = {
233
178
  get: async (id) => {
234
- const oid = (0, common_1.createOid)(collectionName, id, []);
179
+ const oid = (0, common_1.createOid)(collectionName, id);
235
180
  const doc = await meta.getDocumentSnapshot(oid);
236
- (0, common_1.removeOidsFromAllSubObjects)(doc);
181
+ // removeOidsFromAllSubObjects(doc);
237
182
  return doc;
238
183
  },
239
184
  findOne: async (filter) => {
@@ -245,7 +190,7 @@ function getMigrationEngine({ meta, migration, context, }) {
245
190
  if (!oid)
246
191
  return null;
247
192
  const doc = await meta.getDocumentSnapshot(oid);
248
- (0, common_1.removeOidsFromAllSubObjects)(doc);
193
+ // removeOidsFromAllSubObjects(doc);
249
194
  return doc;
250
195
  },
251
196
  findAll: async (filter) => {
@@ -255,12 +200,23 @@ function getMigrationEngine({ meta, migration, context, }) {
255
200
  context,
256
201
  });
257
202
  const docs = await Promise.all(oids.map((oid) => meta.getDocumentSnapshot(oid)));
258
- docs.forEach((doc) => (0, common_1.removeOidsFromAllSubObjects)(doc));
203
+ // docs.forEach((doc) => removeOidsFromAllSubObjects(doc));
259
204
  return docs;
260
205
  },
261
206
  };
262
207
  return acc;
263
208
  }, {});
209
+ }
210
+ function getMigrationEngine({ meta, migration, context, }) {
211
+ function getMigrationNow() {
212
+ return meta.time.zero(migration.version);
213
+ }
214
+ const newOids = new Array();
215
+ const queries = getMigrationQueries({
216
+ migration,
217
+ context,
218
+ meta,
219
+ });
264
220
  const mutations = getMigrationMutations({
265
221
  migration,
266
222
  getMigrationNow,
@@ -269,38 +225,22 @@ function getMigrationEngine({ meta, migration, context, }) {
269
225
  });
270
226
  const awaitables = new Array();
271
227
  const engine = {
228
+ log: context.log,
272
229
  newOids,
273
230
  migrate: async (collection, strategy) => {
274
- const docs = await new Promise((resolve, reject) => {
275
- const transaction = context.documentDb.transaction(collection, 'readonly');
276
- const store = transaction.objectStore(collection);
277
- const cursorReq = store.openCursor();
278
- const documentsToMigrate = [];
279
- cursorReq.onsuccess = async (event) => {
280
- const cursor = cursorReq.result;
281
- if (cursor) {
282
- documentsToMigrate.push(cursor.value);
283
- cursor.continue();
284
- }
285
- else {
286
- resolve(documentsToMigrate);
287
- }
288
- };
289
- cursorReq.onerror = (event) => {
290
- reject(cursorReq.error);
291
- };
292
- });
231
+ const docs = await queries[collection].findAll();
293
232
  await Promise.all(docs.map(async (doc) => {
233
+ (0, common_1.assert)((0, common_1.hasOid)(doc), `Document is missing an OID: ${JSON.stringify(doc)}`);
294
234
  const original = (0, common_1.cloneDeep)(doc);
295
235
  // remove any indexes before computing the diff
296
- const collectionSpec = migration.oldSchema.collections[collection];
297
- const indexKeys = [
298
- ...Object.keys(collectionSpec.synthetics || {}),
299
- ...Object.keys(collectionSpec.compounds || {}),
300
- ];
301
- indexKeys.forEach((key) => {
302
- delete doc[key];
303
- });
236
+ // const collectionSpec = migration.oldSchema.collections[collection];
237
+ // const indexKeys = [
238
+ // ...Object.keys(collectionSpec.synthetics || {}),
239
+ // ...Object.keys(collectionSpec.compounds || {}),
240
+ // ];
241
+ // indexKeys.forEach((key) => {
242
+ // delete doc[key];
243
+ // });
304
244
  // @ts-ignore - excessive type resolution
305
245
  const newValue = await strategy(doc);
306
246
  if (newValue) {
@@ -310,7 +250,7 @@ function getMigrationEngine({ meta, migration, context, }) {
310
250
  (0, common_1.removeOidPropertiesFromAllSubObjects)(original);
311
251
  (0, common_1.removeOidPropertiesFromAllSubObjects)(newValue);
312
252
  (0, common_1.assignOidsToAllSubObjects)(newValue);
313
- const patches = (0, common_1.diffToPatches)(original, newValue, getMigrationNow, [], undefined, [], {
253
+ const patches = (0, common_1.diffToPatches)(original, newValue, getMigrationNow, undefined, [], {
314
254
  mergeUnknownObjects: true,
315
255
  });
316
256
  if (patches.length > 0) {
@@ -325,7 +265,7 @@ function getMigrationEngine({ meta, migration, context, }) {
325
265
  };
326
266
  return engine;
327
267
  }
328
- function getVersion1MigrationEngine({ meta, migration, }) {
268
+ function getVersion1MigrationEngine({ meta, migration, context, }) {
329
269
  function getMigrationNow() {
330
270
  return meta.time.zero(migration.version);
331
271
  }
@@ -342,6 +282,7 @@ function getVersion1MigrationEngine({ meta, migration, }) {
342
282
  meta,
343
283
  });
344
284
  const engine = {
285
+ log: context.log,
345
286
  newOids,
346
287
  migrate: (collection, strategy) => {
347
288
  throw new Error('Calling migrate() in version 1 migrations is not supported! Use version 1 migrations to seed initial data using mutations.');
@@ -352,41 +293,6 @@ function getVersion1MigrationEngine({ meta, migration, }) {
352
293
  };
353
294
  return engine;
354
295
  }
355
- async function closeDatabase(db) {
356
- db.close();
357
- // FIXME: this isn't right!!!!
358
- await new Promise((resolve) => resolve());
359
- }
360
- async function upgradeDatabase(indexedDb, namespace, version, upgrader, log) {
361
- function openAndUpgrade(resolve, reject) {
362
- const request = indexedDb.open([namespace, 'collections'].join('_'), version);
363
- let wasUpgraded = false;
364
- request.onupgradeneeded = (event) => {
365
- const transaction = request.transaction;
366
- upgrader(transaction, request.result, event);
367
- wasUpgraded = true;
368
- };
369
- request.onsuccess = (event) => {
370
- request.result.close();
371
- if (wasUpgraded) {
372
- resolve();
373
- }
374
- else {
375
- reject(new Error('Database was not upgraded when a version change was expected'));
376
- }
377
- };
378
- request.onerror = (event) => {
379
- reject(request.error || new Error('Unknown error'));
380
- };
381
- request.onblocked = (event) => {
382
- log === null || log === void 0 ? void 0 : log('Database upgrade blocked, waiting...');
383
- // setTimeout(() => {
384
- // openAndUpgrade(resolve, reject);
385
- // }, 200);
386
- };
387
- }
388
- return new Promise(openAndUpgrade);
389
- }
390
296
  async function getAllKeys(store) {
391
297
  return new Promise((resolve, reject) => {
392
298
  const request = store.getAllKeys();
@@ -420,13 +326,4 @@ async function putView(store, view) {
420
326
  };
421
327
  });
422
328
  }
423
- async function acquireLock(namespace, procedure) {
424
- if (typeof navigator !== 'undefined' && navigator.locks) {
425
- await navigator.locks.request(`lo-fi_migration_${namespace}`, procedure);
426
- }
427
- else {
428
- // TODO: is there a fallback?
429
- await procedure();
430
- }
431
- }
432
- //# sourceMappingURL=openDocumentDatabase.js.map
329
+ //# sourceMappingURL=openDatabase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openDatabase.js","sourceRoot":"","sources":["../../../src/migration/openDatabase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Migration } from '@verdant-web/common';
2
+ export declare function getMigrationPath({ currentVersion, targetVersion, migrations, }: {
3
+ currentVersion: number;
4
+ targetVersion: number;
5
+ migrations: Migration[];
6
+ }): Migration<any, any>[];
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMigrationPath = void 0;
4
+ const errors_js_1 = require("./errors.js");
5
+ function getMigrationPath({ currentVersion, targetVersion, migrations, }) {
6
+ const path = getNextPathStep({
7
+ currentVersion,
8
+ targetVersion,
9
+ migrations,
10
+ });
11
+ if (!path) {
12
+ throw new errors_js_1.MigrationPathError(`No migration path found from ${currentVersion} to ${targetVersion}! This is a bug. If you're seeing this, contact the developer and provide them with the full contents of this message.`);
13
+ }
14
+ return path;
15
+ }
16
+ exports.getMigrationPath = getMigrationPath;
17
+ function getNextPathStep({ currentVersion, targetVersion, migrations, }) {
18
+ if (currentVersion === targetVersion) {
19
+ return [];
20
+ }
21
+ const fromHere = migrations
22
+ .filter((m) => m.oldSchema.version === currentVersion)
23
+ .sort((a, b) => b.newSchema.version - a.newSchema.version);
24
+ // keep trying next steps, starting from the largest step,
25
+ // until we find one that leads to the target version down the line
26
+ while (fromHere.length > 0) {
27
+ const next = fromHere.shift();
28
+ // this one goes too far (probably never relevant, but still)
29
+ if (next.newSchema.version > targetVersion) {
30
+ return null;
31
+ }
32
+ // exact match - we're done, return the path
33
+ if (next.newSchema.version === targetVersion) {
34
+ return [next];
35
+ }
36
+ // look ahead a down the line. do we reach the target? if so,
37
+ // we choose this path.
38
+ const nextPath = getNextPathStep({
39
+ currentVersion: next.newSchema.version,
40
+ targetVersion,
41
+ migrations,
42
+ });
43
+ if (nextPath) {
44
+ return [next, ...nextPath];
45
+ }
46
+ // otherwise, try the next one with a smaller increment
47
+ }
48
+ // no paths from here match at all! if another layer is calling this one,
49
+ // it will fallback to its next longest step. otherwise there may
50
+ // be no paths at all...
51
+ return null;
52
+ }
53
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/migration/paths.ts"],"names":[],"mappings":";;;AACA,2CAAiD;AAEjD,SAAgB,gBAAgB,CAAC,EAChC,cAAc,EACd,aAAa,EACb,UAAU,GAKV;IACA,MAAM,IAAI,GAAG,eAAe,CAAC;QAC5B,cAAc;QACd,aAAa;QACb,UAAU;KACV,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,EAAE;QACV,MAAM,IAAI,8BAAkB,CAC3B,gCAAgC,cAAc,OAAO,aAAa,wHAAwH,CAC1L,CAAC;KACF;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AApBD,4CAoBC;AAED,SAAS,eAAe,CAAC,EACxB,cAAc,EACd,aAAa,EACb,UAAU,GAKV;IACA,IAAI,cAAc,KAAK,aAAa,EAAE;QACrC,OAAO,EAAE,CAAC;KACV;IAED,MAAM,QAAQ,GAAG,UAAU;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,cAAc,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAE5D,0DAA0D;IAC1D,mEAAmE;IACnE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAG,CAAC;QAC/B,6DAA6D;QAC7D,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,aAAa,EAAE;YAC3C,OAAO,IAAI,CAAC;SACZ;QACD,4CAA4C;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,aAAa,EAAE;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;SACd;QACD,6DAA6D;QAC7D,uBAAuB;QACvB,MAAM,QAAQ,GAAG,eAAe,CAAC;YAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YACtC,aAAa;YACb,UAAU;SACV,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE;YACb,OAAO,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC;SAC3B;QAED,uDAAuD;KACvD;IAED,yEAAyE;IACzE,iEAAiE;IACjE,wBAAwB;IACxB,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const paths_js_1 = require("./paths.js");
5
+ function mockMigration(from, to) {
6
+ return {
7
+ oldSchema: {
8
+ version: from,
9
+ },
10
+ newSchema: {
11
+ version: to,
12
+ },
13
+ };
14
+ }
15
+ (0, vitest_1.describe)('migration pathfinding', () => {
16
+ (0, vitest_1.it)('should follow a linear chain', () => {
17
+ const migrations = [
18
+ mockMigration(0, 1),
19
+ mockMigration(1, 2),
20
+ mockMigration(2, 3),
21
+ mockMigration(3, 4),
22
+ mockMigration(4, 5),
23
+ ];
24
+ const path = (0, paths_js_1.getMigrationPath)({
25
+ currentVersion: 0,
26
+ targetVersion: 5,
27
+ migrations,
28
+ });
29
+ (0, vitest_1.expect)(path).toEqual(migrations);
30
+ });
31
+ (0, vitest_1.it)('should choose the shortest path', () => {
32
+ const migrations = [
33
+ mockMigration(0, 1),
34
+ mockMigration(1, 2),
35
+ mockMigration(2, 3),
36
+ mockMigration(3, 4),
37
+ mockMigration(4, 5),
38
+ mockMigration(0, 5),
39
+ ];
40
+ const path = (0, paths_js_1.getMigrationPath)({
41
+ currentVersion: 0,
42
+ targetVersion: 5,
43
+ migrations,
44
+ });
45
+ (0, vitest_1.expect)(path).toEqual([mockMigration(0, 5)]);
46
+ });
47
+ (0, vitest_1.it)('should be resilient to dead ends', () => {
48
+ const migrations = [
49
+ mockMigration(0, 1),
50
+ mockMigration(1, 2),
51
+ mockMigration(4, 5),
52
+ mockMigration(5, 6),
53
+ mockMigration(1, 4),
54
+ ];
55
+ const path = (0, paths_js_1.getMigrationPath)({
56
+ currentVersion: 0,
57
+ targetVersion: 6,
58
+ migrations,
59
+ });
60
+ (0, vitest_1.expect)(path).toEqual([
61
+ mockMigration(0, 1),
62
+ mockMigration(1, 4),
63
+ mockMigration(4, 5),
64
+ mockMigration(5, 6),
65
+ ]);
66
+ });
67
+ (0, vitest_1.it)('should error when no path exists to target', () => {
68
+ const migrations = [
69
+ mockMigration(0, 1),
70
+ mockMigration(2, 3),
71
+ mockMigration(3, 4),
72
+ mockMigration(4, 5),
73
+ mockMigration(5, 6),
74
+ ];
75
+ (0, vitest_1.expect)(() => {
76
+ (0, paths_js_1.getMigrationPath)({
77
+ currentVersion: 0,
78
+ targetVersion: 6,
79
+ migrations,
80
+ });
81
+ }).toThrow();
82
+ });
83
+ (0, vitest_1.it)('should return empty when versions are the same', () => {
84
+ (0, vitest_1.expect)((0, paths_js_1.getMigrationPath)({
85
+ currentVersion: 1,
86
+ targetVersion: 1,
87
+ migrations: [],
88
+ })).toEqual([]);
89
+ });
90
+ });
91
+ //# sourceMappingURL=paths.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.test.js","sourceRoot":"","sources":["../../../src/migration/paths.test.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ class GetQuery extends BaseQuery_js_1.BaseQuery {
22
22
  const value = await this.hydrate(this.oid);
23
23
  this.setValue(value);
24
24
  };
25
- this.oid = (0, common_1.createOid)(rest.collection, id, []);
25
+ this.oid = (0, common_1.createOid)(rest.collection, id);
26
26
  this.hydrate = hydrate;
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GetQuery.js","sourceRoot":"","sources":["../../../src/queries2/GetQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,iDAA6D;AAE7D,MAAa,QAAY,SAAQ,wBAAmB;IAInD,YAAY,EAOmC;YAPnC,EACX,EAAE,EACF,OAAO,OAKuC,EAJ3C,IAAI,cAHI,iBAIX,CADO;QAKP,KAAK,iBACJ,OAAO,EAAE,IAAI,IACV,IAAI,EACN,CAAC;QAKM,QAAG,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAPD,IAAI,CAAC,GAAG,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CAMD;AAxBD,4BAwBC"}
1
+ {"version":3,"file":"GetQuery.js","sourceRoot":"","sources":["../../../src/queries2/GetQuery.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAgD;AAChD,iDAA6D;AAE7D,MAAa,QAAY,SAAQ,wBAAmB;IAInD,YAAY,EAOmC;YAPnC,EACX,EAAE,EACF,OAAO,OAKuC,EAJ3C,IAAI,cAHI,iBAIX,CADO;QAKP,KAAK,iBACJ,OAAO,EAAE,IAAI,IACV,IAAI,EACN,CAAC;QAKM,QAAG,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAPD,IAAI,CAAC,GAAG,GAAG,IAAA,kBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CAMD;AAxBD,4BAwBC"}
@@ -42,7 +42,11 @@ export declare class DocumentFamilyCache extends EventSubscriber<Record<`change:
42
42
  deleted: boolean;
43
43
  lastTimestamp: number | null;
44
44
  };
45
- computeConfirmedView: (oid: ObjectIdentifier) => any;
45
+ computeConfirmedView: (oid: ObjectIdentifier) => {
46
+ view: any;
47
+ deleted: boolean;
48
+ empty: boolean;
49
+ };
46
50
  getLastTimestamp: (oid: ObjectIdentifier) => number | null;
47
51
  getEntity: (oid: ObjectIdentifier, schema: StorageFieldSchema, parent?: Entity) => Entity;
48
52
  hasOid: (oid: ObjectIdentifier) => boolean;
@@ -118,11 +118,15 @@ class DocumentFamilyCache extends common_1.EventSubscriber {
118
118
  }
119
119
  }
120
120
  }
121
- return { view, deleted };
121
+ return { view, deleted, empty: !view && !operations.length };
122
122
  };
123
123
  this.computeView = (oid) => {
124
124
  const confirmed = this.computeConfirmedView(oid);
125
125
  const unconfirmedOperations = this.unconfirmedOperationsMap.get(oid) || [];
126
+ if (confirmed.empty && !unconfirmedOperations.length) {
127
+ this.context.log('debug', `Entity ${oid} accessed with no local data at all`);
128
+ return { view: null, deleted: true, lastTimestamp: null };
129
+ }
126
130
  let { view, deleted } = this.applyOperations(confirmed.view, confirmed.deleted, unconfirmedOperations);
127
131
  if (view) {
128
132
  (0, common_1.assignOid)(view, oid);
@@ -132,15 +136,15 @@ class DocumentFamilyCache extends common_1.EventSubscriber {
132
136
  this.computeConfirmedView = (oid) => {
133
137
  const baseline = this.baselinesMap.get(oid);
134
138
  const operations = this.operationsMap.get(oid) || [];
135
- let view = (0, common_1.cloneDeep)((baseline === null || baseline === void 0 ? void 0 : baseline.snapshot) || undefined);
136
- view = this.applyOperations(view, !view, operations, baseline === null || baseline === void 0 ? void 0 : baseline.timestamp);
137
- if (view) {
138
- (0, common_1.assignOid)(view, oid);
139
+ const snapshot = (0, common_1.cloneDeep)((baseline === null || baseline === void 0 ? void 0 : baseline.snapshot) || undefined);
140
+ const result = this.applyOperations(snapshot, !snapshot, operations, baseline === null || baseline === void 0 ? void 0 : baseline.timestamp);
141
+ if (result.view) {
142
+ (0, common_1.assignOid)(result.view, oid);
139
143
  }
140
- if (!baseline && !operations.length) {
144
+ if (result.empty) {
141
145
  this.context.log('debug', `Entity ${oid} accessed with no confirmed data`);
142
146
  }
143
- return view;
147
+ return result;
144
148
  };
145
149
  this.getLastTimestamp = (oid) => {
146
150
  var _a, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentFamiliyCache.js","sourceRoot":"","sources":["../../../src/reactives/DocumentFamiliyCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentFamiliyCache.js","sourceRoot":"","sources":["../../../src/reactives/DocumentFamiliyCache.ts"],"names":[],"mappings":"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"}