Skip to content

Commit b231bf8

Browse files
Merge pull request #14 from SchemaModule/issue-13
Close issue #13
2 parents 2aee4df + 5ef9312 commit b231bf8

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

schema/schema.psm1

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,27 @@ function Get-Document {
99
)
1010

1111
process {
12+
Write-Verbose $Path;
1213
try {
14+
Write-Verbose "Clearing Error Variables";
1315
$ErrorActionPreference = 'Stop';
1416
$Error.Clear();
1517

18+
Write-Verbose "Parsing Path param";
1619
$Schema = [System.UriBuilder]::new($Path);
20+
Write-Verbose $Schema;
1721

1822
switch ($Schema.Scheme) {
1923
'file' {
24+
Write-Verbose "Incoming Filepath";
2025
Get-Content -Path $Path | ConvertFrom-Json;
2126
}
2227
'https' {
28+
Write-Verbose "Incoming HTTPs path";
2329
Invoke-WebRequest -UseBasicParsing -Uri $Path | Select-Object -ExpandProperty Content | ConvertFrom-Json;
2430
}
2531
'http' {
32+
Write-Verbose "Incoming HTTP path";
2633
Invoke-WebRequest -UseBasicParsing -Uri $Path | Select-Object -ExpandProperty Content | ConvertFrom-Json;
2734
}
2835
}
@@ -43,24 +50,32 @@ function Get-Object {
4350
)
4451

4552
process {
53+
Write-Verbose $SchemaDocument;
4654
$Properties = $SchemaDocument.properties | Get-Member -MemberType NoteProperty | Select-Object -ExpandProperty Name;
55+
Write-Verbose "Setting up output object";
4756
$Members = @{};
4857
foreach ($Property in $Properties) {
58+
Write-Verbose "Property: $($Property)";
4959
switch ($SchemaDocument.properties.$Property.type) {
5060
'object' {
61+
Write-Verbose "Add Object to output object";
5162
$Members.Add($Property, (New-Object -TypeName psobject -Property @{}))
5263
}
5364
'array' {
65+
Write-Verbose "Add Array to output object";
5466
$Members.Add($Property, @())
5567
}
5668
'string' {
69+
Write-Verbose "Add String to output object";
5770
$Members.Add($Property, "")
5871
}
5972
'number' {
73+
Write-Verbose "Add Number to output object";
6074
$Members.Add($Property, [Int16]"")
6175
}
6276
}
6377
}
78+
Write-Verbose "Return JSON PowerShell object";
6479
New-Object -TypeName psobject -Property $Members;
6580
}
6681
}
@@ -75,24 +90,32 @@ function Get-Array {
7590
)
7691

7792
process {
93+
Write-Verbose $SchemaDocument;
7894
$Properties = $SchemaDocument.items.anyOf.properties | Get-Member -MemberType NoteProperty | Select-Object -ExpandProperty Name;
95+
Write-Verbose "Setting up output object";
7996
$Members = @{};
8097
foreach ($Property in $Properties) {
98+
Write-Verbose "Property: $($Property)";
8199
switch ($SchemaDocument.items.anyOf.properties.$Property.type) {
82100
'object' {
101+
Write-Verbose "Add Object to output object";
83102
$Members.Add($Property, (New-Object -TypeName psobject -Property @{}))
84103
}
85104
'array' {
105+
Write-Verbose "Add Array to output object";
86106
$Members.Add($Property, @())
87107
}
88108
'string' {
109+
Write-Verbose "Add String to output object";
89110
$Members.Add($Property, "")
90111
}
91112
'number' {
113+
Write-Verbose "Add Number to output object";
92114
$Members.Add($Property, [Int16]"")
93115
}
94116
}
95117
}
118+
Write-Verbose "Return JSON PowerShell object";
96119
New-Object -TypeName psobject -Property $Members;
97120
}
98121
}
@@ -108,10 +131,14 @@ function Get-Property {
108131
)
109132

110133
process {
134+
Write-Verbose $SchemaDocument;
135+
Write-Verbose $Name;
111136
if ($Name) {
137+
Write-Verbose "Return specific Property";
112138
$SchemaDocument.properties.$Name;
113139
}
114140
else {
141+
Write-Verbose "Return all properties";
115142
$SchemaDocument.properties;
116143
}
117144
}

0 commit comments

Comments
 (0)