| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | (function() {  var Declaration, GridTemplate, parser,    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;  parser = require('postcss-value-parser');  Declaration = require('../declaration');  GridTemplate = (function(superClass) {    extend(GridTemplate, superClass);    function GridTemplate() {      return GridTemplate.__super__.constructor.apply(this, arguments);    }    GridTemplate.names = ['grid-template-rows', 'grid-template-columns', 'grid-rows', 'grid-columns'];    GridTemplate.prototype.prefixed = function(prop, prefix) {      if (prefix === '-ms-') {        return prefix + prop.replace('template-', '');      } else {        return GridTemplate.__super__.prefixed.call(this, prop, prefix);      }    };    GridTemplate.prototype.normalize = function(prop) {      return prop.replace(/^grid-(rows|columns)/, 'grid-template-$1');    };    GridTemplate.prototype.walkRepeat = function(node) {      var count, first, fixed, i, j, len, ref;      fixed = [];      ref = node.nodes;      for (j = 0, len = ref.length; j < len; j++) {        i = ref[j];        if (i.nodes) {          this.walkRepeat(i);        }        fixed.push(i);        if (i.type === 'function' && i.value === 'repeat') {          first = i.nodes.shift();          if (first) {            count = first.value;            i.nodes.shift();            i.value = '';            fixed.push({              type: 'word',              value: "[" + count + "]"            });          }        }      }      return node.nodes = fixed;    };    GridTemplate.prototype.changeRepeat = function(value) {      var ast;      ast = parser(value);      this.walkRepeat(ast);      return ast.toString();    };    GridTemplate.prototype.set = function(decl, prefix) {      if (prefix === '-ms-' && decl.value.indexOf('repeat(') !== -1) {        decl.value = this.changeRepeat(decl.value);      }      return GridTemplate.__super__.set.call(this, decl, prefix);    };    return GridTemplate;  })(Declaration);  module.exports = GridTemplate;}).call(this);
 |