ll-package
Version:
2 lines (1 loc) • 2.24 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("./Enum.js"),e=require("./Utility.js"),r=require("./Tokenizer.js");function C(c){return r.dealloc(M("",null,null,null,[""],c=r.alloc(c),0,[0],c))}function M(c,o,b,i,f,g,O,d,m){for(var v=0,k=0,n=O,y=0,u=0,E=0,s=1,q=1,p=1,t=0,h="",T=f,w=g,l=i,a=h;q;)switch(E=t,t=r.next()){case 40:if(E!=108&&e.charat(a,n-1)==58){e.indexof(a+=e.replace(r.delimit(t),"&","&\f"),"&\f",e.abs(v?d[v-1]:0))!=-1&&(p=-1);break}case 34:case 39:case 91:a+=r.delimit(t);break;case 9:case 10:case 13:case 32:a+=r.whitespace(E);break;case 92:a+=r.escaping(r.caret()-1,7);continue;case 47:switch(r.peek()){case 42:case 47:e.append(A(r.commenter(r.next(),r.caret()),o,b,m),m);break;default:a+="/"}break;case 123*s:d[v++]=e.strlen(a)*p;case 125*s:case 59:case 0:switch(t){case 0:case 125:q=0;case 59+k:p==-1&&(a=e.replace(a,/\f/g,"")),u>0&&e.strlen(a)-n&&e.append(u>32?x(a+";",i,b,n-1,m):x(e.replace(a," ","")+";",i,b,n-2,m),m);break;case 59:a+=";";default:if(e.append(l=S(a,o,b,v,k,f,d,h,T=[],w=[],n,g),g),t===123)if(k===0)M(a,o,l,l,T,g,n,d,w);else switch(y===99&&e.charat(a,3)===110?100:y){case 100:case 108:case 109:case 115:M(c,l,l,i&&e.append(S(c,l,l,0,0,f,d,h,f,T=[],n,w),w),f,w,n,d,i?T:w);break;default:M(a,l,l,l,[""],w,0,d,w)}}v=k=u=0,s=p=1,h=a="",n=O;break;case 58:n=1+e.strlen(a),u=E;default:if(s<1){if(t==123)--s;else if(t==125&&s++==0&&r.prev()==125)continue}switch(a+=e.from(t),t*s){case 38:p=k>0?1:(a+="\f",-1);break;case 44:d[v++]=(e.strlen(a)-1)*p,p=1;break;case 64:r.peek()===45&&(a+=r.delimit(r.next())),y=r.peek(),k=n=e.strlen(h=a+=r.identifier(r.caret())),t++;break;case 45:E===45&&e.strlen(a)==2&&(s=0)}}return g}function S(c,o,b,i,f,g,O,d,m,v,k,n){for(var y=f-1,u=f===0?g:[""],E=e.sizeof(u),s=0,q=0,p=0;s<i;++s)for(var t=0,h=e.substr(c,y+1,y=e.abs(q=O[s])),T=c;t<E;++t)(T=e.trim(q>0?u[t]+" "+h:e.replace(h,/&\f/g,u[t])))&&(m[p++]=T);return r.node(c,o,b,f===0?z.RULESET:d,m,v,k,n)}function A(c,o,b,i){return r.node(c,o,b,z.COMMENT,e.from(r.char()),e.substr(c,2,-2),0,i)}function x(c,o,b,i,f){return r.node(c,o,b,z.DECLARATION,e.substr(c,0,i),e.substr(c,i+1,-1),i,f)}exports.comment=A;exports.compile=C;exports.declaration=x;exports.parse=M;exports.ruleset=S;
;