Private/Read-FeatureFlag.ps1
|
function Read-FeatureFlag { <# .SYNOPSIS Read a FeatureFlag from disk. Private I/O primitive — callers should use Get-FeatureFlag. #> [CmdletBinding()] [OutputType([FeatureFlag])] param ( [Parameter(Mandatory, Position = 0, ParameterSetName = 'ByName')] [ValidateNotNullOrEmpty()] [String] $Name, [Parameter(Mandatory, ValueFromPipeline, ParameterSetName = 'ByFilePath')] $FilePath ) begin {} process { if ($PSBoundParameters.ContainsKey('FilePath')) { Write-Verbose "Reading FeatureFlag from file: $FilePath" } else { Write-Verbose "No FilePath specified, using default feature flag folder." $folder = Get-FeatureFlagFolder $FilePath = Join-Path $folder "$Name.json" } [FeatureFlag]::FromFile($FilePath) } end {} } |