PageSourceSearch

https://igormcsouza.github.io/blog/_next/static/chunks/412.19065e1d4b0c3b6f.js

js igormcsouza.github.io collected 2026-10-03 09:20:42 UTC 11,030 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[412],{40412:function(e,t,r){r.r(t),r.d(t,{applyDagreLayoutResult:function(){return C},getEdgesToRender:function(){return b},measureDagreLayout:function(){return R},prepareLayoutForDagre:function(){return I},render:function(){return P},runDagreLayoutCore:function(){return T}});var a=r(98766),n=r(17342),i=r(242),d=r(31392),o=r(54454);r(82529),r(15851),r(75785),r(85599);var l=r(1198),s=r(90498),g=r(51131),h=r(3546),u=r(68406),c=(0,g.e)((e,t,r)=>Math.max(t,Math.min(r,e)),"clamp"),p=(0,g.e)((e="TB")=>{switch(e){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),f=(0,g.e)(e=>"flowchart"===e||"flowchart-v2"===e||"stateDiagram"===e||"er"===e||"classDiagram"===e,"shouldMergeSelfLoopSegments"),y=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],L=(0,g.e)((e,t,r,a,n)=>{let i=[],d=new Set;if(r.forEach(({start:e,end:t})=>{e!==a&&d.add(e),t!==a&&d.add(t)}),d.forEach(t=>{let r=e.node(t);"number"==typeof r?.x&&"number"==typeof r?.y&&i.push(r)}),0===i.length&&r.forEach(({edge:e})=>{(e.points??[]).forEach(e=>{"number"==typeof e?.x&&"number"==typeof e?.y&&i.push(e)})}),0===i.length)return p(n);let o=i.reduce((e,t)=>({x:e.x+t.x/i.length,y:e.y+t.y/i.length}),{x:0,y:0}),l=o.x-t.x,s=o.y-t.y;return Math.abs(l)>Math.abs(s)?l>0?"right":"left":Math.abs(s)>0?s>0?"bottom":"top":p(n)},"getSelfLoopSide"),m=(0,g.e)((e,t="top",r=0,a=0)=>{let n=e.x,i=e.y-r,d=e.width/2,o=e.height/2,l=Math.max(36,Math.min(100,.8*e.width)),s=c(Math.max(a,.35*e.width),36,l),g=c(.45*Math.min(e.width,e.height),24,48);switch(t){case"bottom":{let e=i+o;return[{x:n-s/2,y:e},{x:n-s/2,y:e+g},{x:n+s/2,y:e+g},{x:n+s/2,y:e}]}case"right":{let e=n+d;return[{x:e,y:i-s/2},{x:e+g,y:i-s/2},{x:e+g,y:i+s/2},{x:e,y:i+s/2}]}case"left":{let e=n-d;return[{x:e,y:i-s/2},{x:e-g,y:i-s/2},{x:e-g,y:i+s/2},{x:e,y:i+s/2}]}default:{let e=i-o;return[{x:n-s/2,y:e},{x:n-s/2,y:e-g},{x:n+s/2,y:e-g},{x:n+s/2,y:e}]}}},"getSelfLoopPoints"),w=(0,g.e)((e,t,r="top",a=0,n={})=>{let i=e.x,d=e.y-a,o=n.width??0,l=n.height??0;switch(r){case"bottom":return{x:i,y:Math.max(...t.map(e=>e.y))+l/2+4};case"right":return{x:Math.max(...t.map(e=>e.x))+o/2+4,y:d};case"left":return{x:Math.min(...t.map(e=>e.x))-o/2-4,y:d};default:return{x:i,y:Math.min(...t.map(e=>e.y))-l/2-4}}},"getSelfLoopLabelPosition"),b=(0,g.e)((e,t=0,{mergeSelfLoops:r=!0}={})=>{let a=new Map,n=[],i=e.graph()?.rankdir;
1return e.edges().forEach(t=>{let i=e.edge(t);if(r&&i.selfLoop){let e=i.selfLoop.id;a.has(e)||a.set(e,[]),a.get(e).push({edge:i,start:t.v,end:t.w})}else n.push({edge:i,start:t.v,end:t.w})}),a.forEach(r=>{if(3!==r.length){r.forEach(e=>n.push(e));return}r.sort((e,t)=>e.edge.selfLoop.order-t.edge.selfLoop.order);let[a,d,o]=r,l=a.edge.originalEdge??d.edge.originalEdge??o.edge.originalEdge??d.edge,s=e.node(l.start);if(!s){r.forEach(e=>n.push(e));return}let g={width:d.edge.width,height:d.edge.height},h=L(e,s,r,l.start,i),u=m(s,h,t,g.width??0),c=w(s,u,h,t,g),p={...d.edge,...l,id:l.id,points:u,start:l.start,end:l.end,x:c.x,y:c.y,width:g.width,height:g.height,labelStyle:d.edge.labelStyle,fromCluster:a.edge.fromCluster??d.edge.fromCluster??o.edge.fromCluster,toCluster:a.edge.toCluster??d.edge.toCluster??o.edge.toCluster};delete p.selfLoop,delete p.originalEdge,n.push({edge:p,start:p.start,end:p.end})}),n},"getEdgesToRender"),E=(0,g.e)(async({element:e,graph:t,diagramType:r,id:n,parentCluster:l,siteConfig:h})=>{let u=t.graph().rankdir;s.c.trace("Dir in recursive render - dir:",u);let{clusters:c,edgePaths:p,edgeLabels:y,nodes:L,rootGroups:m}=(0,a.$B)(e,{edgePathsClass:"edgePaths"});t.nodes()?s.c.info("Recursive render XXX",t.nodes()):s.c.info("No nodes found for",t),t.edges().length>0&&s.c.info("Recursive edges",t.edge(t.edges()[0]));let w=f(r);await Promise.all(t.nodes().map(async function(e){let i=t.node(e);if(void 0!==l){let r=JSON.parse(JSON.stringify(l.clusterData));s.c.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",r.height,"\nParent cluster",l.height),t.setNode(l.id,r),t.parent(e)||(s.c.trace("Setting parent",e,l.id),t.setParent(e,l.id,r))}if(s.c.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),i?.clusterNode){s.c.info("Cluster identified XBX",e,i.width,t.node(e));let{ranksep:a,nodesep:l}=t.graph();i.graph.setGraph({...i.graph.graph(),ranksep:a+25,nodesep:l});let g=await v({element:L,graph:i.graph,diagramType:r,id:n,parentCluster:t.node(e),siteConfig:h}),u=g.elem;(0,o.jr)(i,u),i.diff=g.diff||0,s.c.info("New compound node after recursive render XAX",e,"width",i.width,"height",i.height),(0,d.Yn)(u,i)}else t.children(e).length>0?(s.c.trace("Cluster - the non recursive path XBX",e,i.id,i,i.width,"Graph:",t),s.c.trace((0,a.Jy)(i.id,t)),a.lT.set(i.id,{id:(0,a.Jy)(i.id,t),node:i})):(s.c.trace("Node - the non recursive path XAX",e,L,t.node(e),u),await (0,a.cW)(L,t.node(e),{config:h,dir:u}))}));let b=(0,g.e)(async()=>{let e=t.edges().map(async function(e){let r=t.edge(e.v,e.w,e.name);if(s.c.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),s.c.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),s.c.info("Fix",a.lT,"ids:",e.v,e.w,"Translating: ",a.lT.get(e.v),a.lT.get(e.w)),w&&r.selfLoop){if(1!==r.selfLoop.order)return;let e={...r.originalEdge,...r,id:r.selfLoop.id,startLabelLeft:r.originalEdge?.startLabelLeft??r.startLabelLeft,startLabelRight:r.originalEdge?.startLabelRight??r.startLabelRight,endLabelLeft:r.originalEdge?.endLabelLeft??r.endLabelLeft,endLabelRight:r.originalEdge?.endLabelRight??r.endLabelRight};await (0,i.I_)(y,e),r.width=e.width,r.height=e.height,r.labelStyle=e.labelStyle;return}await (0,i.I_)(y,r)});await Promise.all(e)},"processEdges");await b();let{subGraphTitleTotalMargin:E}=(0,d.LO)(h);return{elem:m,graph:t,groups:{clusters:c,edgePaths:p,edgeLabels:y,nodes:L,rootGroups:m},diagramType:r,id:n,mergeSelfLoops:w,subGraphTitleTotalMargin:E}},"measureDagreGraph"),x=(0,g.e)(e=>{s.c.info("############################################# XXX"),s.c.info("###                Layout                 ### XXX"),s.c.info("############################################# XXX"),(0,h.bK)(e)},"runDagreGraphLayout"),X=(0,g.e)((e,t,r)=>{let a=e.node(t);if(!a)return;let n={...a};return a?.clusterNode?n.y=(a.y??0)+r:e.children(t).length>0?n.height=(a.height??0)+r:n.y=(a.y??0)+r/2,n},"normalizeDagreNode"),S=(0,g.e)((e,t)=>{y.forEach(r=>{void 0!==t[r]&&(e[r]=t[r])})},"applyDagreNodeLayout"),N=(0,g.e)((e,t,r,a)=>({...e,start:e.start??t,end:e.end??r,points:(e.points??[]).map(e=>({...e,y:"number"==typeof e.y?e.y+a:e.y}))}),"normalizeDagreEdge"),C=(0,g.e)((e,t)=>{let{graph:r,mergeSelfLoops:n,subGraphTitleTotalMargin:i=0}
1=t,d=new Map(e.nodes.map(e=>[e.id,e]));(0,a.Ik)(r).forEach(e=>{let t=X(r,e,i);if(!t)return;S(r.node(e),t);let a=d.get(e);a&&S(a,t)});let o=i/2;return e.edges=b(r,o,{mergeSelfLoops:n}).map(({edge:e,start:t,end:r})=>N(e,t,r,o)),e},"applyDagreLayoutResult"),D=(0,g.e)(async({elem:e,graph:t,groups:{clusters:r,edgePaths:o},diagramType:l,id:g,mergeSelfLoops:h,subGraphTitleTotalMargin:u})=>{let c=0;await Promise.all((0,a.Ik)(t).map(async function(e){let i=t.node(e);if(s.c.info("Position XBX => "+e+": ("+i.x,","+i.y,") width: ",i.width," height: ",i.height),i?.clusterNode)i.y+=u,s.c.info("A tainted cluster node XBX1",e,i.id,i.width,i.height,i.x,i.y,t.parent(e)),a.lT.get(i.id).node=i,(0,d.aH)(i);else if(t.children(e).length>0){s.c.info("A pure cluster node XBX1",e,i.id,i.x,i.y,i.width,i.height,t.parent(e)),i.height+=u,t.node(i.parentId);let d=i?.padding/2||0,o=i?.labelBBox?.height||0;s.c.debug("OffsetY",o-d||0,"labelHeight",o,"halfPadding",d),await (0,n.u)(r,i),a.lT.get(i.id).node=i}else{let e=t.node(i.parentId);i.y+=u/2,s.c.info("A regular node XBX1 - using the padding",i.id,"parent",i.parentId,i.width,i.height,i.x,i.y,"offsetY",i.offsetY,"parent",e,e?.offsetY,i),(0,d.aH)(i)}}));let p=u/2;return b(t,p,{mergeSelfLoops:h}).forEach(function({edge:e,start:r,end:n}){s.c.info("Edge "+r+" -> "+n+": "+JSON.stringify(e),e),e.points.forEach(e=>e.y+=p);let d=t.node(r),h=t.node(n),u=(0,i.QP)(o,e,a.lT,l,d,h,g);(0,i.Jj)(e,u)}),t.nodes().forEach(function(e){let r=t.node(e);s.c.info(e,r.type,r.diff),r.isGroup&&(c=r.diff)}),s.c.warn("Returning from recursive render XAX",e,c),{elem:e,diff:c}},"paintDagreLayoutCore"),v=(0,g.e)(async e=>{let t=await E(e);return x(t.graph),await D(t)},"renderDagreSubgraph"),I=(0,g.e)(e=>{let t=new u.k({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.nodeSpacing||e.config?.flowchart?.nodeSpacing,ranksep:e.config?.rankSpacing||e.rankSpacing||e.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return e.nodes.forEach(e=>{t.setNode(e.id,{...e}),e.parentId&&t.setParent(e.id,e.parentId)}
1),s.c.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let r=e.start,a=r+"---"+r+"---1",n=r+"---"+r+"---2",i=t.node(r);t.setNode(a,{domId:a,id:a,parentId:i.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(a,i.parentId),t.setNode(n,{domId:n,id:n,parentId:i.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(n,i.parentId);let d=structuredClone(e),o=structuredClone(e),l=structuredClone(e),s=structuredClone(e);o.originalEdge=d,o.selfLoop={id:d.id,order:0},l.originalEdge=d,l.selfLoop={id:d.id,order:1},s.originalEdge=d,s.selfLoop={id:d.id,order:2},o.label="",o.arrowTypeEnd="none",o.endLabelLeft="",o.endLabelRight="",o.startLabelLeft="",o.id=r+"-cyclic-special-1",l.startLabelRight="",l.startLabelLeft="",l.endLabelLeft="",l.endLabelRight="",l.arrowTypeStart="none",l.arrowTypeEnd="none",l.id=r+"-cyclic-special-mid",s.label="",s.startLabelRight="",s.startLabelLeft="",s.arrowTypeStart="none",i.isGroup&&(o.fromCluster=r,s.toCluster=r),s.id=r+"-cyclic-special-2",s.arrowTypeStart="none",t.setEdge(r,a,o,r+"-cyclic-special-0"),t.setEdge(a,n,l,r+"-cyclic-special-1"),t.setEdge(n,r,s,r+"-cyclic-special-2")}else t.setEdge(e.start,e.end,{...e},e.id)}),(0,a.$z)(t),{graph:t}},"prepareLayoutForDagre"),R=(0,g.e)(async(e,{element:t,preparedLayout:r})=>{let a=r??I(e),n=(0,l.nV)(),i=await E({element:t,graph:a.graph,diagramType:e.type,id:e.diagramId,parentCluster:void 0,siteConfig:n});return a.measuredLayout=i,i},"measureDagreLayout"),T=(0,g.e)((e,t)=>{let r=t.preparedLayout?.measuredLayout;if(!r)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return x(r.graph),C(e,r),r},"runDagreLayoutCore"),k=(0,g.e)((e,{measure:t})=>(0,a.Ik)(t.graph).map(e=>t.graph.node(e)).filter(Boolean),"getDagrePaintNodes"),M=(0,g.e)((e,t,{measure:r})=>e?r.graph.node(e):void 0,"getDagreEdgeNode"),P=(0,a.Nr)({prepareLayout:I,measureLayout:R,runLayoutCore:T,paintOptions:{clusterDb:a.lT,getNodes:k,getEdgeNode:M,skipNode:(0,g.e)((e,{measure:t})=>
1!t.graph.hasNode(e.id),"skipNode"),isCluster:(0,g.e)((e,{measure:t})=>t.graph.hasNode(e.id)&&(t.graph.children(e.id)??[]).length>0,"isCluster")}})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.