diff --git a/src/IdLE.Core/Private/Resolve-IdleTemplateString.ps1 b/src/IdLE.Core/Private/Resolve-IdleTemplateString.ps1 index 5e03717f..ec4b7d18 100644 --- a/src/IdLE.Core/Private/Resolve-IdleTemplateString.ps1 +++ b/src/IdLE.Core/Private/Resolve-IdleTemplateString.ps1 @@ -34,7 +34,8 @@ function Resolve-IdleTemplateString { The name of the step being processed (for error messages). .OUTPUTS - Resolved string with placeholders replaced by request values. + For pure placeholders (single placeholder with no surrounding text), returns the resolved value with its original type preserved (string, bool, int, datetime, guid, etc.). + For mixed strings (string interpolation with multiple placeholders or surrounding text), returns a string with placeholders replaced. #> [CmdletBinding()] param( @@ -70,81 +71,66 @@ function Resolve-IdleTemplateString { return $stringValue } - # Check for unbalanced braces (typo safety) - # Count non-escaped opening braces - $openCount = ([regex]::Matches($stringValue, '(?