Get-SVGL.psm1

# Get the path to the module
$ModulePath = $PSScriptRoot
New-Alias -Name "svgl" -Value "Get-Svgl"

# Load private functions from the root Private directory only (no subdirectories)
$PrivateFunctionsPath = Join-Path -Path $ModulePath -ChildPath 'Private'
if (Test-Path -Path $PrivateFunctionsPath) {
    $PrivateFunctions = Get-ChildItem -Path $PrivateFunctionsPath -Filter '*.ps1' -Depth 0 -ErrorAction SilentlyContinue
    foreach ($Function in $PrivateFunctions) {
        try {
            . $Function.FullName
        }
        catch {
            Write-Error -Message "Failed to import function $($Function.FullName): $_"
        }
    }
}

# Load all public functions
$PublicFunctionsPath = Join-Path -Path $ModulePath -ChildPath 'Public'
if (Test-Path -Path $PublicFunctionsPath) {
    $PublicFunctions = Get-ChildItem -Path $PublicFunctionsPath -Filter '*.ps1' -Recurse -ErrorAction SilentlyContinue
    foreach ($Function in $PublicFunctions) {
        try {
            . $Function.FullName
        }
        catch {
            Write-Error -Message "Failed to import function $($Function.FullName): $_"
        }
    }
}

# Export public functions
$PublicFunctions | ForEach-Object {
    Export-ModuleMember -Function $_.BaseName
}