export const searchProviders = {
google: {
mapQuery: (query) => `http://google.com/complete/search?q=${query}&client=${(["Chrome", "Firefox", "Safari"].filter(c => navigator.userAgent.includes(c))[0] || "Chrome").toLowerCase()}`,
parseResponse: (res) => JSON.parse(res)[1],
frontend: 'https://google.com/search?q=%s'
},
ddg: {
mapQuery: (query) => `https://duckduckgo.com/ac/?q=${encodeURIComponent(query)}`,
parseResponse: (res) => JSON.parse(res).map(ac => ac.phrase),
frontend: 'https://duckduckgo.com/?q=%s'
},
bing: {
mapQuery: (query) => `https://www.bing.com/AS/Suggestions?qry=${encodeURIComponent(query)}&cvid=%01&bareServer=`,
parseResponse: (res) => ([...res.matchAll(/<span class="sa_tm_text">(.*?)<\/span>/g)]).map(phrase => phrase[1].replace(/<strong>|<\/strong>/g, '')),
frontend: 'https://bing.com/search?q=%s'
},
brave: {
mapQuery: (query) => `https://search.brave.com/api/suggest?q=${encodeURIComponent(query)}`,
parseResponse: (res) => JSON.parse(res)[1],
frontend: 'https://search.brave.com/search?q=%s'
},
startpage: {
mapQuery: (query) => `https://www.startpage.com/suggestions?q=${encodeURIComponent(query)}&segment=omnibox`,
parseResponse: (res) => JSON.parse(res).suggestions.map(ac => ac.text),
frontend: 'https://www.startpage.com/sp/search?query=%s'
},
ecosia: {
mapQuery: (query) => `https://ac.ecosia.org/?q=${encodeURIComponent(query)}`,
parseResponse: (res) => JSON.parse(res).suggestions
}
};