diff options
Diffstat (limited to 'packages/idb-bridge/src/MemoryBackend.ts')
-rw-r--r-- | packages/idb-bridge/src/MemoryBackend.ts | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/idb-bridge/src/MemoryBackend.ts b/packages/idb-bridge/src/MemoryBackend.ts index 786fa4cf6..694daacfa 100644 --- a/packages/idb-bridge/src/MemoryBackend.ts +++ b/packages/idb-bridge/src/MemoryBackend.ts @@ -640,7 +640,16 @@ export class MemoryBackend implements Backend { objectStoreProperties.indexes.push(indexName); schema.indexes[indexName] = indexProperties; - // FIXME: build index from existing object store! + const objectStore = myConn.objectStoreMap[objectStoreName]; + if (!objectStore) { + throw Error("object store does not exist"); + } + + const storeData = objectStore.modifiedData || objectStore.originalData; + + storeData.forEach((v, k) => { + this.insertIntoIndex(newIndex, k, v.value, indexProperties); + }); } async deleteRecord( |