UNPKG

@mdit/plugin-plantuml

Version:
2 lines 1.29 kB
import{uml as e}from"@mdit/plugin-uml";import{deflateRawSync as t}from"node:zlib";const n=e=>t(Buffer.from(e,`utf-8`),{level:9}).toString(`binary`),r=e=>e<10?String.fromCharCode(48+e):e<36?String.fromCharCode(65+e-10):e<62?String.fromCharCode(97+e-36):e===62?`-`:`_`,i=(e,t,n)=>{let i=e>>2,a=(e&3)<<4|t>>4,o=(t&15)<<2|n>>6,s=n&63;return r(i&63)+r(a&63)+r(o&63)+r(s&63)},a=e=>{let t=``;for(let n=0;n<e.length;n+=3)n+2===e.length?t+=i(e.charCodeAt(n),e.charCodeAt(n+1),0):n+1===e.length?t+=i(e.charCodeAt(n),0,0):t+=i(e.charCodeAt(n),e.charCodeAt(n+1),e.charCodeAt(n+2));return t},o=(t,{type:r=`uml`,name:i=`uml`,open:o=`start${i}`,close:s=`end${i}`,fence:c=i,format:l=`svg`,server:u=`https://www.plantuml.com/plantuml`,srcGetter:d=e=>`${u}/${l}/${a(n(`@start${i}\n${e.trim()}\n@end${i}`))}`,render:f=(e,t,n,r,i)=>{let a=e[t],{content:o,info:s}=a;return a.tag=`img`,a.attrPush([`src`,d(o)]),a.attrPush([`alt`,s||`PlantUML Diagram`]),i.renderToken(e,t,n)}}={})=>{if(r===`uml`)t.use(e,{name:i,open:o,close:s,render:f});else{let e=t.renderer.rules.fence;t.renderer.rules.fence=(t,n,r,i,a)=>{let o=t[n],s=o.info.indexOf(` `);return(s===-1?o.info:o.info.slice(0,s))===c?(o.info=s===-1?``:o.info.slice(s+1).trim(),f(t,n,r,i,a)):e(t,n,r,i,a)}}};export{o as plantuml}; //# sourceMappingURL=node.js.map