UNPKG

fontawesome-user-agent

Version:

Get browser, os and platform Font Awesome icons from user-agent string.

40 lines 1.32 kB
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