3 lines
13 KiB
JavaScript
3 lines
13 KiB
JavaScript
|
|
class t extends Error{reason;filename;line;column;source;constructor(t,e,i,s,n){super(`${t}:${i}:${s}: ${e}`),this.reason=e,this.filename=t,this.line=i,this.column=s,this.source=n}}class e{start;end;source;constructor(t,e,i){this.start=t,this.end=e,this.source=i}}var i;!function(t){t.stylesheet="stylesheet",t.rule="rule",t.declaration="declaration",t.comment="comment",t.container="container",t.charset="charset",t.document="document",t.customMedia="custom-media",t.fontFace="font-face",t.host="host",t.import="import",t.keyframes="keyframes",t.keyframe="keyframe",t.layer="layer",t.media="media",t.namespace="namespace",t.page="page",t.startingStyle="starting-style",t.supports="supports"}(i||(i={}));const s=(t,e,i)=>{let s=i,n=1e4;do{const i=e.map(e=>t.indexOf(e,s));i.push(t.indexOf("\\",s));const r=i.filter(t=>-1!==t);if(0===r.length)return-1;const o=Math.min(...r);if("\\"!==t[o])return o;s=o+2,n--}while(n>0);throw new Error("Too many escaping")},n=(t,e,i)=>{let r=i,o=1e4;do{const i=e.map(e=>t.indexOf(e,r));i.push(t.indexOf("(",r)),i.push(t.indexOf('"',r)),i.push(t.indexOf("'",r)),i.push(t.indexOf("\\",r));const c=i.filter(t=>-1!==t);if(0===c.length)return-1;const a=Math.min(...c);switch(t[a]){case"\\":r=a+2;break;case"(":{const e=n(t,[")"],a+1);if(-1===e)return-1;r=e+1}break;case'"':{const e=s(t,['"'],a+1);if(-1===e)return-1;r=e+1}break;case"'":{const e=s(t,["'"],a+1);if(-1===e)return-1;r=e+1}break;default:return a}o--}while(o>0);throw new Error("Too many escaping")},r=/\/\*[^]*?(?:\*\/|$)/g;function o(t){return t?t.trim():""}function c(t,e){const i=t&&"string"==typeof t.type,s=i?t:e;for(const e in t){const i=t[e];Array.isArray(i)?i.forEach(t=>{c(t,s)}):i&&"object"==typeof i&&c(i,s)}return i&&Object.defineProperty(t,"parent",{configurable:!0,writable:!0,enumerable:!1,value:e||null}),t}class a{level=0;indentation=" ";compress=!1;constructor(t){"string"==typeof t?.indent&&(this.indentation=t?.indent),t?.compress&&(this.compress=!0)}emit(t,e){return t}indent(t){return this.level=this.level||1,t?(this.level+=t,""):Array(this.level).join(this.indentation)}visit(t){switch(t.type){case i.stylesheet:return this.stylesheet(t);case i.rule:return this.rule(t);case i.declaration:return this.declaration(t);case i.comment:return this.comment(t);case i.container:return this.container(t);case i.charset:return this.charset(t);case i.document:return this.document(t);case i.customMedia:return this.customMedia(t);case i.fontFace:return this.fontFace(t);case i.host:return this.host(t);case i.import:return this.import(t);case i.keyframes:return this.keyframes(t);case i.keyframe:return this.keyframe(t);case i.layer:return this.layer(t);case i.media:return this.media(t);case i.namespace:return this.namespace(t);case i.page:return this.page(t);case i.startingStyle:return this.startingStyle(t);case i.supports:return this.supports(t)}}mapVisit(t,e){let i="";e=e||"";for(let s=0,n=t.length;s<n;s++)i+=this.visit(t[s]),e&&s<n-1&&(i+=this.emit(e));return i}compile(t){return this.compress?t.stylesheet.rules.map(this.visit,this).join(""):this.stylesheet(t)}stylesheet(t){return this.mapVisit(t.stylesheet.rules,"\n\n")}comment(t){return this.compress?this.emit("",t.position):this.emit(`${this.indent()}/*${t.comment}*/`,t.position)}container(t){return this.compress?this.emit(`@container ${t.container}`,t.position)+this.emit("{")+this.mapVisit(t.rules)+this.emit("}"):this.emit(`${this.indent()}@container ${t.container}`,t.position)+this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t.rules,"\n\n")+this.emit(`\n${this.indent(-1)}${this.indent()}}`)}layer(t){return this.compress?this.emit(`@layer ${t.layer}`,t.position)+(t.rules?this.emit("{")+this.mapVisit(t.rules)+this.emit("}"):";"):this.emit(`${this.indent()}@layer ${t.layer}`,t.position)+(t.rules?this.emit(` {\n${this.indent(1)}`)+this.mapVisit(t.rules,"\n\n")+this.emit(`\n${this.indent(-1)}${this.indent()}}`):";")}import(t){return this.emit(`@import ${t.import};`,t.position)}media(t){return this.compress?this.emit(`@media ${t.media}`,t.position)+this.emit("{")+this.mapVisit(t.rules)+this.emit("}"):this.emit
|
||
|
|
//# sourceMappingURL=adobe-css-tools.mjs.map
|