From 26adc906ce12f37475ce1de3fc6f013b0dcc05da Mon Sep 17 00:00:00 2001 From: Adam Laycock Date: Tue, 4 Jul 2017 15:59:01 +0100 Subject: [PATCH] fix index returning undefined --- package.json | 2 +- src/sodb.coffee | 5 ++++- tests/sodb-tests.coffee | 9 +++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6483b42..4d10a60 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sodb", - "version": "1.2.4", + "version": "1.2.5", "description": "Single Object Database", "main": "lib/sodb.js", "scripts": { diff --git a/src/sodb.coffee b/src/sodb.coffee index 26c97ee..473003f 100644 --- a/src/sodb.coffee +++ b/src/sodb.coffee @@ -135,7 +135,10 @@ module.exports = @where.apply(this, arguments)[0] indexLookup: (key) -> - return @unref @objects[@index[key]] + if @objects[@index[key]] + return @unref @objects[@index[key]] + else + return undefined # # unref(entry) diff --git a/tests/sodb-tests.coffee b/tests/sodb-tests.coffee index 7c2a68f..88a743d 100644 --- a/tests/sodb-tests.coffee +++ b/tests/sodb-tests.coffee @@ -88,6 +88,15 @@ for caching in [true, false] expect(result.age).to.equal 10 + it 'should return undefined if no lookup exists', -> + tdb = new sodb({index: 'name'}) + + tdb.add({name: 'dave', age: 10}) + + result = tdb.indexLookup('phil') + + expect(result).to.equal undefined + describe 'compares', -> it 'should support greater than', -> results = db.where({eyes: 2}, {age: {gt: 25}})