@@ -281,7 +281,8 @@ export function modelType (node: Node): model.ValueOf {
281281 kind : 'dictionary_of' ,
282282 key,
283283 value,
284- singleKey : false
284+ singleKey : false ,
285+ ordered : false
285286 }
286287 return type
287288 }
@@ -294,7 +295,21 @@ export function modelType (node: Node): model.ValueOf {
294295 kind : 'dictionary_of' ,
295296 key,
296297 value,
297- singleKey : true
298+ singleKey : true ,
299+ ordered : false
300+ }
301+ return type
302+ }
303+
304+ case 'OrderedDictionary' : {
305+ assert ( node , node . getTypeArguments ( ) . length === 2 , 'A OrderedDictionary must have two arguments' )
306+ const [ key , value ] = node . getTypeArguments ( ) . map ( node => modelType ( node ) )
307+ const type : model . DictionaryOf = {
308+ kind : 'dictionary_of' ,
309+ key,
310+ value,
311+ singleKey : false ,
312+ ordered : true
298313 }
299314 return type
300315 }
@@ -500,7 +515,7 @@ export function modelEnumDeclaration (declaration: EnumDeclaration): model.Enum
500515 }
501516
502517 if ( typeof tags . es_quirk === 'string' ) {
503- type . esQuirk = tags . es_quirk
518+ type . esQuirk = tags . es_quirk . replace ( / \r / g , '' )
504519 }
505520
506521 return type
@@ -892,7 +907,7 @@ function hoistPropertyAnnotations (property: model.Property, jsDocs: JSDoc[]): v
892907 assert ( jsDocs , value === 'container_property' , `Unknown 'variant' value '${ value } ' on property ${ property . name } ` )
893908 property . containerProperty = true
894909 } else if ( tag === 'es_quirk' ) {
895- property . esQuirk = value
910+ property . esQuirk = value . replace ( / \r / g , '' )
896911 } else {
897912 assert ( jsDocs , false , `Unhandled tag: '${ tag } ' with value: '${ value } ' on property ${ property . name } ` )
898913 }
0 commit comments