import axios from "axios"; import { Database } from "./database"; const imgBaseURL = "https://mcg.zyg.ovh/images/cards/"; export function cardImageURL(cardid: string): string { return `${imgBaseURL}${cardid}.webp`; } async function getCardImageList(): Promise { const req = await axios(`${imgBaseURL}list.txt`); return req.data; } export async function getImages() { if (Database == null) { throw new Error("Database was not initialized, init with 'initDB()'"); } const itemcount = await Database.images.count(); if (itemcount > 100) { // DB already filled, exit early return; } const imglist = await getCardImageList(); let table = Database.images; const promises = imglist.map(async img => { const req = await axios({ url: `${imgBaseURL}${img}`, responseType: "blob" }); return table.put({ id: img, image: req.data }); }); return await Promise.all(promises); }