@@ -1,4 +1,5 @@
11import { index } from "../../cache/data";
2+import { glossary } from "../../cache/glossary";
23const levenSort = require("leven-sort");
34
45export default (req, res) => {
@@ -9,6 +10,13 @@ export default (req, res) => {
910 e?.parent.toLowerCase().includes(req.query.q.toLowerCase())
1011 );
1112
13+ const entries = glossary.filter((entry) => {
14+ return (
15+ entry.name.includes(req.query.q.toLowerCase()) ||
16+ entry.symbol.includes(req.query.q)
17+ );
18+ });
19+
1220 results.push(
1321 ...index
1422 .filter((e) => !results.includes(e))
@@ -30,7 +38,8 @@ export default (req, res) => {
3038 "parent",
3139 "headings",
3240 ]);
41+ const sortedEntries = levenSort(entries, req.query.q, ["symbol"]);
3342 res.statusCode = 200;
3443 res.setHeader("Content-Type", "application/json");
35− res.end(JSON.stringify({ results: sorted }));
44+ res.end(JSON.stringify({ results: sorted, glossary: sortedEntries }));
3645};