@preference-sl/pref-viewer 2.10.0-beta.24 → 2.10.0-beta.25

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/gltf-storage.js +10 -37
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@preference-sl/pref-viewer",
3
- "version": "2.10.0-beta.24",
3
+ "version": "2.10.0-beta.25",
4
4
  "description": "Web Component to preview GLTF models with Babylon.js",
5
5
  "author": "Alex Moreno Palacio <amoreno@preference.es>",
6
6
  "scripts": {
@@ -12,52 +12,25 @@ function _getDbOrThrow() {
12
12
  }
13
13
 
14
14
  // --- internal helpers -------------------------------------------------------
15
-
16
- function _createStoreIfMissing(db, storeName) {
17
- if (!db.objectStoreNames.contains(storeName)) {
18
- const store = db.createObjectStore(storeName, { keyPath: "id" });
19
- store.createIndex("expirationTimeStamp", "expirationTimeStamp", { unique: false });
20
- }
21
- }
22
-
23
- /**
24
- * Opens a DB without specifying a version. If the required object store doesn't
25
- * exist, it re-opens with (currentVersion + 1) to create it.
26
- */
27
15
  function _openEnsuringStore(dbName, storeName) {
28
16
  return new Promise((resolve, reject) => {
29
- const open = indexedDB.open(dbName);
17
+ const open = indexedDB.open(dbName, 5);
30
18
 
31
19
  open.onblocked = () => reject(new Error("Open blocked by another tab or worker"));
32
20
  open.onerror = () => reject(open.error);
33
-
34
- open.onupgradeneeded = (e) => {
35
- // First creation path (brand-new DB)
36
- const db = e.target.result;
37
- _createStoreIfMissing(db, storeName);
38
- };
39
-
40
21
  open.onsuccess = (e) => {
41
- const db = e.target.result;
22
+ resolve(e.target.result);
23
+ }
24
+ open.onupgradeneeded = (ev) => {
25
+ const upgradeDb = ev.target.result;
42
26
 
43
- // If the store exists, we're done.
44
- if (db.objectStoreNames.contains(storeName)) {
45
- resolve(db);
46
- return;
27
+ // Eliminar la object store si ya existe
28
+ if (upgradeDb.objectStoreNames.contains(storeName)) {
29
+ upgradeDb.deleteObjectStore(storeName);
47
30
  }
48
31
 
49
- // Otherwise bump version just enough to add the store.
50
- const nextVersion = db.version + 1;
51
- db.close();
52
-
53
- const upgrade = indexedDB.open(dbName, nextVersion);
54
- upgrade.onblocked = () => reject(new Error("Upgrade blocked by another tab or worker"));
55
- upgrade.onerror = () => reject(upgrade.error);
56
- upgrade.onupgradeneeded = (ev) => {
57
- const upDb = ev.target.result;
58
- _createStoreIfMissing(upDb, storeName);
59
- };
60
- upgrade.onsuccess = (ev) => resolve(ev.target.result);
32
+ const store = upgradeDb.createObjectStore(storeName, { keyPath: 'id' });
33
+ store.createIndex('expirationTimeStamp', 'expirationTimeStamp', { unique: false });
61
34
  };
62
35
  });
63
36
  }