fontawesome-user-agent
Version:
Get browser, os and platform Font Awesome icons from user-agent string.
40 lines • 1.32 kB
JavaScript
import * as Bowser from "bowser";
import { DefaultOptions } from "./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)
};
}
export function faUserAgent(userAgent, options) {
var opts = options ? options(DefaultOptions) : 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)
};
}
//# sourceMappingURL=lib.js.map