``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
import warning from 'tiny-warning';
|
|
|
|
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
|
|
*/
|
|
|
|
var parse = function parse(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) {
|
|
process.env.NODE_ENV !== "production" ? warning(false, "[JSS] Malformed CSS string \"" + decl + "\"") : void 0;
|
|
continue;
|
|
}
|
|
|
|
var prop = decl.substr(0, colonIndex).trim();
|
|
var value = decl.substr(colonIndex + 1).trim();
|
|
style[prop] = value;
|
|
}
|
|
|
|
return style;
|
|
};
|
|
|
|
var onProcessRule = function onProcessRule(rule) {
|
|
if (typeof rule.style === 'string') {
|
|
rule.style = parse(rule.style);
|
|
}
|
|
};
|
|
|
|
function templatePlugin() {
|
|
return {
|
|
onProcessRule: onProcessRule
|
|
};
|
|
}
|
|
|
|
export default templatePlugin;
|