ruru
Version:
Grafast-flavoured GraphiQL distribution
2 lines • 4.8 kB
JavaScript
export const __webpack_esm_id__=3896;export const __webpack_esm_ids__=[3896];export const __webpack_esm_modules__={15348(t,e,a){function r(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}a.r(e),a.d(e,{populateCommonDb:()=>r}),(0,a(60162).__name)(r,"populateCommonDb")},3896(t,e,a){a.r(e),a.d(e,{diagram:()=>w});var r=a(92329),n=a(15348),i=a(82029),o=a(54141),s=a(60162),l=a(73744),c=o.defaultConfig_default.packet,d=class{constructor(){this.packet=[],this.setAccTitle=o.setAccTitle,this.getAccTitle=o.getAccTitle,this.setDiagramTitle=o.setDiagramTitle,this.getDiagramTitle=o.getDiagramTitle,this.getAccDescription=o.getAccDescription,this.setAccDescription=o.setAccDescription}static{(0,s.__name)(this,"PacketDB")}getConfig(){const t=(0,i.cleanAndMerge)({...c,...(0,o.getConfig)().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){(0,o.clear)(),this.packet=[]}},p=(0,s.__name)((t,e)=>{(0,n.populateCommonDb)(t,e);let a=-1,r=[],i=1;const{bitsPerRow:o}=e.getConfig();for(let{start:n,end:l,bits:c,label:d}of t.blocks){if(void 0!==n&&void 0!==l&&l<n)throw new Error(`Packet block ${n} - ${l} is invalid. End must be greater than start.`);if(n??=a+1,n!==a+1)throw new Error(`Packet block ${n} - ${l??n} is not contiguous. It should start from ${a+1}.`);if(0===c)throw new Error(`Packet block ${n} is invalid. Cannot have a zero bit field.`);for(l??=n+(c??1)-1,c??=l-n+1,a=l,s.log.debug(`Packet block ${n} - ${a} with label ${d}`);r.length<=o+1&&e.getPacket().length<1e4;){const[t,a]=b({start:n,end:l,bits:c,label:d},i,o);if(r.push(t),t.end+1===i*o&&(e.pushWord(r),r=[],i++),!a)break;({start:n,end:l,bits:c,label:d}=a)}}e.pushWord(r)},"populate"),b=(0,s.__name)((t,e,a)=>{if(void 0===t.start)throw new Error("start should have been set during first phase");if(void 0===t.end)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*a)return[t,void 0];const r=e*a-1,n=e*a;return[{start:t.start,end:r,label:t.label,bits:r-t.start},{start:n,end:t.end,label:t.label,bits:t.end-n}]},"getNextFittingBlock"),h={parser:{yy:void 0},parse:(0,s.__name)(async t=>{const e=await(0,l.parse)("packet",t),a=h.parser?.yy;if(!(a instanceof d))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");s.log.debug(e),p(e,a)},"parse")},k=(0,s.__name)((t,e,a,n)=>{const i=n.db,s=i.getConfig(),{rowHeight:l,paddingY:c,bitWidth:d,bitsPerRow:p}=s,b=i.getPacket(),h=i.getDiagramTitle(),k=l+c,m=k*(b.length+1)-(h?0:l),f=d*p+2,u=(0,r.selectSvgElement)(e);u.attr("viewbox",`0 0 ${f} ${m}`),(0,o.configureSvgSize)(u,m,f,s.useMaxWidth);for(const[t,e]of b.entries())g(u,e,t,s);u.append("text").text(h).attr("x",f/2).attr("y",m-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),g=(0,s.__name)((t,e,a,{rowHeight:r,paddingX:n,paddingY:i,bitWidth:o,bitsPerRow:s,showBits:l})=>{const c=t.append("g"),d=a*(r+i)+i;for(const t of e){const e=t.start%s*o+1,a=(t.end-t.start+1)*o-n;if(c.append("rect").attr("x",e).attr("y",d).attr("width",a).attr("height",r).attr("class","packetBlock"),c.append("text").attr("x",e+a/2).attr("y",d+r/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(t.label),!l)continue;const i=t.end===t.start,p=d-2;c.append("text").attr("x",e+(i?a/2:0)).attr("y",p).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",i?"middle":"start").text(t.start),i||c.append("text").attr("x",e+a).attr("y",p).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(t.end)}},"drawWord"),m={draw:k},f={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},u=(0,s.__name)(({packet:t}={})=>{const e=(0,i.cleanAndMerge)(f,t);return`\n\t.packetByte {\n\t\tfont-size: ${e.byteFontSize};\n\t}\n\t.packetByte.start {\n\t\tfill: ${e.startByteColor};\n\t}\n\t.packetByte.end {\n\t\tfill: ${e.endByteColor};\n\t}\n\t.packetLabel {\n\t\tfill: ${e.labelColor};\n\t\tfont-size: ${e.labelFontSize};\n\t}\n\t.packetTitle {\n\t\tfill: ${e.titleColor};\n\t\tfont-size: ${e.titleFontSize};\n\t}\n\t.packetBlock {\n\t\tstroke: ${e.blockStrokeColor};\n\t\tstroke-width: ${e.blockStrokeWidth};\n\t\tfill: ${e.blockFillColor};\n\t}\n\t`},"styles"),w={parser:h,get db(){return new d},renderer:m,styles:u}}};
//# sourceMappingURL=3896.js.map