import { fetch } from "https://esm.town/v/std/fetch";
export async function fetchFromWikipedia(params) {
const endpoint = 'https://en.wikipedia.org/w/api.php';
const url = `${endpoint}?${new URLSearchParams(params).toString()}`;
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error('Error fetching Wikipedia data:', error);
}
}
export async function searchWikipedia(searchTerm, additionalParams = {}) {
const defaultParams = {
action: 'query',
list: 'search',
srsearch: searchTerm,
format: 'json'
};
const params = { ...defaultParams, ...additionalParams };
const data = await fetchFromWikipedia(params);
if (data && data.query && data.query.search) {
const baseUrl = 'https://en.wikipedia.org/wiki/';
data.query.search = data.query.search.map(result => ({
...result,
fullUrl: `${baseUrl}${encodeURIComponent(result.title.replace(/ /g, '_'))}`
}));
}
return data;
}