UNPKG

code-server

Version:

Run VS Code on a remote server.

4 lines (3 loc) • 11 kB
import{a as V}from"./chunk-TCSUPM5X.js";import{a as j}from"./chunk-KU3KRRIP.js";import"./chunk-EVYRJEN4.js";import"./chunk-UJGYKXFV.js";import"./chunk-SVS6VOAY.js";import"./chunk-7PMLKA6X.js";import"./chunk-OX3BH5OR.js";import"./chunk-EQI6FYDH.js";import"./chunk-KCFSBXDE.js";import"./chunk-OQIZJQUY.js";import"./chunk-WIPFUQZE.js";import{i as w,l as G,o as L}from"./chunk-PKRYIESI.js";import"./chunk-JBQZ5UCE.js";import{B as b,H as v,T as D,U as N,V as C,W as O,X as I,Y as W,Z as H,_ as M,ca as U,r as $}from"./chunk-VBOJ6TJX.js";import{b as o,d as f,j as _}from"./chunk-XDY7PRES.js";import"./chunk-YKM3JX66.js";import{f as X}from"./chunk-ZIJQPUA2.js";import"./chunk-OOJM4CTU.js";var Y="position frame",z="frame positioned",k="position relation",K="relation positioned",we=o(function(e){f.debug("options str",e)},"setOptions"),ye=o(function(){return{}},"getOptions"),Pe=o(function(){q(),D()},"clear");function q(){E={}}o(q,"reset");var Se=$.eventmodeling,Me=o(()=>L({...Se,...b().eventmodeling}),"getConfig"),E={};function J(){let e=ke,{ast:n}=E,t=A();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,r)=>{let a=re(i,n.dataEntities,t);e=P(e,{$kind:Y,index:r,frame:i,textProps:a});let d;ce(i)?(f.debug("source frame",i.sourceFrames),d=n.frames.filter(l=>i.sourceFrames.some(c=>c.$refText===l.name)),d.forEach(l=>{e=P(e,{$kind:k,index:r,frame:i,sourceFrame:l})})):e=P(e,{$kind:k,index:r,frame:i})}),e={...e,sortedSwimlanesArray:R(e.swimlanes)},e}o(J,"getState");function Q(e){E.ast=e}o(Q,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function A(){return s}o(A,"getDiagramProps");var ke={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function Z(e){let n=e.split(".");if(n.length===2)return n[0]}o(Z,"extractNamespace");function ee(e){let n=e.split(".");return n.length===2?n[1]:e}o(ee,"extractName");function te(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}o(te,"findSwimlaneByNamespace");function y(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{let r=Number.parseInt(i);return r>n&&r<t}).map(i=>Number.parseInt(i)))+1}o(y,"findNextAvailableIndex");function ne(e,n){let t=Z(e.entityIdentifier),i=te(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:y(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:y(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:y(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}o(ne,"calculateSwimlaneProps");function ie(e){let{themeVariables:n}=b();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}o(ie,"calculateEntityVisualProps");function re(e,n,t){let i=b(),r=v(ee(e.entityIdentifier)??"",i),a,d={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},c=`<b>${w(r,t.textMaxWidth,d)}</b>`;if(e.dataInlineValue&&(a=e.dataInlineValue,a=a.substring(a.indexOf("{")+1),a=a.substring(0,a.lastIndexOf("}")-1),a=v(a,i),a=w(a,t.textMaxWidth,d),a=a.replaceAll(" ","&nbsp;")),e.dataReference){let p=n.find(S=>S.name===e.dataReference?.$refText);p&&(a=p.dataBlockValue,a=a.substring(a.indexOf(`{ `)+2),a=a.substring(0,a.lastIndexOf("}")-1),a=v(a,i),a=w(a,t.textMaxWidth,d),a=a.replaceAll(" ","&nbsp;"),a+="<br/>")}let m=a!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${a}</code>`);let x={fontSize:d.fontSize,fontWeight:d.fontWeight,fontFamily:d.fontFamily},u=G(c,x),h=m?u.width/3:u.width,g={content:c,width:h,height:u.height};return f.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}o(re,"calculateTextProps");function ae(e,n){let t=n,i=ie(t.frame),r={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:z,frame:t.frame,index:t.index,visual:i,dimension:r,textProps:t.textProps}]}o(ae,"decidePositionFrame");function oe(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}o(oe,"calculateX");function se(e,n){let t=[...e.map(i=>i.r),n];return Math.max(...t)}o(se,"calculateMaxRight");function R(e){return Object.values(e).sort((n,t)=>n.index-t.index)}o(R,"sortedSwimlanesArray");function de(e,n){let t=n,i=ne(t.frame,e.swimlanes),r;i.index in e.swimlanes?r=e.swimlanes[i.index]:r={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,d=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,l={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=oe(r,d,a),m=c+l.width+s.boxPadding,x=se(Object.values(e.swimlanes),m);r.r=c+l.width,r.maxHeight=Math.max(r.maxHeight,l.height),r.height=Math.max(s.swimlaneMinHeight,r.maxHeight)+2*s.swimlanePadding;let u={x:c,y:s.swimlanePadding+r.y,r:m,dimension:l,leftSibling:!1,swimlane:r,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},h={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${r.index}`]:r},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},g=R(h.swimlanes);g.length>0&&(g[0].y=0);for(let p=1;p<g.length;p++){let S=g[p],T=g[p-1];S.y=T.y+T.height+s.swimlaneGap}return h}o(de,"evolveFramePositioned");function le(e,n){return e===0&&n.sourceFrames.length===0}o(le,"isFirstFrame");function ce(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}o(ce,"hasSourceFrame");function F(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}o(F,"findBoxByFrame");function me(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){let r=e[i];if(r.swimlane.index!==n)return r}}o(me,"findBoxByLineIndex");function ue(e,n){let t=n;if(X(t.frame)||le(t.index,t.frame))return[];let i=F(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let r;return t.sourceFrame?r=F(e.boxes,t.sourceFrame):r=me(e.boxes,i.swimlane.index,t.index-1),r===void 0?[]:[{$kind:K,frame:t.frame,index:t.index,sourceBox:r,targetBox:i}]}o(ue,"decidePositionRelation");function xe(e,n){let t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}o(xe,"evolveRelationPositioned");var Fe={[Y]:ae,[k]:ue},Be={[z]:de,[K]:xe};function fe(e,n){let t=Fe[n.$kind];if(t==null)return[];let i=t(e,n);return f.debug("decided events",i),i}o(fe,"decide");function ge(e,n){let t=n.reduce((i,r)=>{let a=Be[r.$kind];return a==null?i:a(i,r)},e);return f.debug("evolve events",{state:e,newState:t,events:n}),t}o(ge,"evolve");function P(e,n){let t=fe(e,n);return ge(e,t)}o(P,"dispatch");var B={getConfig:Me,setOptions:we,getOptions:ye,clear:Pe,setAccTitle:N,getAccTitle:C,getAccDescription:I,setAccDescription:O,setDiagramTitle:W,getDiagramTitle:H,setAst:Q,getDiagramProps:A,getState:J},Ee={parse:o(async e=>{let n=await j("eventmodeling",e);f.debug(n),B.setAst(n),V(n,B)},"parse")},Ae=M(),Re=Ae?.eventmodeling;function he(e,n){return t=>{let i=t.swimlane.y+n.swimlanePadding,r=e.append("g").attr("class","em-box");r.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),r.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}o(he,"renderD3Box");function pe(e,n){return e>n}o(pe,"dirUpwards");function be(e,n,t,i){return r=>{let a=r.sourceBox.swimlane.y+n.swimlanePadding,d=r.targetBox.swimlane.y+n.swimlanePadding,l=pe(a,d),c=r.sourceBox.x+r.sourceBox.dimension.width*2/3,m=r.targetBox.x+r.targetBox.dimension.width/3,x,u;f.debug(`rendering relation up=${l} for `,{sourceBox:r.sourceBox,targetBox:r.targetBox}),l?(x=a,u=d+r.targetBox.dimension.height):(x=a+r.sourceBox.dimension.height,u=d);let h=i.emRelationStroke??r.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",r.visual.fill).attr("stroke",h).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}o(be,"renderD3Relation");function ve(e,n,t,i){return r=>{let a=e.append("g").attr("class","em-swimlane"),d=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";a.append("rect").attr("x",0).attr("y",r.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",r.height).attr("fill",d).attr("stroke",l),a.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",r.y+30).text(r.label)}}o(ve,"renderD3Swimlane");var Te=o(function(e,n,t,i){if(f.debug("in eventmodeling renderer",e+` `,"id:",n,t),!Re)throw new Error("EventModeling config not found");let r=i.db,{themeVariables:a,eventmodeling:d}=M(),l=_(`[id="${n}"]`),c=r.getDiagramProps(),m=r.getState(),x=`em-arrowhead-${n}`,u=a.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(ve(l,m.maxR,c,a)),m.boxes.forEach(he(l,c)),m.relations.forEach(be(l,c,x,a)),l.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),U(void 0,l,d?.padding??30,d?.useMaxWidth)},"draw"),$e={draw:Te},De=o(e=>"","getStyles"),Ne=De,Ge={parser:Ee,db:B,renderer:$e,styles:Ne};export{Ge as diagram};