diff options
Diffstat (limited to 'packages/idb-bridge/src/util')
| -rw-r--r-- | packages/idb-bridge/src/util/extractKey.ts | 2 | ||||
| -rw-r--r-- | packages/idb-bridge/src/util/getIndexKeys.test.ts | 4 | ||||
| -rw-r--r-- | packages/idb-bridge/src/util/getIndexKeys.ts | 3 | 
3 files changed, 5 insertions, 4 deletions
| diff --git a/packages/idb-bridge/src/util/extractKey.ts b/packages/idb-bridge/src/util/extractKey.ts index b768ed92a..6a3d468ef 100644 --- a/packages/idb-bridge/src/util/extractKey.ts +++ b/packages/idb-bridge/src/util/extractKey.ts @@ -59,7 +59,7 @@ export const extractKey = (keyPath: IDBKeyPath | IDBKeyPath[], value: any) => {        remainingKeyPath = null;      } -    if (!object.hasOwnProperty(identifier)) { +    if (object == null || !object.hasOwnProperty(identifier)) {        return;      } diff --git a/packages/idb-bridge/src/util/getIndexKeys.test.ts b/packages/idb-bridge/src/util/getIndexKeys.test.ts index d3bbd519a..1d477de1a 100644 --- a/packages/idb-bridge/src/util/getIndexKeys.test.ts +++ b/packages/idb-bridge/src/util/getIndexKeys.test.ts @@ -26,9 +26,7 @@ test("basics", (t) => {    t.deepEqual(getIndexKeys([1, 2, 3], "", false), [[1, 2, 3]]); -  t.throws(() => { -    getIndexKeys({ foo: 42 }, "foo.bar", false); -  }); +  t.deepEqual(getIndexKeys({ foo: 42 }, "foo.bar", false), []);    t.deepEqual(getIndexKeys({ foo: 42 }, "foo", true), [42]);    t.deepEqual( diff --git a/packages/idb-bridge/src/util/getIndexKeys.ts b/packages/idb-bridge/src/util/getIndexKeys.ts index 17e77e636..c2421f26e 100644 --- a/packages/idb-bridge/src/util/getIndexKeys.ts +++ b/packages/idb-bridge/src/util/getIndexKeys.ts @@ -38,6 +38,9 @@ export function getIndexKeys(      return keys;    } else if (typeof keyPath === "string" || Array.isArray(keyPath)) {      let key = extractKey(keyPath, value); +    if (key == null) { +      return []; +    }      return [valueToKey(key)];    } else {      throw Error(`unsupported key path: ${typeof keyPath}`); | 
