123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- (function() {
- var AtRule, Prefixer,
- 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');
- AtRule = (function(superClass) {
- extend(AtRule, superClass);
- function AtRule() {
- return AtRule.__super__.constructor.apply(this, arguments);
- }
- AtRule.prototype.add = function(rule, prefix) {
- var already, cloned, prefixed;
- prefixed = prefix + rule.name;
- already = rule.parent.some(function(i) {
- return i.name === prefixed && i.params === rule.params;
- });
- if (already) {
- return;
- }
- cloned = this.clone(rule, {
- name: prefixed
- });
- return rule.parent.insertBefore(rule, cloned);
- };
- AtRule.prototype.process = function(node) {
- var j, len, parent, prefix, ref, results;
- parent = this.parentPrefix(node);
- ref = this.prefixes;
- results = [];
- for (j = 0, len = ref.length; j < len; j++) {
- prefix = ref[j];
- if (parent && parent !== prefix) {
- continue;
- }
- results.push(this.add(node, prefix));
- }
- return results;
- };
- return AtRule;
- })(Prefixer);
- module.exports = AtRule;
- }).call(this);
|