private/Build-IncludeScope.ps1
|
function Build-IncludeScope { param( [string[]] $kvArgs, [System.Collections.IDictionary] $baseVars ) $scope = [ordered]@{} foreach ($key in $baseVars.Keys) { $scope[$key] = $baseVars[$key] } foreach ($kv in $kvArgs) { $eqIdx = $kv.IndexOf('=') if ($eqIdx -gt 0) { $key = $kv.Substring(0, $eqIdx).Trim() $val = $kv.Substring($eqIdx + 1) if ($val -match '\|') { $scope[$key] = @($val.Split('|') | ForEach-Object { $_.Trim() } | Where-Object { $_ -ne "" }) } else { $scope[$key] = $val } } } return $scope } |