PwShSummit.psm1

$Public = @(Get-ChildItem -Path "$PSScriptRoot/Public/*.ps1" -ErrorAction SilentlyContinue)

foreach ($import in $Public) {
    try {
        . $import.FullName
    }
    catch {
        Write-Error "Failed to import function $($import.FullName): $_"
    }
}

$script:DataPath = Join-Path $PSScriptRoot 'Data'
$script:AvailableYears = @(
    Get-ChildItem -Path $script:DataPath -Filter '*.json' -ErrorAction SilentlyContinue |
        ForEach-Object { [int]$_.BaseName }
)
$script:Cache = @{}

Update-TypeData -TypeName 'SummitSchedule.Session' -DefaultDisplayPropertySet @(
    'Day', 'Time', 'Title', 'Speaker', 'Room'
) -Force

Update-TypeData -TypeName 'SummitSchedule.SessionDetail' -DefaultDisplayPropertySet @(
    'Title', 'Day', 'Time', 'Speaker', 'SpeakerCompany', 'Room', 'Category', 'Tags', 'Description', 'Url'
) -Force