import GelbooruApiResponse from "src/types/GelbooruApiResponse"; import GelbooruServiceResponse from "src/types/GelbooruServiceResponse"; class GelbooruApiService { async get(): Promise { const limit = 100; const url: string = `https://gelbooru.com/index.php?page=dapi&s=post&q=index&limit=${limit}&json=1&tags=2girls+sleeping` const response: GelbooruApiResponse = await fetch(url) .then(res => { if (!res.ok) { throw new Error("Error fetching images"); } else { return res.json(); } }) as GelbooruApiResponse; return { posts: response.post.map(post => ({ url: post.file_url, tags: post.tags.split(" ") })) }; } } export default new GelbooruApiService();