Spaces:
Sleeping
Sleeping
| 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 | |
| }, {}) | |