diff --git a/lib/sifter.ts b/lib/sifter.ts index df1af85..d2a3093 100644 --- a/lib/sifter.ts +++ b/lib/sifter.ts @@ -149,6 +149,9 @@ export default class Sifter{ field_count = fields.length, getAttrFn = search.getAttrFn; + if (!field_count) { + return function() { return 1; }; + } /** @@ -161,9 +164,6 @@ export default class Sifter{ */ const scoreObject = (function() { - if (!field_count) { - return function() { return 0; }; - } if (field_count === 1) { return function(token:TToken, data) { diff --git a/test/search.js b/test/search.js index 1b574ea..abab18c 100644 --- a/test/search.js +++ b/test/search.js @@ -287,4 +287,21 @@ describe('#search()', function() { }); + it('empty field', function() { + + var data = [ + {fieldx: 'aaa', fieldy: 'abb'}, + {fieldx: 'abb', fieldy: 'aaa'} + ]; + var sifter = new Sifter(data); + + var result = sifter.search('b', { + fields: [] + }); + + assert.equal(result.items.length,2); + assert.equal(result.items[0].id,0); + }); + + });