Skip to content

Commit e563d36

Browse files
Bug-62 : Catch if anyOf/allOf/oneOf/ are being used
1 parent 1f8cb63 commit e563d36

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

schema/schema.psm1

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -706,14 +706,28 @@ function Find-Element {
706706
}
707707
'array' {
708708
write-verbose "array"
709-
if ($Schema.items.anyOf.properties.keys -contains $ElementName) {
710-
return $Schema.items.anyOf.properties.$ElementName
711-
}
712-
else {
713-
$keys = $Schema.items.anyOf.properties.keys
714-
foreach ($key in $keys) {
715-
write-verbose $key
716-
Find-SchemaElement -Schema ($Schema.items.anyOf.properties.$key) -ElementName $ElementName
709+
[string]$Selector = $Schema.items.properties.keys -match "of"
710+
if ($Selector){
711+
if ($Schema.items.$Selector.properties.keys -contains $ElementName) {
712+
return $Schema.items.$Selector.properties.$ElementName
713+
}
714+
else {
715+
$keys = $Schema.items.$Selector.properties.keys
716+
foreach ($key in $keys) {
717+
write-verbose $key
718+
Find-SchemaElement -Schema ($Schema.items.$Selector.properties.$key) -ElementName $ElementName
719+
}
720+
}
721+
} else {
722+
if ($Schema.items.properties.keys -contains $ElementName) {
723+
return $Schema.items.properties.$ElementName
724+
}
725+
else {
726+
$keys = $Schema.items.properties.keys
727+
foreach ($key in $keys) {
728+
write-verbose $key
729+
Find-SchemaElement -Schema ($Schema.items.properties.$key) -ElementName $ElementName
730+
}
717731
}
718732
}
719733
}

0 commit comments

Comments
 (0)