From bd76ccf08a42c1dde9d785a7e4382d6c353dd946 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Mon, 30 Sep 2024 12:11:48 -0400 Subject: [PATCH] refactor: search logic to use switch..case --- src/search.js | 41 +++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/src/search.js b/src/search.js index df249ec1f6..f707520d2b 100644 --- a/src/search.js +++ b/src/search.js @@ -19,20 +19,33 @@ search.search = async function (data) { data.sortBy = data.sortBy || 'relevance'; let result; - if (['posts', 'titles', 'titlesposts', 'bookmarks'].includes(data.searchIn)) { - result = await searchInContent(data); - } else if (data.searchIn === 'users') { - result = await user.search(data); - } else if (data.searchIn === 'categories') { - result = await categories.search(data); - } else if (data.searchIn === 'tags') { - result = await topics.searchAndLoadTags(data); - } else if (data.searchIn) { - result = await plugins.hooks.fire('filter:search.searchIn', { - data, - }); - } else { - throw new Error('[[error:unknown-search-filter]]'); + switch (data.searchIn) { + case 'users': { + result = await user.search(data); + break; + } + + case 'categories': { + result = await categories.search(data); + break; + } + + case 'tags': { + result = await topics.searchAndLoadTags(data); + break; + } + + default: { + if (['posts', 'titles', 'titlesposts', 'bookmarks'].includes(data.searchIn)) { + result = await searchInContent(data); + } else if (data.searchIn) { + result = await plugins.hooks.fire('filter:search.searchIn', { + data, + }); + } else { + throw new Error('[[error:unknown-search-filter]]'); + } + } } result.time = (process.elapsedTimeSince(start) / 1000).toFixed(2);