@@ -229,7 +229,8 @@ func (g *schemaGenerator) generateRootType() error {
229229 }
230230
231231 if g .schema .Type .Type == "" {
232- for name , def := range g .schema .Definitions {
232+ for _ , name := range sortDefinitionsByName (g .schema .Definitions ) {
233+ def := g .schema .Definitions [name ]
233234 _ , err := g .generateDeclaredType (def , newNameScope (g .identifierize (name )))
234235 if err != nil {
235236 return err
@@ -475,21 +476,15 @@ func (g *schemaGenerator) generateStructType(
475476 }, nil
476477 }
477478
478- propNames := make ([]string , 0 , len (t .Properties ))
479- for name := range t .Properties {
480- propNames = append (propNames , name )
481- }
482- sort .Strings (propNames )
483-
484479 requiredNames := make (map [string ]bool , len (t .Properties ))
485480 for _ , r := range t .Required {
486481 requiredNames [r ] = true
487482 }
488483
489- uniqueNames := make (map [string ]int , len (propNames ))
484+ uniqueNames := make (map [string ]int , len (t . Properties ))
490485
491486 var structType codegen.StructType
492- for _ , name := range propNames {
487+ for _ , name := range sortPropertiesByName ( t . Properties ) {
493488 prop := t .Properties [name ]
494489 isRequired := requiredNames [name ]
495490
@@ -760,3 +755,21 @@ var (
760755 varNamePlainStruct = "plain"
761756 varNameRawMap = "raw"
762757)
758+
759+ func sortPropertiesByName (props map [string ]* schemas.Type ) []string {
760+ names := make ([]string , 0 , len (props ))
761+ for name := range props {
762+ names = append (names , name )
763+ }
764+ sort .Strings (names )
765+ return names
766+ }
767+
768+ func sortDefinitionsByName (defs schemas.Definitions ) []string {
769+ names := make ([]string , 0 , len (defs ))
770+ for name := range defs {
771+ names = append (names , name )
772+ }
773+ sort .Strings (names )
774+ return names
775+ }
0 commit comments