PS.Utils.psm1


#$componentDirectoryPath = (Resolve-Path "src\PS.Utils\Components").Path
$componentDirectoryPath = Join-Path $PSScriptRoot "Components"

$componentDirectories = Get-ChildItem -Path $componentDirectoryPath -Directory

# private functions
foreach ($directory in $componentDirectories) {
    $directoryPath = Join-Path $directory "Private"
    if (Test-Path -Path $directoryPath -PathType Container) {
        Get-ChildItem -Path $directoryPath -Filter *.ps1 | ForEach-Object {
            . $_.FullName
        }
    }
}

# public functions
foreach ($directory in $componentDirectories) {
    $directoryPath = Join-Path $directory "Public"
    if (Test-Path -Path $directoryPath -PathType Container) {
        Get-ChildItem -Path $directoryPath -Filter *.ps1 | ForEach-Object {
            . $_.FullName
            Export-ModuleMember -Function $_.BaseName
        }
    }
}