Add a function for executing hooks
This commit is contained in:
parent
855124c726
commit
ce0a00ee26
1 changed files with 26 additions and 0 deletions
26
scripts/Windows/Scripts/Hooks.ps1
Normal file
26
scripts/Windows/Scripts/Hooks.ps1
Normal file
|
@ -0,0 +1,26 @@
|
|||
function Invoke-Hook() {
|
||||
param(
|
||||
[string] $Name,
|
||||
[System.Action] $Fallback
|
||||
)
|
||||
|
||||
if ($Fallback) {
|
||||
$scriptBlock = { $Fallback.Invoke(); };
|
||||
} else {
|
||||
$scriptBlock = { };
|
||||
}
|
||||
|
||||
if (Get-Command "$Name" -ErrorAction SilentlyContinue) {
|
||||
$parameters = {
|
||||
fallback = $scriptBlock
|
||||
};
|
||||
|
||||
Write-Host "Running Hook ``$Name``";
|
||||
& "$Name" @parameters;
|
||||
} elseif ($Fallback) {
|
||||
Write-Host "Running Default of Hook ``$Name``";
|
||||
& $scriptBlock;
|
||||
} else {
|
||||
Write-Host "Hook ``$Name``";
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue