mirror of
https://github.com/thangisme/notes.git
synced 2025-10-16 21:14:26 -04:00
Initial commit
This commit is contained in:
86
node_modules/autoprefixer/lib/browsers.js
generated
vendored
Normal file
86
node_modules/autoprefixer/lib/browsers.js
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
(function() {
|
||||
var Browsers, browserslist, utils;
|
||||
|
||||
browserslist = require('browserslist');
|
||||
|
||||
utils = require('./utils');
|
||||
|
||||
Browsers = (function() {
|
||||
Browsers.prefixes = function() {
|
||||
var data, i, name;
|
||||
if (this.prefixesCache) {
|
||||
return this.prefixesCache;
|
||||
}
|
||||
data = require('caniuse-db/data.json').agents;
|
||||
return this.prefixesCache = utils.uniq((function() {
|
||||
var results;
|
||||
results = [];
|
||||
for (name in data) {
|
||||
i = data[name];
|
||||
results.push("-" + i.prefix + "-");
|
||||
}
|
||||
return results;
|
||||
})()).sort(function(a, b) {
|
||||
return b.length - a.length;
|
||||
});
|
||||
};
|
||||
|
||||
Browsers.withPrefix = function(value) {
|
||||
if (!this.prefixesRegexp) {
|
||||
this.prefixesRegexp = RegExp("" + (this.prefixes().join('|')));
|
||||
}
|
||||
return this.prefixesRegexp.test(value);
|
||||
};
|
||||
|
||||
function Browsers(data1, requirements, options, stats) {
|
||||
this.data = data1;
|
||||
this.options = options;
|
||||
this.stats = stats;
|
||||
this.selected = this.parse(requirements);
|
||||
}
|
||||
|
||||
Browsers.prototype.parse = function(requirements) {
|
||||
var ref, ref1;
|
||||
return browserslist(requirements, {
|
||||
stats: this.stats,
|
||||
path: (ref = this.options) != null ? ref.from : void 0,
|
||||
env: (ref1 = this.options) != null ? ref1.env : void 0
|
||||
});
|
||||
};
|
||||
|
||||
Browsers.prototype.browsers = function(criteria) {
|
||||
var browser, data, ref, selected, versions;
|
||||
selected = [];
|
||||
ref = this.data;
|
||||
for (browser in ref) {
|
||||
data = ref[browser];
|
||||
versions = criteria(data).map(function(version) {
|
||||
return browser + " " + version;
|
||||
});
|
||||
selected = selected.concat(versions);
|
||||
}
|
||||
return selected;
|
||||
};
|
||||
|
||||
Browsers.prototype.prefix = function(browser) {
|
||||
var data, name, prefix, ref, version;
|
||||
ref = browser.split(' '), name = ref[0], version = ref[1];
|
||||
data = this.data[name];
|
||||
if (data.prefix_exceptions) {
|
||||
prefix = data.prefix_exceptions[version];
|
||||
}
|
||||
prefix || (prefix = data.prefix);
|
||||
return '-' + prefix + '-';
|
||||
};
|
||||
|
||||
Browsers.prototype.isSelected = function(browser) {
|
||||
return this.selected.indexOf(browser) !== -1;
|
||||
};
|
||||
|
||||
return Browsers;
|
||||
|
||||
})();
|
||||
|
||||
module.exports = Browsers;
|
||||
|
||||
}).call(this);
|
Reference in New Issue
Block a user