@@ -9,20 +9,27 @@ function Get-Document {
9
9
)
10
10
11
11
process {
12
+ Write-Verbose $Path ;
12
13
try {
14
+ Write-Verbose " Clearing Error Variables" ;
13
15
$ErrorActionPreference = ' Stop' ;
14
16
$Error.Clear ();
15
17
18
+ Write-Verbose " Parsing Path param" ;
16
19
$Schema = [System.UriBuilder ]::new($Path );
20
+ Write-Verbose $Schema ;
17
21
18
22
switch ($Schema.Scheme ) {
19
23
' file' {
24
+ Write-Verbose " Incoming Filepath" ;
20
25
Get-Content - Path $Path | ConvertFrom-Json ;
21
26
}
22
27
' https' {
28
+ Write-Verbose " Incoming HTTPs path" ;
23
29
Invoke-WebRequest - UseBasicParsing - Uri $Path | Select-Object - ExpandProperty Content | ConvertFrom-Json ;
24
30
}
25
31
' http' {
32
+ Write-Verbose " Incoming HTTP path" ;
26
33
Invoke-WebRequest - UseBasicParsing - Uri $Path | Select-Object - ExpandProperty Content | ConvertFrom-Json ;
27
34
}
28
35
}
@@ -43,24 +50,32 @@ function Get-Object {
43
50
)
44
51
45
52
process {
53
+ Write-Verbose $SchemaDocument ;
46
54
$Properties = $SchemaDocument.properties | Get-Member - MemberType NoteProperty | Select-Object - ExpandProperty Name;
55
+ Write-Verbose " Setting up output object" ;
47
56
$Members = @ {};
48
57
foreach ($Property in $Properties ) {
58
+ Write-Verbose " Property: $ ( $Property ) " ;
49
59
switch ($SchemaDocument.properties .$Property.type ) {
50
60
' object' {
61
+ Write-Verbose " Add Object to output object" ;
51
62
$Members.Add ($Property , (New-Object - TypeName psobject - Property @ {}))
52
63
}
53
64
' array' {
65
+ Write-Verbose " Add Array to output object" ;
54
66
$Members.Add ($Property , @ ())
55
67
}
56
68
' string' {
69
+ Write-Verbose " Add String to output object" ;
57
70
$Members.Add ($Property , " " )
58
71
}
59
72
' number' {
73
+ Write-Verbose " Add Number to output object" ;
60
74
$Members.Add ($Property , [Int16 ]" " )
61
75
}
62
76
}
63
77
}
78
+ Write-Verbose " Return JSON PowerShell object" ;
64
79
New-Object - TypeName psobject - Property $Members ;
65
80
}
66
81
}
@@ -75,24 +90,32 @@ function Get-Array {
75
90
)
76
91
77
92
process {
93
+ Write-Verbose $SchemaDocument ;
78
94
$Properties = $SchemaDocument.items.anyOf.properties | Get-Member - MemberType NoteProperty | Select-Object - ExpandProperty Name;
95
+ Write-Verbose " Setting up output object" ;
79
96
$Members = @ {};
80
97
foreach ($Property in $Properties ) {
98
+ Write-Verbose " Property: $ ( $Property ) " ;
81
99
switch ($SchemaDocument.items.anyOf.properties .$Property.type ) {
82
100
' object' {
101
+ Write-Verbose " Add Object to output object" ;
83
102
$Members.Add ($Property , (New-Object - TypeName psobject - Property @ {}))
84
103
}
85
104
' array' {
105
+ Write-Verbose " Add Array to output object" ;
86
106
$Members.Add ($Property , @ ())
87
107
}
88
108
' string' {
109
+ Write-Verbose " Add String to output object" ;
89
110
$Members.Add ($Property , " " )
90
111
}
91
112
' number' {
113
+ Write-Verbose " Add Number to output object" ;
92
114
$Members.Add ($Property , [Int16 ]" " )
93
115
}
94
116
}
95
117
}
118
+ Write-Verbose " Return JSON PowerShell object" ;
96
119
New-Object - TypeName psobject - Property $Members ;
97
120
}
98
121
}
@@ -108,10 +131,14 @@ function Get-Property {
108
131
)
109
132
110
133
process {
134
+ Write-Verbose $SchemaDocument ;
135
+ Write-Verbose $Name ;
111
136
if ($Name ) {
137
+ Write-Verbose " Return specific Property" ;
112
138
$SchemaDocument.properties .$Name ;
113
139
}
114
140
else {
141
+ Write-Verbose " Return all properties" ;
115
142
$SchemaDocument.properties ;
116
143
}
117
144
}
0 commit comments