EnhancedModuleStarterAO.psm1

#Region '.\Private\Get-PrivateFunction.ps1' -1

function Get-PrivateFunction
{
    <#
      .SYNOPSIS
      This is a sample Private function only visible within the module.
 
      .DESCRIPTION
      This sample function is not exported to the module and only return the data passed as parameter.
 
      .EXAMPLE
      $null = Get-PrivateFunction -PrivateData 'NOTHING TO SEE HERE'
 
      .PARAMETER PrivateData
      The PrivateData parameter is what will be returned without transformation.
 
      #>

    [cmdletBinding()]
    [OutputType([string])]
    param
    (
        [Parameter()]
        [String]
        $PrivateData
    )

    process
    {
        Write-Output $PrivateData
    }

}
#EndRegion '.\Private\Get-PrivateFunction.ps1' 32
#Region '.\Public\Get-Something.ps1' -1

function Get-Something
{
    <#
      .SYNOPSIS
      Sample Function to return input string.
 
      .DESCRIPTION
      This function is only a sample Advanced function that returns the Data given via parameter Data.
 
      .EXAMPLE
      Get-Something -Data 'Get me this text'
 
 
      .PARAMETER Data
      The Data parameter is the data that will be returned without transformation.
 
    #>

    [cmdletBinding(
        SupportsShouldProcess = $true,
        ConfirmImpact = 'Low'
    )]
    param
    (
        [Parameter(Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
        [String]
        $Data
    )

    process
    {
        if ($pscmdlet.ShouldProcess($Data))
        {
            Write-Verbose ('Returning the data: {0}' -f $Data)
            Get-PrivateFunction -PrivateData $Data
        }
        else
        {
            Write-Verbose 'oh dear'
        }
    }
}
#EndRegion '.\Public\Get-Something.ps1' 42