| 'use strict'; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.agents = undefined; |
| |
| var _browsers = require('./browsers'); |
| |
| var _browserVersions = require('./browserVersions'); |
| |
| var agentsData = require('../../data/agents'); |
| |
| function unpackBrowserVersions(versionsData) { |
| return Object.keys(versionsData).reduce(function (usage, version) { |
| usage[_browserVersions.browserVersions[version]] = versionsData[version]; |
| return usage; |
| }, {}); |
| } |
| |
| var agents = exports.agents = Object.keys(agentsData).reduce(function (map, key) { |
| var versionsData = agentsData[key]; |
| map[_browsers.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) { |
| if (entry === 'A') { |
| data.usage_global = unpackBrowserVersions(versionsData[entry]); |
| } else if (entry === 'C') { |
| data.versions = versionsData[entry].reduce(function (list, version) { |
| if (version === '') { |
| list.push(null); |
| } else { |
| list.push(_browserVersions.browserVersions[version]); |
| } |
| return list; |
| }, []); |
| } else if (entry === 'D') { |
| data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]); |
| } else if (entry === 'E') { |
| data.browser = versionsData[entry]; |
| } else if (entry === 'F') { |
| data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) { |
| map[_browserVersions.browserVersions[key]] = versionsData[entry][key]; |
| return map; |
| }, {}); |
| } else { |
| // entry is B |
| data.prefix = versionsData[entry]; |
| } |
| return data; |
| }, {}); |
| return map; |
| }, {}); |