1 |
- import e from"postcss-selector-parser";const s=/:any-link/;function o(o){const r=!("preserve"in Object(o))||Boolean(o.preserve);return{postcssPlugin:"postcss-pseudo-class-any-link",Rule(o,{result:t}){if(!s.test(o.selector))return;const n=o.raws.selector&&o.raws.selector.raw||o.selector;if(":"===n[n.length-1])return;let l;try{l=e((e=>{let s,o,r,t,n,l=-1;for(r=e.nodes[++l];r;){for(o=-1,s=r.nodes[++o];s;){if(!(":any-link"!==s.value||"pseudo"!==s.type||s.nodes&&s.nodes.length)){t=r.clone(),n=r.clone(),t.nodes[o].value=":link",n.nodes[o].value=":visited",e.nodes.splice(l--,1,t,n);break}s=r.nodes[++o]}r=e.nodes[++l]}})).processSync(n)}catch(e){return void o.warn(t,`Failed to parse selector : ${o.selector}`)}void 0!==l&&l!==n&&(r?o.cloneBefore({selector:l}):o.selector=l)}}}o.postcss=!0;export{o as default};
|