Protect PodeValue - mdaneri/Pode GitHub Wiki
external help file: Pode-help.xml Module Name: Pode online version: PodeType: Utilities schema: 2.0.0
Resolves and protects a value by ensuring it defaults to a specified fallback and optionally parses it as an enum.
Protect-PodeValue [[-Value] <Object>] [[-Default] <Object>] [[-EnumType] <Type>] [-CaseSensitive]
[-ProgressAction <ActionPreference>] [<CommonParameters>]
The `Protect-PodeValue` function ensures that a given value is resolved. If the value is empty, a default value is used instead. Additionally, the function can parse the resolved value as an enum type with optional case sensitivity.
# Example 1: Resolve a value with a default fallback
$resolved = Protect-PodeValue -Value $null -Default "Fallback"
Write-Output $resolved # Output: Fallback
# Example 2: Resolve and parse a value as a case-insensitive enum
$resolvedEnum = Protect-PodeValue -Value "red" -Default "Blue" -EnumType ([type][System.ConsoleColor])
Write-Output $resolvedEnum # Output: Red
# Example 3: Resolve and parse a value as a case-sensitive enum
$resolvedEnum = Protect-PodeValue -Value "red" -Default "Blue" -EnumType ([type][System.ConsoleColor]) -CaseSensitive
# Throws an error if "red" does not match an enum member exactly (case-sensitive).
Specifies whether the enum parsing should be case-sensitive. By default, parsing is case-insensitive.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: FalseThe default value to fall back to if the input value is empty.
Type: Object
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseThe type of enum to parse the resolved value into. If specified, the resolved value must be a valid enum member.
Type: Type
Parameter Sets: (All)
Aliases:
Required: False
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False{{ Fill ProgressAction Description }}
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseThe input value to be resolved.
Type: Object
Parameter Sets: (All)
Aliases:
Required: False
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalseThis cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
This function resolves values using `Resolve-PodeValue` and validates enums using `[enum]::IsDefined`.