From 859c2bad0eda2a52326627a97e30938b4980f19d Mon Sep 17 00:00:00 2001 From: Jeff Jerousek <37905627+JeffJerousek@users.noreply.github.com> Date: Wed, 14 Nov 2018 09:57:39 -0600 Subject: [PATCH] Added Get-MrManifestData Get data from module manifest without importing module (i.e. get-module MrModuleBuildTools | select *) --- .../public/Get-MrManifestData.ps1 | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 MrModuleBuildTools/public/Get-MrManifestData.ps1 diff --git a/MrModuleBuildTools/public/Get-MrManifestData.ps1 b/MrModuleBuildTools/public/Get-MrManifestData.ps1 new file mode 100644 index 0000000..955a0bd --- /dev/null +++ b/MrModuleBuildTools/public/Get-MrManifestData.ps1 @@ -0,0 +1,38 @@ +function Get-MrManifestData { + [CmdletBinding(DefaultParameterSetName='File')] + param( + [Parameter(ValueFromPipeline, + ValueFromPipelineByPropertyName, + ValueFromRemainingArguments, + ParameterSetName = 'File', + Position = 0)] + [ValidateNotNullOrEmpty()] + [Alias('FilePath')] + [string[]]$Path = ('.\*.psd1'), + + [Parameter(ValueFromPipelineByPropertyName, + ValueFromRemainingArguments, + ParameterSetName = 'Code', + Position = 0)] + [ValidateNotNull()] + [Alias('ScriptBlock')] + [string[]]$Code + ) + + PROCESS { + if ($PSBoundParameters.Path) { + Write-Verbose 'Path' + $Results = Get-MrAST -Path $Path + } + elseif ($PSBoundParameters.Code) { + Write-Verbose 'Code' + $Results = Get-MrAST -Code $Code + } + else { + Write-Verbose -Message 'Valid input not received.' + } + + $Results.EndBlock.Statements.pipelineElements.Expression.SafeGetValue() + } + +} \ No newline at end of file