UNPKG

@filbert-js/css-parser

Version:
2 lines (1 loc) 985 B
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@filbert-js/css-ast")):"function"==typeof define&&define.amd?define(["exports","@filbert-js/css-ast"],r):r(e.cssParser={},e.cssAst)}(this,function(e,r){var t=/@media/,n=/&:/,s={prefix:function(e,t){return""+e+r.RULE_SEPARATOR+t+r.RULE_END}};e.createParser=function(e){return function(o){var c=o.namespace,i=r.toAST(o.css),u=Object.assign({},s,e).prefix;return function e(s){var o=s.node,i=s.selector;return(function(e,t){var n=o.rules.reduce(function(e,r){return""+e+u(r.name,r.value)},"");return""+t+r.OPEN_BRACKET+n+r.CLOSE_BRACKET}(0,i)+" "+o.children.map(function(s){if(t.test(s.raw_selector)){var o=e({node:s,selector:i});return""+s.raw_selector+r.OPEN_BRACKET+o+r.CLOSE_BRACKET}var u=s.raw_selector.split(",");return e({node:s,selector:u.map(function(e){return n.test(e)?e.replace(/&/g,c):e.includes("&")?e.replace(/&/g,c):i+" "+e}).join(",")})}).join(" ")).trim()}({node:i,selector:c})}}});