1 | const browserslist = require('browserslist');
|
2 |
|
3 | class BrowserSelection {
|
4 | constructor(query, from) {
|
5 | this.browsersRequest = query;
|
6 | this._list = browserslist(this.browsersRequest, from ? {
|
7 | path: from
|
8 | } : {}).map(browser => browser.split(' '));
|
9 | }
|
10 |
|
11 | test(browser, version) {
|
12 | const versions = version.split('-');
|
13 |
|
14 | if (versions.length === 1) {
|
15 | versions.push(versions[0]);
|
16 | }
|
17 |
|
18 | return this._list.find(([b, v]) => b === browser && v >= versions[0] && v <= versions[1]);
|
19 | }
|
20 |
|
21 | list() {
|
22 | return this._list.slice();
|
23 | }
|
24 |
|
25 | }
|
26 |
|
27 | module.exports = BrowserSelection; |
\ | No newline at end of file |