UNPKG

badge-urls

Version:

Helper functions to generate URLs for all badges / shields from shields.io

69 lines (68 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.urlWithOptions = exports.ShieldsIOColor = exports.ShieldsIOShieldStyle = void 0; var tslib_1 = require("tslib"); var createUrl_1 = tslib_1.__importDefault(require("../utils/createUrl")); var ShieldsIOShieldStyle; (function (ShieldsIOShieldStyle) { ShieldsIOShieldStyle["Plastic"] = "plastic"; ShieldsIOShieldStyle["Flat"] = "flat"; ShieldsIOShieldStyle["FlatSquare"] = "flat-square"; ShieldsIOShieldStyle["ForTheBadge"] = "for-the-badge"; ShieldsIOShieldStyle["Social"] = "social"; })(ShieldsIOShieldStyle = exports.ShieldsIOShieldStyle || (exports.ShieldsIOShieldStyle = {})); var ShieldsIOColor; (function (ShieldsIOColor) { ShieldsIOColor["BrightGreen"] = "brightgreen"; ShieldsIOColor["Green"] = "green"; ShieldsIOColor["YellowGreen"] = "yellowgreen"; ShieldsIOColor["Yellow"] = "yellow"; ShieldsIOColor["Orange"] = "orange"; ShieldsIOColor["Red"] = "red"; ShieldsIOColor["Blue"] = "blue"; ShieldsIOColor["LightGrey"] = "lightgrey"; ShieldsIOColor["Success"] = "success"; ShieldsIOColor["Important"] = "important"; ShieldsIOColor["Critical"] = "critical"; ShieldsIOColor["Informational"] = "informational"; ShieldsIOColor["Inactive"] = "inactive"; ShieldsIOColor["BlueViolet"] = "blueviolet"; })(ShieldsIOColor = exports.ShieldsIOColor || (exports.ShieldsIOColor = {})); var SHIELDS_IO_BASE_URL = "https://img.shields.io"; exports.urlWithOptions = function (urlOrPath, options) { if (options === void 0) { options = {}; } var _a = options.baseUrl, baseUrl = _a === void 0 ? SHIELDS_IO_BASE_URL : _a, style = options.style, label = options.label, logo = options.logo, logoColor = options.logoColor, logoWidth = options.logoWidth, link = options.link, cacheSeconds = options.cacheSeconds; var url = createUrl_1.default(urlOrPath, baseUrl); if (style) { url.searchParams.set("style", style); } if (label) { url.searchParams.set("label", label); } if (logo) { url.searchParams.set("logo", logo); } if (logoColor) { url.searchParams.set("logoColor", logoColor); } if (logoWidth) { url.searchParams.set("logoWidth", logoWidth.toString()); } if (link) { if (typeof link === "string") { url.searchParams.set("link", link); } else if (Array.isArray(link)) { url.searchParams.set("link", link[0]); url.searchParams.append("link", link[1]); } else { url.searchParams.set("link", link.left); url.searchParams.append("link", link.right); } } if (cacheSeconds) { url.searchParams.set("cacheSeconds", cacheSeconds.toString()); } return url.toString(); };