GraphShell.psm1

#Requires -Version 5.1

$script:GraphCatalogCache = $null
$script:GraphPermissionCache = $null
$script:GraphRenameCache = $null
$script:GraphDetailShardCache = $null

$privateFunctions = Get-ChildItem -Path (Join-Path $PSScriptRoot 'Private') -Filter '*.ps1' -ErrorAction SilentlyContinue
$publicFunctions = Get-ChildItem -Path (Join-Path $PSScriptRoot 'Public') -Filter '*.ps1' -ErrorAction SilentlyContinue

foreach ($file in @($privateFunctions) + @($publicFunctions)) {
    try {
        . $file.FullName
    }
    catch {
        throw "GraphShell failed to load '$($file.FullName)': $_"
    }
}

Export-ModuleMember -Function ($publicFunctions | ForEach-Object { $_.BaseName })