@@ -396,17 +396,17 @@ export default async function validateModel (apiModel: model.Model, restSpec: Ma
396
396
const inheritedProps = inheritedProperties ( typeDef )
397
397
398
398
context . push ( 'path' )
399
- validateProperties ( typeDef . path , openGenerics , inheritedProps )
399
+ validateProperties ( fqn ( typeDef . name ) , typeDef . path , openGenerics , inheritedProps )
400
400
context . pop ( )
401
401
402
402
context . push ( 'query' )
403
- validateProperties ( typeDef . query , openGenerics , inheritedProps )
403
+ validateProperties ( fqn ( typeDef . name ) , typeDef . query , openGenerics , inheritedProps )
404
404
context . pop ( )
405
405
406
406
context . push ( 'body' )
407
407
switch ( typeDef . body . kind ) {
408
408
case 'properties' :
409
- validateProperties ( typeDef . body . properties , openGenerics , inheritedProps )
409
+ validateProperties ( fqn ( typeDef . name ) , typeDef . body . properties , openGenerics , inheritedProps )
410
410
break
411
411
case 'value' :
412
412
validateValueOf ( typeDef . body . value , openGenerics )
@@ -433,7 +433,7 @@ export default async function validateModel (apiModel: model.Model, restSpec: Ma
433
433
434
434
switch ( typeDef . body . kind ) {
435
435
case 'properties' :
436
- validateProperties ( typeDef . body . properties , openGenerics , inheritedProperties ( typeDef ) )
436
+ validateProperties ( fqn ( typeDef . name ) , typeDef . body . properties , openGenerics , inheritedProperties ( typeDef ) )
437
437
break
438
438
case 'value' :
439
439
validateValueOf ( typeDef . body . value , openGenerics )
@@ -507,7 +507,7 @@ export default async function validateModel (apiModel: model.Model, restSpec: Ma
507
507
508
508
validateInherits ( typeDef . inherits , openGenerics )
509
509
validateBehaviors ( typeDef , openGenerics )
510
- validateProperties ( typeDef . properties , openGenerics , inheritedProperties ( typeDef ) )
510
+ validateProperties ( fqn ( typeDef . name ) , typeDef . properties , openGenerics , inheritedProperties ( typeDef ) )
511
511
512
512
if ( typeDef . variants ?. kind === 'container' ) {
513
513
const variants = typeDef . properties . filter ( prop => ! ( prop . containerProperty ?? false ) )
@@ -747,7 +747,7 @@ export default async function validateModel (apiModel: model.Model, restSpec: Ma
747
747
return false
748
748
}
749
749
750
- function validateProperties ( props : model . Property [ ] , openGenerics : Set < string > , inheritedProperties : Set < string > ) : void {
750
+ function validateProperties ( type : string , props : model . Property [ ] , openGenerics : Set < string > , inheritedProperties : Set < string > ) : void {
751
751
const allIdentifiers = new Set < string > ( )
752
752
const allNames = new Set < string > ( )
753
753
@@ -773,6 +773,13 @@ export default async function validateModel (apiModel: model.Model, restSpec: Ma
773
773
}
774
774
775
775
context . push ( `Property '${ prop . name } '` )
776
+
777
+ if ( prop . type . kind === 'dictionary_of' && prop . type . ordered ) {
778
+ if ( prop . name !== 'aggregations' ) {
779
+ modelError ( `OrderedDictionary can not be used for property '${ prop . name } ' on type '${ type } '.` )
780
+ }
781
+ }
782
+
776
783
validateValueOf ( prop . type , openGenerics )
777
784
validateValueOfJsonEvents ( prop . type )
778
785
context . pop ( )
0 commit comments