1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 'use strict'
- const browsers = require('./browsers').browsers
- const versions = require('./browserVersions').browserVersions
- const agentsData = require('../../data/agents')
- function unpackBrowserVersions(versionsData) {
- return Object.keys(versionsData).reduce((usage, version) => {
- usage[versions[version]] = versionsData[version]
- return usage
- }, {})
- }
- module.exports.agents = Object.keys(agentsData).reduce((map, key) => {
- let versionsData = agentsData[key]
- map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => {
- if (entry === 'A') {
- data.usage_global = unpackBrowserVersions(versionsData[entry])
- } else if (entry === 'C') {
- data.versions = versionsData[entry].reduce((list, version) => {
- if (version === '') {
- list.push(null)
- } else {
- list.push(versions[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(
- (map2, key2) => {
- map2[versions[key2]] = versionsData[entry][key2]
- return map2
- },
- {}
- )
- } else {
- // entry is B
- data.prefix = versionsData[entry]
- }
- return data
- }, {})
- return map
- }, {})
|