idb-bridge: fix deletion
This commit is contained in:
parent
61558e00ae
commit
e8f362ccfe
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "idb-bridge",
|
"name": "idb-bridge",
|
||||||
"version": "0.0.13",
|
"version": "0.0.14",
|
||||||
"description": "IndexedDB implementation that uses SQLite3 as storage",
|
"description": "IndexedDB implementation that uses SQLite3 as storage",
|
||||||
"main": "./build/index.js",
|
"main": "./build/index.js",
|
||||||
"types": "./build/index.d.ts",
|
"types": "./build/index.d.ts",
|
||||||
|
@ -871,14 +871,22 @@ export class MemoryBackend implements Backend {
|
|||||||
} else {
|
} else {
|
||||||
currKey = range.lower;
|
currKey = range.lower;
|
||||||
// We have a range with an lowerOpen lower bound, so don't start
|
// We have a range with an lowerOpen lower bound, so don't start
|
||||||
// deleting the upper bound. Instead start with the next higher key.
|
// deleting the lower bound. Instead start with the next higher key.
|
||||||
if (range.lowerOpen && currKey !== undefined) {
|
if (range.lowerOpen && currKey !== undefined) {
|
||||||
currKey = modifiedData.nextHigherKey(currKey);
|
currKey = modifiedData.nextHigherKey(currKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// invariant: (currKey is undefined) or (currKey is a valid key)
|
// make sure that currKey is either undefined or pointing to an
|
||||||
|
// existing object.
|
||||||
|
let firstValue = modifiedData.get(currKey);
|
||||||
|
if (!firstValue) {
|
||||||
|
if (currKey !== undefined) {
|
||||||
|
currKey = modifiedData.nextHigherKey(currKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// loop invariant: (currKey is undefined) or (currKey is a valid key)
|
||||||
while (true) {
|
while (true) {
|
||||||
if (currKey === undefined) {
|
if (currKey === undefined) {
|
||||||
// nothing more to delete!
|
// nothing more to delete!
|
||||||
|
Loading…
Reference in New Issue
Block a user