diff options
Diffstat (limited to 'modules/findpony.js')
-rw-r--r-- | modules/findpony.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/findpony.js b/modules/findpony.js new file mode 100644 index 0000000..9159cc6 --- /dev/null +++ b/modules/findpony.js @@ -0,0 +1,36 @@ +const Fuse = require('fuse.js'); +const assocs = require('../data/search.json').associations; +const list = Object.keys(require('../data/data.json')); + +const db = []; +for (let item of list) { + let data = require('../data/data.json')[item]; + data.name = item; + db.push(data); +} + +module.exports = (query) => { + const fuse = new Fuse(db, { + keys: [ 'name', 'residence', 'occupation', 'kind', 'extract', 'names' ] + }) + + let results = []; + for (let item of fuse.search(query)) { + results.push({ + name: item.item.name, + value: item.item.name + }); + } + + let first = [] + + findex = 0; + for (let result of results) { + if (!first.includes(result) && findex < 15) { + first[findex] = result + findex++ + } + } + + return first; +}
\ No newline at end of file |