Private/EventDispatch.ps1
|
# PSSnips — Internal event dispatch helper. function script:Invoke-SnipEvent { <# .SYNOPSIS Raises a named PSSnips lifecycle event, invoking all registered handlers. .NOTES Errors in individual handlers are silently swallowed via Write-Verbose to prevent a broken handler from disrupting normal module operations. #> param( [Parameter(Mandatory)][string]$EventName, [hashtable]$Data = @{} ) if (-not $script:EventRegistry.ContainsKey($EventName)) { return } foreach ($handler in $script:EventRegistry[$EventName].Values) { try { & $handler $Data } catch { Write-Verbose "PSSnips event handler error [$EventName]: $_" } } } |