"use strict";
|
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
// Generated by CoffeeScript 2.5.1
|
// Abstract Style Declaration
|
var _Declaration;
|
|
module.exports = _Declaration = function () {
|
var self;
|
|
var _Declaration = /*#__PURE__*/function () {
|
function _Declaration(prop1, val) {
|
_classCallCheck(this, _Declaration);
|
|
this.prop = prop1;
|
this.important = false;
|
this.set(val);
|
}
|
|
_createClass(_Declaration, [{
|
key: "get",
|
value: function get() {
|
return this._get();
|
}
|
}, {
|
key: "_get",
|
value: function _get() {
|
return this.val;
|
}
|
}, {
|
key: "_pickImportantClause",
|
value: function _pickImportantClause(val) {
|
if (self.importantClauseRx.test(String(val))) {
|
this.important = true;
|
return val.replace(self.importantClauseRx, '');
|
} else {
|
this.important = false;
|
return val;
|
}
|
}
|
}, {
|
key: "set",
|
value: function set(val) {
|
val = self.sanitizeValue(val);
|
val = this._pickImportantClause(val);
|
val = val.trim();
|
|
if (this._handleNullOrInherit(val)) {
|
return this;
|
}
|
|
this._set(val);
|
|
return this;
|
}
|
}, {
|
key: "_set",
|
value: function _set(val) {
|
return this.val = val;
|
}
|
}, {
|
key: "_handleNullOrInherit",
|
value: function _handleNullOrInherit(val) {
|
if (val === '') {
|
this.val = '';
|
return true;
|
}
|
|
if (val === 'inherit') {
|
if (this.constructor.inheritAllowed) {
|
this.val = 'inherit';
|
} else {
|
throw Error("Inherit is not allowed for `".concat(this.prop, "`"));
|
}
|
|
return true;
|
} else {
|
return false;
|
}
|
}
|
}], [{
|
key: "setOnto",
|
value: function setOnto(declarations, prop, val) {
|
var dec;
|
|
if (!(dec = declarations[prop])) {
|
return declarations[prop] = new this(prop, val);
|
} else {
|
return dec.set(val);
|
}
|
}
|
}, {
|
key: "sanitizeValue",
|
value: function sanitizeValue(val) {
|
return String(val).trim().replace(/[\s]+/g, ' ');
|
}
|
}]);
|
|
return _Declaration;
|
}();
|
|
;
|
self = _Declaration;
|
_Declaration.importantClauseRx = /(\s\!important)$/;
|
_Declaration.inheritAllowed = false;
|
return _Declaration;
|
}.call(void 0);
|