UNPKG

@cerebral/useragent

Version:
44 lines (32 loc) 1.15 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseUserAgent; var _uaParserJs = require('ua-parser-js'); var _uaParserJs2 = _interopRequireDefault(_uaParserJs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var uaParser = new _uaParserJs2.default(); uaParser.setUA(navigator.userAgent); function parseUserAgent(options) { var parse = options.parse; return Object.keys(parse).filter(isEnabled).reduce(function (all, key) { var parseFunction = getParseFunction(key, uaParser); if (typeof parseFunction !== 'function') { throw new Error('Parsing the ' + key + ' from useragent is not supported.'); } all[key] = parseFunction.call(uaParser); return all; }, {}); function isEnabled(key) { return parse[key] === true; } } function getParseFunction(prop, uaParser) { var parseFunctionName = getParseFunctionName(prop); return uaParser[parseFunctionName]; } function getParseFunctionName(prop) { return 'get' + (prop.charAt(0).toUpperCase() + prop.slice(1)); } //# sourceMappingURL=parseUserAgent.js.map