private/Convert-WpcScalarKeyToSequence.ps1
|
function Convert-WpcScalarKeyToSequence { param( [Parameter(Mandatory = $true)] [string] $YamlText, [Parameter(Mandatory = $true)] [string] $KeyName ) $pattern = "(?m)^([ ]*)$([regex]::Escape($KeyName)):\s+(.+)$" return [regex]::Replace( $YamlText, $pattern, { param($match) $indent = $match.Groups[1].Value $value = $match.Groups[2].Value $trimmedValue = $value.TrimStart() if ($trimmedValue.StartsWith('- ')) { return "${indent}${KeyName}:`n${indent} $trimmedValue" } return "${indent}${KeyName}:`n${indent} - $value" } ) } |