diff options
Diffstat (limited to 'modules/result.js')
-rw-r--r-- | modules/result.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/result.js b/modules/result.js new file mode 100644 index 0000000..3f94ebb --- /dev/null +++ b/modules/result.js @@ -0,0 +1,41 @@ +const db = require('../data/search.json').associations; +const Fuse = require('fuse.js'); + +module.exports = (query) => { + const fuse = new Fuse(db, { + keys: [ 'title', 'endpoint' ] + }) + + let results = []; + for (let item of fuse.search(query)) { + results.push(item.item.endpoint); + } + + if (fuse.search(query).length > 0) { + exact = fuse.search(query)[0].item.endpoint; + } else { + exact = null; + } + + let first = [ + null, + null, + null + ] + + findex = 0; + for (let result of fuse.search(query)) { + if (!first.includes(result.item.endpoint) && findex < 3) { + first[findex] = result.item.endpoint + findex++ + } + } + + console.log(first); + + return { + results, + first, + exact + }; +}
\ No newline at end of file |