| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gavin/workspace/readjs/node_modules/autoprefixer/lib/ |
Upload File : |
(function() {
var Prefixer, Resolution, n2f, regexp, split, utils,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
Prefixer = require('./prefixer');
utils = require('./utils');
n2f = require('num2fraction');
regexp = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpi)/gi;
split = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpi)/i;
Resolution = (function(superClass) {
extend(Resolution, superClass);
function Resolution() {
return Resolution.__super__.constructor.apply(this, arguments);
}
Resolution.prototype.prefixName = function(prefix, name) {
return name = prefix === '-moz-' ? name + '--moz-device-pixel-ratio' : prefix + name + '-device-pixel-ratio';
};
Resolution.prototype.prefixQuery = function(prefix, name, colon, value, units) {
if (units === 'dpi') {
value = Number(value / 96);
}
if (prefix === '-o-') {
value = n2f(value);
}
return this.prefixName(prefix, name) + colon + value;
};
Resolution.prototype.clean = function(rule) {
var j, len, prefix, ref;
if (!this.bad) {
this.bad = [];
ref = this.prefixes;
for (j = 0, len = ref.length; j < len; j++) {
prefix = ref[j];
this.bad.push(this.prefixName(prefix, 'min'));
this.bad.push(this.prefixName(prefix, 'max'));
}
}
return rule.params = utils.editList(rule.params, (function(_this) {
return function(queries) {
return queries.filter(function(query) {
return _this.bad.every(function(i) {
return query.indexOf(i) === -1;
});
});
};
})(this));
};
Resolution.prototype.process = function(rule) {
var parent, prefixes;
parent = this.parentPrefix(rule);
prefixes = parent ? [parent] : this.prefixes;
return rule.params = utils.editList(rule.params, (function(_this) {
return function(origin, prefixed) {
var j, k, len, len1, prefix, processed, query;
for (j = 0, len = origin.length; j < len; j++) {
query = origin[j];
if (query.indexOf('min-resolution') === -1 && query.indexOf('max-resolution') === -1) {
prefixed.push(query);
continue;
}
for (k = 0, len1 = prefixes.length; k < len1; k++) {
prefix = prefixes[k];
if (prefix === '-moz-' && rule.params.indexOf('dpi') !== -1) {
continue;
} else {
processed = query.replace(regexp, function(str) {
var parts;
parts = str.match(split);
return _this.prefixQuery(prefix, parts[1], parts[2], parts[3], parts[4]);
});
prefixed.push(processed);
}
}
prefixed.push(query);
}
return utils.uniq(prefixed);
};
})(this));
};
return Resolution;
})(Prefixer);
module.exports = Resolution;
}).call(this);