@sme.up/ketchup2 2.0.0-SNAPSHOT-20250905083046 → 2.0.0-SNAPSHOT-20250905085901
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_basePickBy-CnrWHKZp.js +151 -0
- package/dist/_basePickBy-DGKSP0gv.cjs +1 -0
- package/dist/_baseUniq-CfaAVYmv.cjs +1 -0
- package/dist/_baseUniq-rrVUjaHq.js +614 -0
- package/dist/arc-Cvsmptc6.js +83 -0
- package/dist/arc-DXWJO88c.cjs +1 -0
- package/dist/architecture-O4VJ6CD3-Bg5u-0vt.js +5 -0
- package/dist/architecture-O4VJ6CD3-DaYZgGoD.cjs +1 -0
- package/dist/architectureDiagram-KFL7JDKH-Cc3SNGmS.cjs +36 -0
- package/dist/architectureDiagram-KFL7JDKH-D30vYX4H.js +4660 -0
- package/dist/blockDiagram-ZYB65J3Q-XNfNJO0n.cjs +122 -0
- package/dist/blockDiagram-ZYB65J3Q-sf1yE8If.js +2261 -0
- package/dist/c4Diagram-AAMF2YG6-BNCxdxyW.js +1580 -0
- package/dist/c4Diagram-AAMF2YG6-BTBu0vwj.cjs +10 -0
- package/dist/channel-BlMDdAyt.js +5 -0
- package/dist/channel-DeQCp9ft.cjs +1 -0
- package/dist/chunk-ANTBXLJU-B62KbLiF.js +8 -0
- package/dist/chunk-ANTBXLJU-BjQOW3U7.cjs +1 -0
- package/dist/chunk-FHKO5MBM-DWB4p0-W.js +15 -0
- package/dist/chunk-FHKO5MBM-DzOslnSz.cjs +1 -0
- package/dist/chunk-GLLZNHP4-DDFtxbSr.js +19 -0
- package/dist/chunk-GLLZNHP4-DDZwz-lX.cjs +15 -0
- package/dist/chunk-JBRWN2VN-BLY_1jNQ.cjs +165 -0
- package/dist/chunk-JBRWN2VN-D7vb9zR6.js +1375 -0
- package/dist/chunk-LXBSTHXV-BmkvPzxs.cjs +220 -0
- package/dist/chunk-LXBSTHXV-Brv31JUq.js +1370 -0
- package/dist/chunk-NRVI72HA-Bltdz_dQ.js +19 -0
- package/dist/chunk-NRVI72HA-ClkSCOVn.cjs +1 -0
- package/dist/chunk-OMD6QJNC--UN3JI3w.cjs +1 -0
- package/dist/chunk-OMD6QJNC-D64ATN0N.js +64 -0
- package/dist/chunk-WVR4S24B-0YswEo26.cjs +1 -0
- package/dist/chunk-WVR4S24B-DiP_ArIP.js +8 -0
- package/dist/classDiagram-3BZAVTQC-DWqAc0qT.cjs +1 -0
- package/dist/classDiagram-3BZAVTQC-f7jl_VZA.js +16 -0
- package/dist/classDiagram-v2-QTMF73CY-DWqAc0qT.cjs +1 -0
- package/dist/classDiagram-v2-QTMF73CY-f7jl_VZA.js +16 -0
- package/dist/clone-BWcBp581.cjs +1 -0
- package/dist/clone-BnZevyiW.js +8 -0
- package/dist/cytoscape.esm-CamnA8MN.js +18735 -0
- package/dist/cytoscape.esm-uM8noIeE.cjs +331 -0
- package/dist/dagre-2BBEFEWP-CUPOuCtr.js +444 -0
- package/dist/dagre-2BBEFEWP-DbhCjIet.cjs +4 -0
- package/dist/defaultLocale-D7EN2tov.js +171 -0
- package/dist/defaultLocale-DIVzfLaQ.cjs +1 -0
- package/dist/diagram-4IRLE6MV-CQJ20yhM.cjs +24 -0
- package/dist/diagram-4IRLE6MV-DFeMx_Rq.js +532 -0
- package/dist/diagram-GUPCWM2R-CLKZFWXo.js +142 -0
- package/dist/diagram-GUPCWM2R-DQ8Z1dVv.cjs +24 -0
- package/dist/diagram-RP2FKANI-CPEWV2Fk.js +217 -0
- package/dist/diagram-RP2FKANI-DUPB9s-y.cjs +43 -0
- package/dist/erDiagram-HZWUO2LU-C0Gk1Swz.cjs +60 -0
- package/dist/erDiagram-HZWUO2LU-CyY2HjMf.js +841 -0
- package/dist/flowDiagram-THRYKUMA-gJkHOeSL.cjs +162 -0
- package/dist/flowDiagram-THRYKUMA-w-8EX9wZ.js +1620 -0
- package/dist/ganttDiagram-WV7ZQ7D5-CmPXBktC.js +2504 -0
- package/dist/ganttDiagram-WV7ZQ7D5-DATuP_Ex.cjs +267 -0
- package/dist/gitGraph-ZV4HHKMB-BXu_2mfy.js +5 -0
- package/dist/gitGraph-ZV4HHKMB-e_eUYuE2.cjs +1 -0
- package/dist/gitGraphDiagram-OJR772UL-D7Q38-er.js +699 -0
- package/dist/gitGraphDiagram-OJR772UL-vqgYdo84.cjs +65 -0
- package/dist/graph-D2z8dVgI.cjs +1 -0
- package/dist/graph-fWVDVASg.js +247 -0
- package/dist/index-CBHQ10D6.js +23234 -0
- package/dist/index-CH3q61Aa.cjs +266 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/info-63CPKGFF-B6aHvvSX.js +5 -0
- package/dist/info-63CPKGFF-B7Bgcqhg.cjs +1 -0
- package/dist/infoDiagram-DDUCL6P7-Bb42gyGF.cjs +2 -0
- package/dist/infoDiagram-DDUCL6P7-G8W4Cyzb.js +24 -0
- package/dist/init-CHZsXQcr.cjs +1 -0
- package/dist/init-DjUOC4st.js +16 -0
- package/dist/journeyDiagram-FFXJYRFH-Bck7isLB.js +836 -0
- package/dist/journeyDiagram-FFXJYRFH-DFTMezSW.cjs +139 -0
- package/dist/kanban-definition-KOZQBZVT-Bf4fYslI.cjs +89 -0
- package/dist/kanban-definition-KOZQBZVT-hP_ZGt4S.js +719 -0
- package/dist/katex-C2g-EhzP.cjs +261 -0
- package/dist/katex-CUSbq6rG.js +11692 -0
- package/dist/ketchup2.cjs.js +1 -50
- package/dist/ketchup2.css +1 -1
- package/dist/ketchup2.es.js +23 -8127
- package/dist/layout-B-lXVQQa.cjs +1 -0
- package/dist/layout-CSXO9mhe.js +1324 -0
- package/dist/linear-BZgyGW2T.cjs +1 -0
- package/dist/linear-Cx2KaZOo.js +259 -0
- package/dist/mermaid-parser.core-COPhuhoR.js +12966 -0
- package/dist/mermaid-parser.core-DgsyN-z8.cjs +128 -0
- package/dist/mindmap-definition-LNHGMQRG-DJsQpf8y.cjs +95 -0
- package/dist/mindmap-definition-LNHGMQRG-DQUm__JP.js +3230 -0
- package/dist/ordinal-CagbB1m8.cjs +1 -0
- package/dist/ordinal-DfAQgscy.js +61 -0
- package/dist/packet-HUATNLJX-C2VUbl0T.js +5 -0
- package/dist/packet-HUATNLJX-G8eR5ynJ.cjs +1 -0
- package/dist/pie-WTHONI2E-CfCIU8Tr.cjs +1 -0
- package/dist/pie-WTHONI2E-D4qp2Ay_.js +5 -0
- package/dist/pieDiagram-DBDJKBY4-DqPdbFqw.cjs +30 -0
- package/dist/pieDiagram-DBDJKBY4-nGyOC7-l.js +161 -0
- package/dist/quadrantDiagram-YPSRARAO-DF8AYAxY.cjs +7 -0
- package/dist/quadrantDiagram-YPSRARAO-hyzkVUsQ.js +1022 -0
- package/dist/radar-NJJJXTRR-BpgvgEoJ.cjs +1 -0
- package/dist/radar-NJJJXTRR-DJxmCfQM.js +5 -0
- package/dist/requirementDiagram-EGVEC5DT-DOtzLvFO.cjs +64 -0
- package/dist/requirementDiagram-EGVEC5DT-RXOLhPE3.js +850 -0
- package/dist/sankeyDiagram-HRAUVNP4-CUoOlfVB.cjs +10 -0
- package/dist/sankeyDiagram-HRAUVNP4-DGFS1jVK.js +810 -0
- package/dist/sequenceDiagram-4MX5Z3NR-Cx06uio3.js +2281 -0
- package/dist/sequenceDiagram-4MX5Z3NR-DoW8n1Xr.cjs +122 -0
- package/dist/stateDiagram-UUKSUZ4H-Burg3mSA.cjs +1 -0
- package/dist/stateDiagram-UUKSUZ4H-C2OsUgT8.js +263 -0
- package/dist/stateDiagram-v2-EYPG3UTE-CVHvpjP1.cjs +1 -0
- package/dist/stateDiagram-v2-EYPG3UTE-DL1ew380.js +16 -0
- package/dist/timeline-definition-3HZDQTIS-B66f0uxR.cjs +61 -0
- package/dist/timeline-definition-3HZDQTIS-Bos8RJ8U.js +797 -0
- package/dist/treemap-75Q7IDZK-DyG1W8W-.cjs +1 -0
- package/dist/treemap-75Q7IDZK-Dynfjwww.js +5 -0
- package/dist/xychartDiagram-FDP5SA34-BzWuQtxg.js +1340 -0
- package/dist/xychartDiagram-FDP5SA34-CvgmaqN1.cjs +7 -0
- package/package.json +3 -3
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-ANTBXLJU-BjQOW3U7.cjs"),j=require("./chunk-FHKO5MBM-DzOslnSz.cjs"),s=require("./index-CH3q61Aa.cjs"),K=require("./mermaid-parser.core-DgsyN-z8.cjs");var x={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},U=s.defaultConfig_default.gitGraph,L=s.__name(()=>s.cleanAndMerge({...U,...s.getConfig().gitGraph}),"getConfig"),i=new j.ImperativeState(()=>{const t=L(),e=t.mainBranchName,n=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:n}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function G(){return s.random({length:7})}s.__name(G,"getID");function H(t,e){const n=Object.create(null);return t.reduce((o,r)=>{const a=e(r);return n[a]||(n[a]=!0,o.push(r)),o},[])}s.__name(H,"uniqBy");var Y=s.__name(function(t){i.records.direction=t},"setDirection"),V=s.__name(function(t){s.log.debug("options str",t),t=t?.trim(),t=t||"{}";try{i.records.options=JSON.parse(t)}catch(e){s.log.error("error while parsing gitGraph options",e.message)}},"setOptions"),X=s.__name(function(){return i.records.options},"getOptions"),J=s.__name(function(t){let e=t.msg,n=t.id;const o=t.type;let r=t.tags;s.log.info("commit",e,n,o,r),s.log.debug("Entering commit:",e,n,o,r);const a=L();n=s.common_default.sanitizeText(n,a),e=s.common_default.sanitizeText(e,a),r=r?.map(c=>s.common_default.sanitizeText(c,a));const l={id:n||i.records.seq+"-"+G(),message:e,seq:i.records.seq++,type:o??x.NORMAL,tags:r??[],parents:i.records.head==null?[]:[i.records.head.id],branch:i.records.currBranch};i.records.head=l,s.log.info("main branch",a.mainBranchName),i.records.commits.has(l.id)&&s.log.warn(`Commit ID ${l.id} already exists`),i.records.commits.set(l.id,l),i.records.branches.set(i.records.currBranch,l.id),s.log.debug("in pushCommit "+l.id)},"commit"),Q=s.__name(function(t){let e=t.name;const n=t.order;if(e=s.common_default.sanitizeText(e,L()),i.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);i.records.branches.set(e,i.records.head!=null?i.records.head.id:null),i.records.branchConfig.set(e,{name:e,order:n}),D(e),s.log.debug("in createBranch")},"branch"),Z=s.__name(t=>{let e=t.branch,n=t.id;const o=t.type,r=t.tags,a=L();e=s.common_default.sanitizeText(e,a),n&&(n=s.common_default.sanitizeText(n,a));const l=i.records.branches.get(i.records.currBranch),c=i.records.branches.get(e),f=l?i.records.commits.get(l):void 0,h=c?i.records.commits.get(c):void 0;if(f&&h&&f.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(i.records.currBranch===e){const d=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},d}if(f===void 0||!f){const d=new Error(`Incorrect usage of "merge". Current branch (${i.records.currBranch})has no commits`);throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},d}if(!i.records.branches.has(e)){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},d}if(h===void 0||!h){const d=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},d}if(f===h){const d=new Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},d}if(n&&i.records.commits.has(n)){const d=new Error('Incorrect usage of "merge". Commit with id:'+n+" already exists, use different custom id");throw d.hash={text:`merge ${e} ${n} ${o} ${r?.join(" ")}`,token:`merge ${e} ${n} ${o} ${r?.join(" ")}`,expected:[`merge ${e} ${n}_UNIQUE ${o} ${r?.join(" ")}`]},d}const $=c||"",g={id:n||`${i.records.seq}-${G()}`,message:`merged branch ${e} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,$],branch:i.records.currBranch,type:x.MERGE,customType:o,customId:!!n,tags:r??[]};i.records.head=g,i.records.commits.set(g.id,g),i.records.branches.set(i.records.currBranch,g.id),s.log.debug(i.records.branches),s.log.debug("in mergeBranch")},"merge"),ee=s.__name(function(t){let e=t.id,n=t.targetId,o=t.tags,r=t.parent;s.log.debug("Entering cherryPick:",e,n,o);const a=L();if(e=s.common_default.sanitizeText(e,a),n=s.common_default.sanitizeText(n,a),o=o?.map(f=>s.common_default.sanitizeText(f,a)),r=s.common_default.sanitizeText(r,a),!e||!i.records.commits.has(e)){const f=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw f.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},f}const l=i.records.commits.get(e);if(l===void 0||!l)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(r&&!(Array.isArray(l.parents)&&l.parents.includes(r)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const c=l.branch;if(l.type===x.MERGE&&!r)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!n||!i.records.commits.has(n)){if(c===i.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},g}const f=i.records.branches.get(i.records.currBranch);if(f===void 0||!f){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},g}const h=i.records.commits.get(f);if(h===void 0||!h){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${i.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${e} ${n}`,token:`cherryPick ${e} ${n}`,expected:["cherry-pick abc"]},g}const $={id:i.records.seq+"-"+G(),message:`cherry-picked ${l?.message} into ${i.records.currBranch}`,seq:i.records.seq++,parents:i.records.head==null?[]:[i.records.head.id,l.id],branch:i.records.currBranch,type:x.CHERRY_PICK,tags:o?o.filter(Boolean):[`cherry-pick:${l.id}${l.type===x.MERGE?`|parent:${r}`:""}`]};i.records.head=$,i.records.commits.set($.id,$),i.records.branches.set(i.records.currBranch,$.id),s.log.debug(i.records.branches),s.log.debug("in cherryPick")}},"cherryPick"),D=s.__name(function(t){if(t=s.common_default.sanitizeText(t,L()),i.records.branches.has(t)){i.records.currBranch=t;const e=i.records.branches.get(i.records.currBranch);e===void 0||!e?i.records.head=null:i.records.head=i.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function A(t,e,n){const o=t.indexOf(e);o===-1?t.push(n):t.splice(o,1,n)}s.__name(A,"upsert");function q(t){const e=t.reduce((r,a)=>r.seq>a.seq?r:a,t[0]);let n="";t.forEach(function(r){r===e?n+=" *":n+=" |"});const o=[n,e.id,e.seq];for(const r in i.records.branches)i.records.branches.get(r)===e.id&&o.push(r);if(s.log.debug(o.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const r=i.records.commits.get(e.parents[0]);A(t,e,r),e.parents[1]&&t.push(i.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const r=i.records.commits.get(e.parents[0]);A(t,e,r)}}t=H(t,r=>r.id),q(t)}s.__name(q,"prettyPrintCommitHistory");var re=s.__name(function(){s.log.debug(i.records.commits);const t=F()[0];q([t])},"prettyPrint"),te=s.__name(function(){i.reset(),s.clear()},"clear"),ae=s.__name(function(){return[...i.records.branchConfig.values()].map((e,n)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${n}`)}).sort((e,n)=>(e.order??0)-(n.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),ne=s.__name(function(){return i.records.branches},"getBranches"),se=s.__name(function(){return i.records.commits},"getCommits"),F=s.__name(function(){const t=[...i.records.commits.values()];return t.forEach(function(e){s.log.debug(e.id)}),t.sort((e,n)=>e.seq-n.seq),t},"getCommitsArray"),oe=s.__name(function(){return i.records.currBranch},"getCurrentBranch"),ce=s.__name(function(){return i.records.direction},"getDirection"),ie=s.__name(function(){return i.records.head},"getHead"),z={commitType:x,getConfig:L,setDirection:Y,setOptions:V,getOptions:X,commit:J,branch:Q,merge:Z,cherryPick:ee,checkout:D,prettyPrint:re,clear:te,getBranchesAsObjArray:ae,getBranches:ne,getCommits:se,getCommitsArray:F,getCurrentBranch:oe,getDirection:ce,getHead:ie,setAccTitle:s.setAccTitle,getAccTitle:s.getAccTitle,getAccDescription:s.getAccDescription,setAccDescription:s.setAccDescription,setDiagramTitle:s.setDiagramTitle,getDiagramTitle:s.getDiagramTitle},de=s.__name((t,e)=>{W.populateCommonDb(t,e),t.dir&&e.setDirection(t.dir);for(const n of t.statements)le(n,e)},"populate"),le=s.__name((t,e)=>{const o={Commit:s.__name(r=>e.commit(he(r)),"Commit"),Branch:s.__name(r=>e.branch($e(r)),"Branch"),Merge:s.__name(r=>e.merge(fe(r)),"Merge"),Checkout:s.__name(r=>e.checkout(ge(r)),"Checkout"),CherryPicking:s.__name(r=>e.cherryPick(ye(r)),"CherryPicking")}[t.$type];o?o(t):s.log.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),he=s.__name(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?x[t.type]:x.NORMAL,tags:t.tags??void 0}),"parseCommit"),$e=s.__name(t=>({name:t.name,order:t.order??0}),"parseBranch"),fe=s.__name(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?x[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),ge=s.__name(t=>t.branch,"parseCheckout"),ye=s.__name(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),ue={parse:s.__name(async t=>{const e=await K.parse("gitGraph",t);s.log.debug(e),de(e,z)},"parse")},me=s.getConfig2(),_=me?.gitGraph,E=10,T=40,w=4,v=2,B=8,p=new Map,b=new Map,I=30,k=new Map,R=[],C=0,u="LR",xe=s.__name(()=>{p.clear(),b.clear(),k.clear(),C=0,R=[],u="LR"},"clear"),N=s.__name(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(o=>{const r=document.createElementNS("http://www.w3.org/2000/svg","tspan");r.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.setAttribute("dy","1em"),r.setAttribute("x","0"),r.setAttribute("class","row"),r.textContent=o.trim(),e.appendChild(r)}),e},"drawText"),S=s.__name(t=>{let e,n,o;return u==="BT"?(n=s.__name((r,a)=>r<=a,"comparisonFunc"),o=1/0):(n=s.__name((r,a)=>r>=a,"comparisonFunc"),o=0),t.forEach(r=>{const a=u==="TB"||u=="BT"?b.get(r)?.y:b.get(r)?.x;a!==void 0&&n(a,o)&&(e=r,o=a)}),e},"findClosestParent"),pe=s.__name(t=>{let e="",n=1/0;return t.forEach(o=>{const r=b.get(o).y;r<=n&&(e=o,n=r)}),e||void 0},"findClosestParentBT"),be=s.__name((t,e,n)=>{let o=n,r=n;const a=[];t.forEach(l=>{const c=e.get(l);if(!c)throw new Error(`Commit not found for key ${l}`);c.parents.length?(o=we(c),r=Math.max(o,r)):a.push(c),ve(c,o)}),o=r,a.forEach(l=>{Ce(l,o,n)}),t.forEach(l=>{const c=e.get(l);if(c?.parents.length){const f=pe(c.parents);o=b.get(f).y-T,o<=r&&(r=o);const h=p.get(c.branch).pos,$=o-E;b.set(c.id,{x:h,y:$})}})},"setParallelBTPos"),_e=s.__name(t=>{const e=S(t.parents.filter(o=>o!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const n=b.get(e)?.y;if(n===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return n},"findClosestParentPos"),we=s.__name(t=>_e(t)+T,"calculateCommitPosition"),ve=s.__name((t,e)=>{const n=p.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const o=n.pos,r=e+E;return b.set(t.id,{x:o,y:r}),{x:o,y:r}},"setCommitPosition"),Ce=s.__name((t,e,n)=>{const o=p.get(t.branch);if(!o)throw new Error(`Branch not found for commit ${t.id}`);const r=e+n,a=o.pos;b.set(t.id,{x:a,y:r})},"setRootPosition"),Ee=s.__name((t,e,n,o,r,a)=>{if(a===x.HIGHLIGHT)t.append("rect").attr("x",n.x-10).attr("y",n.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${r%B} ${o}-outer`),t.append("rect").attr("x",n.x-6).attr("y",n.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${r%B} ${o}-inner`);else if(a===x.CHERRY_PICK)t.append("circle").attr("cx",n.x).attr("cy",n.y).attr("r",10).attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",n.x-3).attr("cy",n.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${o}`),t.append("circle").attr("cx",n.x+3).attr("cy",n.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",n.x+3).attr("y1",n.y+1).attr("x2",n.x).attr("y2",n.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${o}`),t.append("line").attr("x1",n.x-3).attr("y1",n.y+1).attr("x2",n.x).attr("y2",n.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${o}`);else{const l=t.append("circle");if(l.attr("cx",n.x),l.attr("cy",n.y),l.attr("r",e.type===x.MERGE?9:10),l.attr("class",`commit ${e.id} commit${r%B}`),a===x.MERGE){const c=t.append("circle");c.attr("cx",n.x),c.attr("cy",n.y),c.attr("r",6),c.attr("class",`commit ${o} ${e.id} commit${r%B}`)}a===x.REVERSE&&t.append("path").attr("d",`M ${n.x-5},${n.y-5}L${n.x+5},${n.y+5}M${n.x-5},${n.y+5}L${n.x+5},${n.y-5}`).attr("class",`commit ${o} ${e.id} commit${r%B}`)}},"drawCommitBullet"),Te=s.__name((t,e,n,o)=>{if(e.type!==x.CHERRY_PICK&&(e.customId&&e.type===x.MERGE||e.type!==x.MERGE)&&_?.showCommitLabel){const r=t.append("g"),a=r.insert("rect").attr("class","commit-label-bkg"),l=r.append("text").attr("x",o).attr("y",n.y+25).attr("class","commit-label").text(e.id),c=l.node()?.getBBox();if(c&&(a.attr("x",n.posWithOffset-c.width/2-v).attr("y",n.y+13.5).attr("width",c.width+2*v).attr("height",c.height+2*v),u==="TB"||u==="BT"?(a.attr("x",n.x-(c.width+4*w+5)).attr("y",n.y-12),l.attr("x",n.x-(c.width+4*w)).attr("y",n.y+c.height-12)):l.attr("x",n.posWithOffset-c.width/2),_.rotateCommitLabel))if(u==="TB"||u==="BT")l.attr("transform","rotate(-45, "+n.x+", "+n.y+")"),a.attr("transform","rotate(-45, "+n.x+", "+n.y+")");else{const f=-7.5-(c.width+10)/25*9.5,h=10+c.width/25*8.5;r.attr("transform","translate("+f+", "+h+") rotate(-45, "+o+", "+n.y+")")}}},"drawCommitLabel"),Be=s.__name((t,e,n,o)=>{if(e.tags.length>0){let r=0,a=0,l=0;const c=[];for(const f of e.tags.reverse()){const h=t.insert("polygon"),$=t.append("circle"),g=t.append("text").attr("y",n.y-16-r).attr("class","tag-label").text(f),d=g.node()?.getBBox();if(!d)throw new Error("Tag bbox not found");a=Math.max(a,d.width),l=Math.max(l,d.height),g.attr("x",n.posWithOffset-d.width/2),c.push({tag:g,hole:$,rect:h,yOffset:r}),r+=20}for(const{tag:f,hole:h,rect:$,yOffset:g}of c){const d=l/2,y=n.y-19.2-g;if($.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
+
${o-a/2-w/2},${y+v}
|
|
3
|
+
${o-a/2-w/2},${y-v}
|
|
4
|
+
${n.posWithOffset-a/2-w},${y-d-v}
|
|
5
|
+
${n.posWithOffset+a/2+w},${y-d-v}
|
|
6
|
+
${n.posWithOffset+a/2+w},${y+d+v}
|
|
7
|
+
${n.posWithOffset-a/2-w},${y+d+v}`),h.attr("cy",y).attr("cx",o-a/2+w/2).attr("r",1.5).attr("class","tag-hole"),u==="TB"||u==="BT"){const m=o+g;$.attr("class","tag-label-bkg").attr("points",`
|
|
8
|
+
${n.x},${m+2}
|
|
9
|
+
${n.x},${m-2}
|
|
10
|
+
${n.x+E},${m-d-2}
|
|
11
|
+
${n.x+E+a+4},${m-d-2}
|
|
12
|
+
${n.x+E+a+4},${m+d+2}
|
|
13
|
+
${n.x+E},${m+d+2}`).attr("transform","translate(12,12) rotate(45, "+n.x+","+o+")"),h.attr("cx",n.x+w/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+n.x+","+o+")"),f.attr("x",n.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+n.x+","+o+")")}}}},"drawCommitTags"),Le=s.__name(t=>{switch(t.customType??t.type){case x.NORMAL:return"commit-normal";case x.REVERSE:return"commit-reverse";case x.HIGHLIGHT:return"commit-highlight";case x.MERGE:return"commit-merge";case x.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),ke=s.__name((t,e,n,o)=>{const r={x:0,y:0};if(t.parents.length>0){const a=S(t.parents);if(a){const l=o.get(a)??r;return e==="TB"?l.y+T:e==="BT"?(o.get(t.id)??r).y-T:l.x+T}}else return e==="TB"?I:e==="BT"?(o.get(t.id)??r).y-T:0;return 0},"calculatePosition"),Me=s.__name((t,e,n)=>{const o=u==="BT"&&n?e:e+E,r=u==="TB"||u==="BT"?o:p.get(t.branch)?.pos,a=u==="TB"||u==="BT"?p.get(t.branch)?.pos:o;if(a===void 0||r===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:r,posWithOffset:o}},"getCommitPosition"),P=s.__name((t,e,n)=>{if(!_)throw new Error("GitGraph config not found");const o=t.append("g").attr("class","commit-bullets"),r=t.append("g").attr("class","commit-labels");let a=u==="TB"||u==="BT"?I:0;const l=[...e.keys()],c=_?.parallelCommits??!1,f=s.__name(($,g)=>{const d=e.get($)?.seq,y=e.get(g)?.seq;return d!==void 0&&y!==void 0?d-y:0},"sortKeys");let h=l.sort(f);u==="BT"&&(c&&be(h,e,a),h=h.reverse()),h.forEach($=>{const g=e.get($);if(!g)throw new Error(`Commit not found for key ${$}`);c&&(a=ke(g,u,a,b));const d=Me(g,a,c);if(n){const y=Le(g),m=g.customType??g.type,O=p.get(g.branch)?.index??0;Ee(o,g,d,y,O,m),Te(r,g,d,a),Be(r,g,d,a)}u==="TB"||u==="BT"?b.set(g.id,{x:d.x,y:d.posWithOffset}):b.set(g.id,{x:d.posWithOffset,y:d.y}),a=u==="BT"&&c?a+T:a+T+E,a>C&&(C=a)})},"drawCommits"),Ie=s.__name((t,e,n,o,r)=>{const l=(u==="TB"||u==="BT"?n.x<o.x:n.y<o.y)?e.branch:t.branch,c=s.__name(h=>h.branch===l,"isOnBranchToGetCurve"),f=s.__name(h=>h.seq>t.seq&&h.seq<e.seq,"isBetweenCommits");return[...r.values()].some(h=>f(h)&&c(h))},"shouldRerouteArrow"),M=s.__name((t,e,n=0)=>{const o=t+Math.abs(t-e)/2;if(n>5)return o;if(R.every(l=>Math.abs(l-o)>=10))return R.push(o),o;const a=Math.abs(t-e);return M(t,e-a/5,n+1)},"findLane"),Re=s.__name((t,e,n,o)=>{const r=b.get(e.id),a=b.get(n.id);if(r===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${n.id}`);const l=Ie(e,n,r,a,o);let c="",f="",h=0,$=0,g=p.get(n.branch)?.index;n.type===x.MERGE&&e.id!==n.parents[0]&&(g=p.get(e.branch)?.index);let d;if(l){c="A 10 10, 0, 0, 0,",f="A 10 10, 0, 0, 1,",h=10,$=10;const y=r.y<a.y?M(r.y,a.y):M(a.y,r.y),m=r.x<a.x?M(r.x,a.x):M(a.x,r.x);u==="TB"?r.x<a.x?d=`M ${r.x} ${r.y} L ${m-h} ${r.y} ${f} ${m} ${r.y+$} L ${m} ${a.y-h} ${c} ${m+$} ${a.y} L ${a.x} ${a.y}`:(g=p.get(e.branch)?.index,d=`M ${r.x} ${r.y} L ${m+h} ${r.y} ${c} ${m} ${r.y+$} L ${m} ${a.y-h} ${f} ${m-$} ${a.y} L ${a.x} ${a.y}`):u==="BT"?r.x<a.x?d=`M ${r.x} ${r.y} L ${m-h} ${r.y} ${c} ${m} ${r.y-$} L ${m} ${a.y+h} ${f} ${m+$} ${a.y} L ${a.x} ${a.y}`:(g=p.get(e.branch)?.index,d=`M ${r.x} ${r.y} L ${m+h} ${r.y} ${f} ${m} ${r.y-$} L ${m} ${a.y+h} ${c} ${m-$} ${a.y} L ${a.x} ${a.y}`):r.y<a.y?d=`M ${r.x} ${r.y} L ${r.x} ${y-h} ${c} ${r.x+$} ${y} L ${a.x-h} ${y} ${f} ${a.x} ${y+$} L ${a.x} ${a.y}`:(g=p.get(e.branch)?.index,d=`M ${r.x} ${r.y} L ${r.x} ${y+h} ${f} ${r.x+$} ${y} L ${a.x-h} ${y} ${c} ${a.x} ${y-$} L ${a.x} ${a.y}`)}else c="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,u==="TB"?(r.x<a.x&&(n.type===x.MERGE&&e.id!==n.parents[0]?d=`M ${r.x} ${r.y} L ${r.x} ${a.y-h} ${c} ${r.x+$} ${a.y} L ${a.x} ${a.y}`:d=`M ${r.x} ${r.y} L ${a.x-h} ${r.y} ${f} ${a.x} ${r.y+$} L ${a.x} ${a.y}`),r.x>a.x&&(c="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,n.type===x.MERGE&&e.id!==n.parents[0]?d=`M ${r.x} ${r.y} L ${r.x} ${a.y-h} ${f} ${r.x-$} ${a.y} L ${a.x} ${a.y}`:d=`M ${r.x} ${r.y} L ${a.x+h} ${r.y} ${c} ${a.x} ${r.y+$} L ${a.x} ${a.y}`),r.x===a.x&&(d=`M ${r.x} ${r.y} L ${a.x} ${a.y}`)):u==="BT"?(r.x<a.x&&(n.type===x.MERGE&&e.id!==n.parents[0]?d=`M ${r.x} ${r.y} L ${r.x} ${a.y+h} ${f} ${r.x+$} ${a.y} L ${a.x} ${a.y}`:d=`M ${r.x} ${r.y} L ${a.x-h} ${r.y} ${c} ${a.x} ${r.y-$} L ${a.x} ${a.y}`),r.x>a.x&&(c="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,n.type===x.MERGE&&e.id!==n.parents[0]?d=`M ${r.x} ${r.y} L ${r.x} ${a.y+h} ${c} ${r.x-$} ${a.y} L ${a.x} ${a.y}`:d=`M ${r.x} ${r.y} L ${a.x-h} ${r.y} ${c} ${a.x} ${r.y-$} L ${a.x} ${a.y}`),r.x===a.x&&(d=`M ${r.x} ${r.y} L ${a.x} ${a.y}`)):(r.y<a.y&&(n.type===x.MERGE&&e.id!==n.parents[0]?d=`M ${r.x} ${r.y} L ${a.x-h} ${r.y} ${f} ${a.x} ${r.y+$} L ${a.x} ${a.y}`:d=`M ${r.x} ${r.y} L ${r.x} ${a.y-h} ${c} ${r.x+$} ${a.y} L ${a.x} ${a.y}`),r.y>a.y&&(n.type===x.MERGE&&e.id!==n.parents[0]?d=`M ${r.x} ${r.y} L ${a.x-h} ${r.y} ${c} ${a.x} ${r.y-$} L ${a.x} ${a.y}`:d=`M ${r.x} ${r.y} L ${r.x} ${a.y+h} ${f} ${r.x+$} ${a.y} L ${a.x} ${a.y}`),r.y===a.y&&(d=`M ${r.x} ${r.y} L ${a.x} ${a.y}`));if(d===void 0)throw new Error("Line definition not found");t.append("path").attr("d",d).attr("class","arrow arrow"+g%B)},"drawArrow"),Ge=s.__name((t,e)=>{const n=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(o=>{const r=e.get(o);r.parents&&r.parents.length>0&&r.parents.forEach(a=>{Re(n,e.get(a),r,e)})})},"drawArrows"),Oe=s.__name((t,e)=>{const n=t.append("g");e.forEach((o,r)=>{const a=r%B,l=p.get(o.name)?.pos;if(l===void 0)throw new Error(`Position not found for branch ${o.name}`);const c=n.append("line");c.attr("x1",0),c.attr("y1",l),c.attr("x2",C),c.attr("y2",l),c.attr("class","branch branch"+a),u==="TB"?(c.attr("y1",I),c.attr("x1",l),c.attr("y2",C),c.attr("x2",l)):u==="BT"&&(c.attr("y1",C),c.attr("x1",l),c.attr("y2",I),c.attr("x2",l)),R.push(l);const f=o.name,h=N(f),$=n.insert("rect"),d=n.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);d.node().appendChild(h);const y=h.getBBox();$.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-y.width-4-(_?.rotateCommitLabel===!0?30:0)).attr("y",-y.height/2+8).attr("width",y.width+18).attr("height",y.height+4),d.attr("transform","translate("+(-y.width-14-(_?.rotateCommitLabel===!0?30:0))+", "+(l-y.height/2-1)+")"),u==="TB"?($.attr("x",l-y.width/2-10).attr("y",0),d.attr("transform","translate("+(l-y.width/2-5)+", 0)")):u==="BT"?($.attr("x",l-y.width/2-10).attr("y",C),d.attr("transform","translate("+(l-y.width/2-5)+", "+C+")")):$.attr("transform","translate(-19, "+(l-y.height/2)+")")})},"drawBranches"),Ae=s.__name(function(t,e,n,o,r){return p.set(t,{pos:e,index:n}),e+=50+(r?40:0)+(u==="TB"||u==="BT"?o.width/2:0),e},"setBranchPosition"),qe=s.__name(function(t,e,n,o){if(xe(),s.log.debug("in gitgraph renderer",t+`
|
|
14
|
+
`,"id:",e,n),!_)throw new Error("GitGraph config not found");const r=_.rotateCommitLabel??!1,a=o.db;k=a.getCommits();const l=a.getBranchesAsObjArray();u=a.getDirection();const c=s.select(`[id="${e}"]`);let f=0;l.forEach((h,$)=>{const g=N(h.name),d=c.append("g"),y=d.insert("g").attr("class","branchLabel"),m=y.insert("g").attr("class","label branch-label");m.node()?.appendChild(g);const O=g.getBBox();f=Ae(h.name,f,$,O,r),m.remove(),y.remove(),d.remove()}),P(c,k,!1),_.showBranches&&Oe(c,l),Ge(c,k),P(c,k,!0),s.utils_default.insertTitle(c,"gitTitleText",_.titleTopMargin??0,a.getDiagramTitle()),s.setupGraphViewbox2(void 0,c,_.diagramPadding,_.useMaxWidth)},"draw"),Pe={draw:qe},He=s.__name(t=>`
|
|
15
|
+
.commit-id,
|
|
16
|
+
.commit-msg,
|
|
17
|
+
.branch-label {
|
|
18
|
+
fill: lightgrey;
|
|
19
|
+
color: lightgrey;
|
|
20
|
+
font-family: 'trebuchet ms', verdana, arial, sans-serif;
|
|
21
|
+
font-family: var(--mermaid-font-family);
|
|
22
|
+
}
|
|
23
|
+
${[0,1,2,3,4,5,6,7].map(e=>`
|
|
24
|
+
.branch-label${e} { fill: ${t["gitBranchLabel"+e]}; }
|
|
25
|
+
.commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; }
|
|
26
|
+
.commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; }
|
|
27
|
+
.label${e} { fill: ${t["git"+e]}; }
|
|
28
|
+
.arrow${e} { stroke: ${t["git"+e]}; }
|
|
29
|
+
`).join(`
|
|
30
|
+
`)}
|
|
31
|
+
|
|
32
|
+
.branch {
|
|
33
|
+
stroke-width: 1;
|
|
34
|
+
stroke: ${t.lineColor};
|
|
35
|
+
stroke-dasharray: 2;
|
|
36
|
+
}
|
|
37
|
+
.commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
|
|
38
|
+
.commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
|
|
39
|
+
.tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
|
|
40
|
+
.tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
|
|
41
|
+
.tag-hole { fill: ${t.textColor}; }
|
|
42
|
+
|
|
43
|
+
.commit-merge {
|
|
44
|
+
stroke: ${t.primaryColor};
|
|
45
|
+
fill: ${t.primaryColor};
|
|
46
|
+
}
|
|
47
|
+
.commit-reverse {
|
|
48
|
+
stroke: ${t.primaryColor};
|
|
49
|
+
fill: ${t.primaryColor};
|
|
50
|
+
stroke-width: 3;
|
|
51
|
+
}
|
|
52
|
+
.commit-highlight-outer {
|
|
53
|
+
}
|
|
54
|
+
.commit-highlight-inner {
|
|
55
|
+
stroke: ${t.primaryColor};
|
|
56
|
+
fill: ${t.primaryColor};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.arrow { stroke-width: 8; stroke-linecap: round; fill: none}
|
|
60
|
+
.gitTitleText {
|
|
61
|
+
text-anchor: middle;
|
|
62
|
+
font-size: 18px;
|
|
63
|
+
fill: ${t.textColor};
|
|
64
|
+
}
|
|
65
|
+
`,"getStyles"),De=He,Fe={parser:ue,db:z,renderer:Pe,styles:De};exports.diagram=Fe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const u=require("./index-CH3q61Aa.cjs"),n=require("./_baseUniq-CfaAVYmv.cjs");var b=u.baseRest(function(o){return n.baseUniq(n.baseFlatten(o,1,u.isArrayLikeObject,!0))}),E="\0",a="\0",g="";class f{constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=u.constant$1(void 0),this._defaultEdgeLabelFn=u.constant$1(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return u.isFunction(e)||(e=u.constant$1(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return n.keys(this._nodes)}sources(){var e=this;return n.filter(this.nodes(),function(t){return u.isEmpty(e._in[t])})}sinks(){var e=this;return n.filter(this.nodes(),function(t){return u.isEmpty(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return n.forEach(e,function(r){s.length>1?i.setNode(r,t):i.setNode(r)}),this}setNode(e,t){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=a,this._children[e]={},this._children[a][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var t=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],n.forEach(this.children(e),s=>{this.setParent(s)}),delete this._children[e]),n.forEach(n.keys(this._in[e]),t),delete this._in[e],delete this._preds[e],n.forEach(n.keys(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(n.isUndefined(t))t=a;else{t+="";for(var s=t;!n.isUndefined(s);s=this.parent(s))if(s===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==a)return t}}children(e){if(n.isUndefined(e)&&(e=a),this._isCompound){var t=this._children[e];if(t)return n.keys(t)}else{if(e===a)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return n.keys(t)}successors(e){var t=this._sucs[e];if(t)return n.keys(t)}neighbors(e){var t=this.predecessors(e);if(t)return b(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;n.forEach(this._nodes,function(h,d){e(d)&&t.setNode(d,h)}),n.forEach(this._edgeObjs,function(h){t.hasNode(h.v)&&t.hasNode(h.w)&&t.setEdge(h,s.edge(h))});var i={};function r(h){var d=s.parent(h);return d===void 0||t.hasNode(d)?(i[h]=d,d):d in i?i[d]:r(d)}return this._isCompound&&n.forEach(t.nodes(),function(h){t.setParent(h,r(h))}),t}setDefaultEdgeLabel(e){return u.isFunction(e)||(e=u.constant$1(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return n.values(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return n.reduce(e,function(r,h){return i.length>1?s.setEdge(r,h,t):s.setEdge(r,h),h}),this}setEdge(){var e,t,s,i,r=!1,h=arguments[0];typeof h=="object"&&h!==null&&"v"in h?(e=h.v,t=h.w,s=h.name,arguments.length===2&&(i=arguments[1],r=!0)):(e=h,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,n.isUndefined(s)||(s=""+s);var d=_(this._isDirected,e,t,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,d))return r&&(this._edgeLabels[d]=i),this;if(!n.isUndefined(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[d]=r?i:this._defaultEdgeLabelFn(e,t,s);var l=y(this._isDirected,e,t,s);return e=l.v,t=l.w,Object.freeze(l),this._edgeObjs[d]=l,p(this._preds[t],e),p(this._sucs[e],t),this._in[t][d]=l,this._out[e][d]=l,this._edgeCount++,this}edge(e,t,s){var i=arguments.length===1?c(this._isDirected,arguments[0]):_(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=arguments.length===1?c(this._isDirected,arguments[0]):_(this._isDirected,e,t,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,t,s){var i=arguments.length===1?c(this._isDirected,arguments[0]):_(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],m(this._preds[t],e),m(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=n.values(s);return t?n.filter(i,function(r){return r.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=n.values(s);return t?n.filter(i,function(r){return r.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}f.prototype._nodeCount=0;f.prototype._edgeCount=0;function p(o,e){o[e]?o[e]++:o[e]=1}function m(o,e){--o[e]||delete o[e]}function _(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var h=i;i=r,r=h}return i+g+r+g+(n.isUndefined(s)?E:s)}function y(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var h=i;i=r,r=h}var d={v:i,w:r};return s&&(d.name=s),d}function c(o,e){return _(o,e.v,e.w,e.name)}exports.Graph=f;
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { aA as N, aB as j, aC as f, aD as b, aE as E } from "./index-CBHQ10D6.js";
|
|
2
|
+
import { a as v, c as P, k as _, f as g, d, i as l, v as p, r as D } from "./_baseUniq-rrVUjaHq.js";
|
|
3
|
+
var w = N(function(o) {
|
|
4
|
+
return v(P(o, 1, j, !0));
|
|
5
|
+
}), F = "\0", a = "\0", O = "";
|
|
6
|
+
class L {
|
|
7
|
+
constructor(e = {}) {
|
|
8
|
+
this._isDirected = Object.prototype.hasOwnProperty.call(e, "directed") ? e.directed : !0, this._isMultigraph = Object.prototype.hasOwnProperty.call(e, "multigraph") ? e.multigraph : !1, this._isCompound = Object.prototype.hasOwnProperty.call(e, "compound") ? e.compound : !1, this._label = void 0, this._defaultNodeLabelFn = f(void 0), this._defaultEdgeLabelFn = f(void 0), this._nodes = {}, this._isCompound && (this._parent = {}, this._children = {}, this._children[a] = {}), this._in = {}, this._preds = {}, this._out = {}, this._sucs = {}, this._edgeObjs = {}, this._edgeLabels = {};
|
|
9
|
+
}
|
|
10
|
+
/* === Graph functions ========= */
|
|
11
|
+
isDirected() {
|
|
12
|
+
return this._isDirected;
|
|
13
|
+
}
|
|
14
|
+
isMultigraph() {
|
|
15
|
+
return this._isMultigraph;
|
|
16
|
+
}
|
|
17
|
+
isCompound() {
|
|
18
|
+
return this._isCompound;
|
|
19
|
+
}
|
|
20
|
+
setGraph(e) {
|
|
21
|
+
return this._label = e, this;
|
|
22
|
+
}
|
|
23
|
+
graph() {
|
|
24
|
+
return this._label;
|
|
25
|
+
}
|
|
26
|
+
/* === Node functions ========== */
|
|
27
|
+
setDefaultNodeLabel(e) {
|
|
28
|
+
return b(e) || (e = f(e)), this._defaultNodeLabelFn = e, this;
|
|
29
|
+
}
|
|
30
|
+
nodeCount() {
|
|
31
|
+
return this._nodeCount;
|
|
32
|
+
}
|
|
33
|
+
nodes() {
|
|
34
|
+
return _(this._nodes);
|
|
35
|
+
}
|
|
36
|
+
sources() {
|
|
37
|
+
var e = this;
|
|
38
|
+
return g(this.nodes(), function(t) {
|
|
39
|
+
return E(e._in[t]);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
sinks() {
|
|
43
|
+
var e = this;
|
|
44
|
+
return g(this.nodes(), function(t) {
|
|
45
|
+
return E(e._out[t]);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
setNodes(e, t) {
|
|
49
|
+
var s = arguments, i = this;
|
|
50
|
+
return d(e, function(r) {
|
|
51
|
+
s.length > 1 ? i.setNode(r, t) : i.setNode(r);
|
|
52
|
+
}), this;
|
|
53
|
+
}
|
|
54
|
+
setNode(e, t) {
|
|
55
|
+
return Object.prototype.hasOwnProperty.call(this._nodes, e) ? (arguments.length > 1 && (this._nodes[e] = t), this) : (this._nodes[e] = arguments.length > 1 ? t : this._defaultNodeLabelFn(e), this._isCompound && (this._parent[e] = a, this._children[e] = {}, this._children[a][e] = !0), this._in[e] = {}, this._preds[e] = {}, this._out[e] = {}, this._sucs[e] = {}, ++this._nodeCount, this);
|
|
56
|
+
}
|
|
57
|
+
node(e) {
|
|
58
|
+
return this._nodes[e];
|
|
59
|
+
}
|
|
60
|
+
hasNode(e) {
|
|
61
|
+
return Object.prototype.hasOwnProperty.call(this._nodes, e);
|
|
62
|
+
}
|
|
63
|
+
removeNode(e) {
|
|
64
|
+
if (Object.prototype.hasOwnProperty.call(this._nodes, e)) {
|
|
65
|
+
var t = (s) => this.removeEdge(this._edgeObjs[s]);
|
|
66
|
+
delete this._nodes[e], this._isCompound && (this._removeFromParentsChildList(e), delete this._parent[e], d(this.children(e), (s) => {
|
|
67
|
+
this.setParent(s);
|
|
68
|
+
}), delete this._children[e]), d(_(this._in[e]), t), delete this._in[e], delete this._preds[e], d(_(this._out[e]), t), delete this._out[e], delete this._sucs[e], --this._nodeCount;
|
|
69
|
+
}
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
setParent(e, t) {
|
|
73
|
+
if (!this._isCompound)
|
|
74
|
+
throw new Error("Cannot set parent in a non-compound graph");
|
|
75
|
+
if (l(t))
|
|
76
|
+
t = a;
|
|
77
|
+
else {
|
|
78
|
+
t += "";
|
|
79
|
+
for (var s = t; !l(s); s = this.parent(s))
|
|
80
|
+
if (s === e)
|
|
81
|
+
throw new Error("Setting " + t + " as parent of " + e + " would create a cycle");
|
|
82
|
+
this.setNode(t);
|
|
83
|
+
}
|
|
84
|
+
return this.setNode(e), this._removeFromParentsChildList(e), this._parent[e] = t, this._children[t][e] = !0, this;
|
|
85
|
+
}
|
|
86
|
+
_removeFromParentsChildList(e) {
|
|
87
|
+
delete this._children[this._parent[e]][e];
|
|
88
|
+
}
|
|
89
|
+
parent(e) {
|
|
90
|
+
if (this._isCompound) {
|
|
91
|
+
var t = this._parent[e];
|
|
92
|
+
if (t !== a)
|
|
93
|
+
return t;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
children(e) {
|
|
97
|
+
if (l(e) && (e = a), this._isCompound) {
|
|
98
|
+
var t = this._children[e];
|
|
99
|
+
if (t)
|
|
100
|
+
return _(t);
|
|
101
|
+
} else {
|
|
102
|
+
if (e === a)
|
|
103
|
+
return this.nodes();
|
|
104
|
+
if (this.hasNode(e))
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
predecessors(e) {
|
|
109
|
+
var t = this._preds[e];
|
|
110
|
+
if (t)
|
|
111
|
+
return _(t);
|
|
112
|
+
}
|
|
113
|
+
successors(e) {
|
|
114
|
+
var t = this._sucs[e];
|
|
115
|
+
if (t)
|
|
116
|
+
return _(t);
|
|
117
|
+
}
|
|
118
|
+
neighbors(e) {
|
|
119
|
+
var t = this.predecessors(e);
|
|
120
|
+
if (t)
|
|
121
|
+
return w(t, this.successors(e));
|
|
122
|
+
}
|
|
123
|
+
isLeaf(e) {
|
|
124
|
+
var t;
|
|
125
|
+
return this.isDirected() ? t = this.successors(e) : t = this.neighbors(e), t.length === 0;
|
|
126
|
+
}
|
|
127
|
+
filterNodes(e) {
|
|
128
|
+
var t = new this.constructor({
|
|
129
|
+
directed: this._isDirected,
|
|
130
|
+
multigraph: this._isMultigraph,
|
|
131
|
+
compound: this._isCompound
|
|
132
|
+
});
|
|
133
|
+
t.setGraph(this.graph());
|
|
134
|
+
var s = this;
|
|
135
|
+
d(this._nodes, function(n, h) {
|
|
136
|
+
e(h) && t.setNode(h, n);
|
|
137
|
+
}), d(this._edgeObjs, function(n) {
|
|
138
|
+
t.hasNode(n.v) && t.hasNode(n.w) && t.setEdge(n, s.edge(n));
|
|
139
|
+
});
|
|
140
|
+
var i = {};
|
|
141
|
+
function r(n) {
|
|
142
|
+
var h = s.parent(n);
|
|
143
|
+
return h === void 0 || t.hasNode(h) ? (i[n] = h, h) : h in i ? i[h] : r(h);
|
|
144
|
+
}
|
|
145
|
+
return this._isCompound && d(t.nodes(), function(n) {
|
|
146
|
+
t.setParent(n, r(n));
|
|
147
|
+
}), t;
|
|
148
|
+
}
|
|
149
|
+
/* === Edge functions ========== */
|
|
150
|
+
setDefaultEdgeLabel(e) {
|
|
151
|
+
return b(e) || (e = f(e)), this._defaultEdgeLabelFn = e, this;
|
|
152
|
+
}
|
|
153
|
+
edgeCount() {
|
|
154
|
+
return this._edgeCount;
|
|
155
|
+
}
|
|
156
|
+
edges() {
|
|
157
|
+
return p(this._edgeObjs);
|
|
158
|
+
}
|
|
159
|
+
setPath(e, t) {
|
|
160
|
+
var s = this, i = arguments;
|
|
161
|
+
return D(e, function(r, n) {
|
|
162
|
+
return i.length > 1 ? s.setEdge(r, n, t) : s.setEdge(r, n), n;
|
|
163
|
+
}), this;
|
|
164
|
+
}
|
|
165
|
+
/*
|
|
166
|
+
* setEdge(v, w, [value, [name]])
|
|
167
|
+
* setEdge({ v, w, [name] }, [value])
|
|
168
|
+
*/
|
|
169
|
+
setEdge() {
|
|
170
|
+
var e, t, s, i, r = !1, n = arguments[0];
|
|
171
|
+
typeof n == "object" && n !== null && "v" in n ? (e = n.v, t = n.w, s = n.name, arguments.length === 2 && (i = arguments[1], r = !0)) : (e = n, t = arguments[1], s = arguments[3], arguments.length > 2 && (i = arguments[2], r = !0)), e = "" + e, t = "" + t, l(s) || (s = "" + s);
|
|
172
|
+
var h = c(this._isDirected, e, t, s);
|
|
173
|
+
if (Object.prototype.hasOwnProperty.call(this._edgeLabels, h))
|
|
174
|
+
return r && (this._edgeLabels[h] = i), this;
|
|
175
|
+
if (!l(s) && !this._isMultigraph)
|
|
176
|
+
throw new Error("Cannot set a named edge when isMultigraph = false");
|
|
177
|
+
this.setNode(e), this.setNode(t), this._edgeLabels[h] = r ? i : this._defaultEdgeLabelFn(e, t, s);
|
|
178
|
+
var u = M(this._isDirected, e, t, s);
|
|
179
|
+
return e = u.v, t = u.w, Object.freeze(u), this._edgeObjs[h] = u, C(this._preds[t], e), C(this._sucs[e], t), this._in[t][h] = u, this._out[e][h] = u, this._edgeCount++, this;
|
|
180
|
+
}
|
|
181
|
+
edge(e, t, s) {
|
|
182
|
+
var i = arguments.length === 1 ? m(this._isDirected, arguments[0]) : c(this._isDirected, e, t, s);
|
|
183
|
+
return this._edgeLabels[i];
|
|
184
|
+
}
|
|
185
|
+
hasEdge(e, t, s) {
|
|
186
|
+
var i = arguments.length === 1 ? m(this._isDirected, arguments[0]) : c(this._isDirected, e, t, s);
|
|
187
|
+
return Object.prototype.hasOwnProperty.call(this._edgeLabels, i);
|
|
188
|
+
}
|
|
189
|
+
removeEdge(e, t, s) {
|
|
190
|
+
var i = arguments.length === 1 ? m(this._isDirected, arguments[0]) : c(this._isDirected, e, t, s), r = this._edgeObjs[i];
|
|
191
|
+
return r && (e = r.v, t = r.w, delete this._edgeLabels[i], delete this._edgeObjs[i], y(this._preds[t], e), y(this._sucs[e], t), delete this._in[t][i], delete this._out[e][i], this._edgeCount--), this;
|
|
192
|
+
}
|
|
193
|
+
inEdges(e, t) {
|
|
194
|
+
var s = this._in[e];
|
|
195
|
+
if (s) {
|
|
196
|
+
var i = p(s);
|
|
197
|
+
return t ? g(i, function(r) {
|
|
198
|
+
return r.v === t;
|
|
199
|
+
}) : i;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
outEdges(e, t) {
|
|
203
|
+
var s = this._out[e];
|
|
204
|
+
if (s) {
|
|
205
|
+
var i = p(s);
|
|
206
|
+
return t ? g(i, function(r) {
|
|
207
|
+
return r.w === t;
|
|
208
|
+
}) : i;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
nodeEdges(e, t) {
|
|
212
|
+
var s = this.inEdges(e, t);
|
|
213
|
+
if (s)
|
|
214
|
+
return s.concat(this.outEdges(e, t));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
L.prototype._nodeCount = 0;
|
|
218
|
+
L.prototype._edgeCount = 0;
|
|
219
|
+
function C(o, e) {
|
|
220
|
+
o[e] ? o[e]++ : o[e] = 1;
|
|
221
|
+
}
|
|
222
|
+
function y(o, e) {
|
|
223
|
+
--o[e] || delete o[e];
|
|
224
|
+
}
|
|
225
|
+
function c(o, e, t, s) {
|
|
226
|
+
var i = "" + e, r = "" + t;
|
|
227
|
+
if (!o && i > r) {
|
|
228
|
+
var n = i;
|
|
229
|
+
i = r, r = n;
|
|
230
|
+
}
|
|
231
|
+
return i + O + r + O + (l(s) ? F : s);
|
|
232
|
+
}
|
|
233
|
+
function M(o, e, t, s) {
|
|
234
|
+
var i = "" + e, r = "" + t;
|
|
235
|
+
if (!o && i > r) {
|
|
236
|
+
var n = i;
|
|
237
|
+
i = r, r = n;
|
|
238
|
+
}
|
|
239
|
+
var h = { v: i, w: r };
|
|
240
|
+
return s && (h.name = s), h;
|
|
241
|
+
}
|
|
242
|
+
function m(o, e) {
|
|
243
|
+
return c(o, e.v, e.w, e.name);
|
|
244
|
+
}
|
|
245
|
+
export {
|
|
246
|
+
L as G
|
|
247
|
+
};
|