| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | 
							- "use strict";
 
- var browserslist = require('browserslist');
 
- var agents = require('caniuse-lite').agents;
 
- var utils = require('./utils');
 
- var Browsers = /*#__PURE__*/function () {
 
-   /**
 
-      * Return all prefixes for default browser data
 
-      */
 
-   Browsers.prefixes = function prefixes() {
 
-     if (this.prefixesCache) {
 
-       return this.prefixesCache;
 
-     }
 
-     this.prefixesCache = [];
 
-     for (var name in agents) {
 
-       this.prefixesCache.push("-" + agents[name].prefix + "-");
 
-     }
 
-     this.prefixesCache = utils.uniq(this.prefixesCache).sort(function (a, b) {
 
-       return b.length - a.length;
 
-     });
 
-     return this.prefixesCache;
 
-   }
 
-   /**
 
-      * Check is value contain any possible prefix
 
-      */
 
-   ;
 
-   Browsers.withPrefix = function withPrefix(value) {
 
-     if (!this.prefixesRegexp) {
 
-       this.prefixesRegexp = new RegExp(this.prefixes().join('|'));
 
-     }
 
-     return this.prefixesRegexp.test(value);
 
-   };
 
-   function Browsers(data, requirements, options, browserslistOpts) {
 
-     this.data = data;
 
-     this.options = options || {};
 
-     this.browserslistOpts = browserslistOpts || {};
 
-     this.selected = this.parse(requirements);
 
-   }
 
-   /**
 
-      * Return browsers selected by requirements
 
-      */
 
-   var _proto = Browsers.prototype;
 
-   _proto.parse = function parse(requirements) {
 
-     var opts = {};
 
-     for (var i in this.browserslistOpts) {
 
-       opts[i] = this.browserslistOpts[i];
 
-     }
 
-     opts.path = this.options.from;
 
-     return browserslist(requirements, opts);
 
-   }
 
-   /**
 
-      * Return prefix for selected browser
 
-      */
 
-   ;
 
-   _proto.prefix = function prefix(browser) {
 
-     var _browser$split = browser.split(' '),
 
-         name = _browser$split[0],
 
-         version = _browser$split[1];
 
-     var data = this.data[name];
 
-     var prefix = data.prefix_exceptions && data.prefix_exceptions[version];
 
-     if (!prefix) {
 
-       prefix = data.prefix;
 
-     }
 
-     return "-" + prefix + "-";
 
-   }
 
-   /**
 
-      * Is browser is selected by requirements
 
-      */
 
-   ;
 
-   _proto.isSelected = function isSelected(browser) {
 
-     return this.selected.includes(browser);
 
-   };
 
-   return Browsers;
 
- }();
 
- module.exports = Browsers;
 
 
  |