aboutsummaryrefslogtreecommitdiff
path: root/modules/result.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/result.js')
-rw-r--r--modules/result.js41
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