jam-cloud/jam-ui/node_modules/jss-template/lib/parse.js

39 lines
995 B
JavaScript

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var semiWithNl = /;\n/;
/**
* Naive CSS parser.
* - Supports only rule body (no selectors)
* - Requires semicolon and new line after the value (except of last line)
* - No nested rules support
*/
exports['default'] = function (cssText) {
var style = {};
var split = cssText.split(semiWithNl);
for (var i = 0; i < split.length; i++) {
var decl = (split[i] || '').trim();
if (!decl) continue;
var colonIndex = decl.indexOf(':');
if (colonIndex === -1) {
(0, _warning2['default'])(false, 'Malformed CSS string "%s"', decl);
continue;
}
var prop = decl.substr(0, colonIndex).trim();
var value = decl.substr(colonIndex + 1).trim();
style[prop] = value;
}
return style;
};