/
PSFalcon.psm1
38 lines (38 loc) · 944 Bytes
/
PSFalcon.psm1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$Public = Get-ChildItem -Path $PSScriptRoot\Public\*.ps1
$Private = Get-ChildItem -Path $PSScriptRoot\Private\Private.ps1
@($Public + $Private).foreach{
try {
. $_.FullName
}
catch {
throw $_
}
}
$Data = @{
Endpoints = @{}
ItemTypes = @{}
Parameters = @{}
Patterns = @{}
Schema = @{}
}
($Data.Keys).foreach{
$Key = $_
$DataFiles = if ($_ -eq 'Endpoints') {
Get-ChildItem -Path $PSScriptRoot\Data\$Key\*.psd1
}
else {
Get-ChildItem -Path $PSScriptRoot\Data\$Key.psd1
}
($DataFiles).foreach{
try {
(Import-PowerShellDataFile $_.FullName).GetEnumerator().foreach{
$Data.$Key.Add($_.Key, $_.Value)
}
}
catch {
throw $_
}
}
}
$Script:Falcon = [Falcon]::New($Data)
Write-Host "Imported PSFalcon v$((Import-PowerShellDataFile $PSScriptRoot\PSFalcon.psd1).ModuleVersion)."