aboutsummaryrefslogtreecommitdiff
path: root/modules/result.js
blob: 42419ecbe6e58ca247f25d597c51e387d21b47de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const db = require('../data/search.json').associations;
const list = Object.keys(require('../data/data.json'));
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 && list.includes(result.item.endpoint)) {
            first[findex] = result.item.endpoint
            findex++
        }
    }

    console.log(first);

    return {
        results,
        first,
        exact
    };
}