mirror of
https://github.com/thangisme/notes.git
synced 2024-06-29 14:45:35 +00:00
73 lines
2.1 KiB
JavaScript
73 lines
2.1 KiB
JavaScript
(function() {
|
|
var FilterValue, OldFilterValue, OldValue, Value, 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;
|
|
|
|
OldValue = require('../old-value');
|
|
|
|
Value = require('../value');
|
|
|
|
utils = require('../utils');
|
|
|
|
OldFilterValue = (function(superClass) {
|
|
extend(OldFilterValue, superClass);
|
|
|
|
function OldFilterValue() {
|
|
return OldFilterValue.__super__.constructor.apply(this, arguments);
|
|
}
|
|
|
|
OldFilterValue.prototype.clean = function(decl) {
|
|
return decl.value = utils.editList(decl.value, (function(_this) {
|
|
return function(props) {
|
|
if (props.every(function(i) {
|
|
return i.indexOf(_this.unprefixed) !== 0;
|
|
})) {
|
|
return props;
|
|
}
|
|
return props.filter(function(i) {
|
|
return i.indexOf(_this.prefixed) === -1;
|
|
});
|
|
};
|
|
})(this));
|
|
};
|
|
|
|
return OldFilterValue;
|
|
|
|
})(OldValue);
|
|
|
|
FilterValue = (function(superClass) {
|
|
extend(FilterValue, superClass);
|
|
|
|
FilterValue.names = ['filter', 'filter-function'];
|
|
|
|
function FilterValue(name, prefixes) {
|
|
FilterValue.__super__.constructor.apply(this, arguments);
|
|
if (name === 'filter-function') {
|
|
this.name = 'filter';
|
|
}
|
|
}
|
|
|
|
FilterValue.prototype.replace = function(value, prefix) {
|
|
if (prefix === '-webkit-' && value.indexOf('filter(') === -1) {
|
|
if (value.indexOf('-webkit-filter') === -1) {
|
|
return FilterValue.__super__.replace.apply(this, arguments) + ', ' + value;
|
|
} else {
|
|
return value;
|
|
}
|
|
} else {
|
|
return FilterValue.__super__.replace.apply(this, arguments);
|
|
}
|
|
};
|
|
|
|
FilterValue.prototype.old = function(prefix) {
|
|
return new OldFilterValue(this.name, prefix + this.name);
|
|
};
|
|
|
|
return FilterValue;
|
|
|
|
})(Value);
|
|
|
|
module.exports = FilterValue;
|
|
|
|
}).call(this);
|