Skip to content

Commit bb0656d

Browse files
Bug-60 : Added some logic around how treat Uri/path/named references in schema
1 parent 12c9895 commit bb0656d

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

schema/schema.psm1

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -367,15 +367,23 @@ function Get-Definition {
367367
[string]$Reference
368368
)
369369
process {
370+
Write-Verbose "Reference $($Reference)"
370371
if ($Reference.Contains('#')) {
372+
Write-Verbose "Path to definitions"
371373
$DefinitionName = $Reference.Split('/')[2]
372374
$Definition = $Global:RawSchema.definitions.($DefinitionName)
373375
return (ConvertTo-SchemaElement -object ($Definition))
374-
} else {
376+
} elseif ($Reference.Contains('http')) {
377+
write-verbose "Uri to definitions"
375378
$Reference = [System.Uri]::new($Reference);
376379
$DefinitionName = $Reference.Fragment.Substring($Reference.Fragment.LastIndexOf('/') + 1, ($Reference.Fragment.Length - $Reference.Fragment.LastIndexOf('/')) - 1)
377380
$Definition = Get-SchemaDocument -Path $Reference.AbsoluteUri
378381
return (ConvertTo-SchemaElement -object ($Definition.definitions.($DefinitionName)))
382+
} else {
383+
write-verbose "Named definition"
384+
$DefinitionName = $Reference;
385+
$Definition = $Global:RawSchema.definitions.($DefinitionName)
386+
return (ConvertTo-SchemaElement -object ($Definition))
379387
}
380388
}
381389
}
@@ -947,12 +955,16 @@ function ConvertTo-Element {
947955
}
948956
default {
949957
if ($Object.('$ref')) {
958+
write-verbose "ConvertTo-Element : Reference : $(($Object.('$ref'))|Out-String)"
950959
if ($Object.('$ref').contains('definitions')) {
951960
$Result = Get-SchemaDefinition -Reference $Object.('$ref')
952961
}
953-
else {
962+
elseif ($Object.('$ref').contains('http')) {
954963
$Result = Get-SchemaReference -Reference $Object.('$ref')
955964
}
965+
else {
966+
$Result = Get-SchemaDefinition -Reference $Object.('$ref')
967+
}
956968
}
957969
}
958970
}

0 commit comments

Comments
 (0)