From a4e4125cca8644703d7cff527a39c1a5a9842eba Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 21 Jun 2019 19:18:36 +0200 Subject: idb: tests working --- packages/idb-bridge/src/util/makeStoreKeyValue.ts | 24 +++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'packages/idb-bridge/src/util/makeStoreKeyValue.ts') diff --git a/packages/idb-bridge/src/util/makeStoreKeyValue.ts b/packages/idb-bridge/src/util/makeStoreKeyValue.ts index 4850cec26..4f45e0d8a 100644 --- a/packages/idb-bridge/src/util/makeStoreKeyValue.ts +++ b/packages/idb-bridge/src/util/makeStoreKeyValue.ts @@ -63,10 +63,14 @@ export function makeStoreKeyValue( updatedKeyGenerator = currentKeyGenerator + 1; } else if (typeof maybeInlineKey === "number") { key = maybeInlineKey; - updatedKeyGenerator = maybeInlineKey; + if (maybeInlineKey >= currentKeyGenerator) { + updatedKeyGenerator = maybeInlineKey + 1; + } else { + updatedKeyGenerator = currentKeyGenerator; + } } else { key = maybeInlineKey; - updatedKeyGenerator = currentKeyGenerator + 1; + updatedKeyGenerator = currentKeyGenerator; } return { key: key, @@ -84,9 +88,17 @@ export function makeStoreKeyValue( }; } } else { - // (no, no, yes) - // (no, no, no) - throw new DataError(); + if (autoIncrement) { + // (no, no, yes) + return { + key: currentKeyGenerator, + value: value, + updatedKeyGenerator: currentKeyGenerator + 1, + } + } else { + // (no, no, no) + throw new DataError(); + } } } -} \ No newline at end of file +} -- cgit v1.2.3