Modules/IdLE.Core/Private/Import-IdleWorkflowDefinition.ps1
|
function Import-IdleWorkflowDefinition { [CmdletBinding()] param( [Parameter(Mandatory)] [ValidateNotNullOrEmpty()] [string] $WorkflowPath ) # Resolve to an absolute path early to keep error messages deterministic. $resolvedPath = (Resolve-Path -Path $WorkflowPath -ErrorAction Stop).Path # Import PSD1 via built-in data-file loader (safer than dot-sourcing). $data = Import-PowerShellDataFile -Path $resolvedPath if ($null -eq $data -or $data -isnot [hashtable]) { throw [System.ArgumentException]::new( "Workflow definition must be a hashtable at the root. Path: $resolvedPath", 'WorkflowPath' ) } return $data } |