Grabbed dndbeyond's source code
``` ~/go/bin/sourcemapper -output ddb -jsurl https://media.dndbeyond.com/character-app/static/js/main.90aa78c5.js ```
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user