private/Resolve-Funnel.ps1
|
function Resolve-Funnel { param([object]$Funnel) if (-not $Funnel) { return $null } if ($Funnel -is [scriptblock]) { return @{ Transform = $Funnel } } $def = Get-FunnelDefinition -Name $Funnel $result = @{ Transform = [scriptblock]::Create($def.Transform) } if ($def.AppliesTo) { $at = $def.AppliesTo.Trim() if ($at -match '^\[.+\]$') { $result.AppliesTo = [scriptblock]::Create("`$_ -is $at") } else { $result.AppliesTo = [scriptblock]::Create($at) } } return $result } |