UNPKG

scryfall-client

Version:
39 lines (38 loc) 1.04 kB
var SCRYFALL_API_ENDPOINT = "https://api.scryfall.com/"; function stringifyParams(params) { return Object.keys(params).reduce(function (accum, param) { if (accum) { accum += "&"; } return (accum += "".concat(param, "=").concat(params[param])); }, ""); } function isFullScryfallUrl(url) { return url.indexOf(SCRYFALL_API_ENDPOINT) === 0; } function endpointBeginsWithSlash(endpoint) { return endpoint.indexOf("/") === 0; } function getBaseUrl(endpoint) { if (isFullScryfallUrl(endpoint)) { return endpoint; } if (endpointBeginsWithSlash(endpoint)) { endpoint = endpoint.substring(1); } return SCRYFALL_API_ENDPOINT + endpoint; } export default function getUrl(endpoint, query) { var url = getBaseUrl(endpoint); if (query) { var queryParams = stringifyParams(query); if (url.indexOf("?") > -1) { url += "&"; } else { url += "?"; } url += queryParams; } return url; }