UNPKG

@adso-ts/badges

Version:
27 lines (26 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateBadge = void 0; var lodash_1 = require("lodash"); var badge_const_1 = require("./badge.const"); var colors_const_1 = require("./colors.const"); function generateBadge(value, color, label, hasDynamicWidth) { if (color === void 0) { color = colors_const_1.COLORS.red; } if (label === void 0) { label = 'Average'; } if (hasDynamicWidth === void 0) { hasDynamicWidth = false; } var textLength = label.length + value.length; var badgeWidth = hasDynamicWidth ? (textLength + 2) * 6 : 110; var labelWidth = hasDynamicWidth ? (label.length + 2) * 6 : 65; var valueWidth = hasDynamicWidth ? (badgeWidth - labelWidth) : '45'; var labelPosition = hasDynamicWidth ? lodash_1.toString((labelWidth * 10) + 30) : '700'; var badge = badge_const_1.BADGE_TEMPLATE .replace(/{{badgeWidth}}/g, lodash_1.toString(badgeWidth)) .replace(/{{label}}/g, lodash_1.toString(label)) .replace(/{{labelWidth}}/g, lodash_1.toString(labelWidth)) .replace('{{value}}', lodash_1.toString(value)) .replace(/{{valueWidth}}/g, lodash_1.toString(valueWidth)) .replace('{{labelPosition}}', labelPosition) .replace('{{color}}', color); return badge; } exports.generateBadge = generateBadge;