fontawesome-user-agent
Version:
Get browser, os and platform Font Awesome icons from user-agent string.
43 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Bowser = require("bowser");
var default_options_1 = require("./default-options");
function sanitizeName(key) {
return key.replace(" ", "").toLowerCase();
}
function compareName(a, b) {
return sanitizeName(a) === sanitizeName(b);
}
function getBaseIcon(category, name, options) {
var cat = options.icons[category];
var found = name && Object.keys(cat).find(function (k) { return compareName(k, name); });
if (found) {
return cat[found];
}
return options.default[category];
}
function getPrefixedName(icon, options) {
return "" + options.prefix + icon.name;
}
function getIconHtml(icon, options) {
return "<i class=\"" + icon.style + " " + getPrefixedName(icon, options) + "\"/>";
}
function getIcon(category, name, options) {
var icon = getBaseIcon(category, name, options);
return {
name: icon.name,
style: icon.style,
html: getIconHtml(icon, options)
};
}
function faUserAgent(userAgent, options) {
var opts = options ? options(default_options_1.DefaultOptions) : default_options_1.DefaultOptions;
var info = Bowser.parse(userAgent);
return {
browser: getIcon("browser", info.browser.name, opts),
os: getIcon("os", info.os.name, opts),
platform: getIcon("platform", info.platform.type, opts)
};
}
exports.faUserAgent = faUserAgent;
//# sourceMappingURL=lib.js.map