Skip to content

Commit 0091bac

Browse files
committed
Sort definitions by name for consistency.
1 parent 70bed6c commit 0091bac

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

pkg/generator/generate.go

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)