Public/Add-FlowchartSubgraph.ps1
function Add-FlowchartSubgraph { <# .SYNOPSIS Adds a new flowchart to a flowchart. .DESCRIPTION Create and add a subgraph. Subgraphs may contain nodes, links, interactions and other subgraphs. .LINK https://mermaid.js.org/syntax/flowchart.html#subgraphs #> [CmdletBinding()] param ( # The diagram or parent subgraph, that the subgraph is added to. [Parameter(ValueFromPipeline)] [ValidateNotNull()] $Diagram, # The identifier of the subgraph. [Parameter(Mandatory, Position = 0)] [ValidateNotNullOrEmpty()] [string] $Key, # The subgraph title. [Parameter(Position = 1)] [string] $Title, # Return the created subgraph object. [Parameter()] [switch] $PassThru ) process { $subgraph = [PSCustomObject]@{ Key = $Key Nodes = @() Links = @() Clicks = @() Subgraphs = @() } if ( $Title ) { $subgraph | Add-Member Title $Title } $Diagram.Subgraphs += $subgraph if ( $PassThru.IsPresent ) { Write-Output $subgraph } } } |