Private/Action/LoadModule.ps1
function JsonMenu.Action.LoadModule { <# .SYNOPSIS Loads a PowerShell module .DESCRIPTION .EXAMPLE .INPUTS .OUTPUTS .NOTES #> param ( [Parameter()] [PSObject] $Module ) process { $moduleName = $Module.Name | JsonMenu.Functions.Expand $modulePath = $Module.Path | JsonMenu.Functions.Expand if ( $moduleName ) { $moduleToLoad = $moduleName } elseif ( $modulePath ) { $moduleToLoad = $modulePath } if ( $Module.Parameters ) { $moduleParameters = JsonMenu.Action.SplatParameters -Parameters $Module.Parameters } if ( $null -eq $moduleParameters ) { Import-Module -Name $moduleToLoad } else { Import-Module -Name $moduleToLoad @moduleParameters } } } |