1
0
Fork 0
mirror of https://github.com/pawelmalak/flame.git synced 2025-07-24 13:39:35 +02:00
flame/client/src/utility/searchParser.ts

26 lines
771 B
TypeScript
Raw Normal View History

2021-06-24 12:53:45 +02:00
import { queries } from './searchQueries.json';
import { Query } from '../interfaces';
import { searchConfig } from '.';
export const searchParser = (searchQuery: string): boolean => {
const splitQuery = searchQuery.match(/^\/([a-z]+)[ ](.+)$/i);
const prefix = splitQuery ? splitQuery[1] : searchConfig('defaultSearchProvider', 'd');
const search = splitQuery ? encodeURIComponent(splitQuery[2]) : encodeURIComponent(searchQuery);
2021-06-24 12:53:45 +02:00
const query = queries.find((q: Query) => q.prefix === prefix);
if (query) {
const sameTab = searchConfig('searchSameTab', false);
2021-06-24 12:53:45 +02:00
if (sameTab) {
document.location.replace(`${query.template}${search}`);
} else {
window.open(`${query.template}${search}`);
}
return true;
2021-06-24 12:53:45 +02:00
}
return false;
}