Skip to content

Commit 7623160

Browse files
UserStory-51 : Changed reference param in Get-Definition to string, test for 'definitions' to determine how to process the definition itself
1 parent 87f9cbb commit 7623160

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

schema/schema.psm1

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -344,12 +344,19 @@ function Get-Definition {
344344
[OutputType([schemaDocument], [schemaString], [schemaInteger], [schemaNumber], [schemaBoolean], [schemaObject], [schemaArray])]
345345
param (
346346
[Parameter(ValueFromPipeline)]
347-
[System.Uri]$Reference
347+
[string]$Reference
348348
)
349349
process {
350-
$DefinitionName = $Reference.Fragment.Substring($Reference.Fragment.LastIndexOf('/') + 1, ($Reference.Fragment.Length - $Reference.Fragment.LastIndexOf('/')) - 1)
351-
$Definition = Get-SchemaDocument -Path $Reference.AbsoluteUri
352-
return (ConvertTo-SchemaElement -object ($Definition.definitions.($DefinitionName)))
350+
if ($Reference.Contains('#')) {
351+
$DefinitionName = $Reference.Split('/')[2]
352+
$Definition = $Global:RawSchema.definitions.($DefinitionName)
353+
return (ConvertTo-SchemaElement -object ($Definition))
354+
} else {
355+
$Reference = [System.Uri]::new($Reference);
356+
$DefinitionName = $Reference.Fragment.Substring($Reference.Fragment.LastIndexOf('/') + 1, ($Reference.Fragment.Length - $Reference.Fragment.LastIndexOf('/')) - 1)
357+
$Definition = Get-SchemaDocument -Path $Reference.AbsoluteUri
358+
return (ConvertTo-SchemaElement -object ($Definition.definitions.($DefinitionName)))
359+
}
353360
}
354361
}
355362
function Get-Reference {

0 commit comments

Comments
 (0)