/** * @param {{ name?: string, game?: string, set_name?: string, setName?: string }} card * @returns {string} */ export function buildTcgplayerUrl(card) { const name = card.name || ''; const game = (card.game || 'mtg').toLowerCase(); return `https://www.tcgplayer.com/search/${game}/product?productName=${encodeURIComponent(name)}`; } /** * @param {{ name?: string, game?: string, set_name?: string, setName?: string }} card * @returns {string} */ export function buildEbayUrl(card) { const name = card.name || ''; const game = card.game || ''; const setName = card.set_name || card.setName || ''; const query = [name, setName, game].filter(Boolean).join(' '); return `https://www.ebay.com/sch/i.html?_nkw=${encodeURIComponent(query)}`; } /** * @param {{ name?: string, game?: string, set_name?: string, setName?: string }} card * @returns {{ tcgplayer: string, ebay: string }} */ export function buildOutboundLinks(card) { return { tcgplayer: buildTcgplayerUrl(card), ebay: buildEbayUrl(card), }; }