deckhearth/lib/pricing/outbound-links.js

33 lines
1 KiB
JavaScript
Raw Normal View History

/**
* @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),
};
}