@@ -706,8 +706,13 @@ function Find-Element {
706
706
}
707
707
' array' {
708
708
write-verbose " array"
709
- [string ]$Selector = $Schema.items.properties.keys -match " of"
709
+ # [array]$keys = $Schema.items.properties.keys|ForEach-Object {$_.ToLower()}
710
+ [array ]$keys = $Schema.items.psobject.Properties.Name.ToLower ()
711
+ if ($keys.Contains (' oneof' )) { $Selector = " OneOf" }
712
+ if ($keys.Contains (' allof' )) { $Selector = " AllOf" }
713
+ if ($keys.Contains (' anyof' )) { $Selector = " AnyOf" }
710
714
if ($Selector ){
715
+ write-verbose " Found Selector : $ ( $Selector ) "
711
716
if ($Schema.items .$Selector.properties.keys -contains $ElementName ) {
712
717
return $Schema.items .$Selector.properties .$ElementName
713
718
}
@@ -719,6 +724,7 @@ function Find-Element {
719
724
}
720
725
}
721
726
} else {
727
+ write-verbose " No Selector"
722
728
if ($Schema.items.properties.keys -contains $ElementName ) {
723
729
return $Schema.items.properties .$ElementName
724
730
}
@@ -1062,10 +1068,19 @@ function ConvertFrom-Array {
1062
1068
Write-Verbose " ConvertFrom-Array: Calculated: $ ( $Depth ) "
1063
1069
foreach ($item in $Array.items ) {
1064
1070
Write-Verbose " ConvertFrom-Array: Found: $ ( $item | Out-string ) "
1071
+ [array ]$keys = $item.psobject.Properties.Name.ToLower ()
1072
+ if ($keys.Contains (' oneof' )) { $Selector = " OneOf" }
1073
+ if ($keys.Contains (' allof' )) { $Selector = " AllOf" }
1074
+ if ($keys.Contains (' anyof' )) { $Selector = " AnyOf" }
1075
+ if ($Selector ) {
1076
+ write-verbose " Selector : $ ( $Selector ) "
1077
+ $retVal += (ConvertFrom-SchemaObject - Object $item .$Selector - depth $Depth )
1078
+ } else {
1079
+ $retVal += (ConvertFrom-SchemaObject - Object $item - depth $Depth )
1080
+ }
1065
1081
# foreach ($key in $item.psobject.Properties.name) {
1066
1082
# Write-Verbose "ConvertFrom-Array: Found: $($key)"
1067
1083
# $retVal += (ConvertFrom-SchemaObject -Object $item.$key -depth $Depth)
1068
- $retVal += (ConvertFrom-SchemaObject - Object $item - depth $Depth )
1069
1084
# }
1070
1085
}
1071
1086
}
0 commit comments