Skip to content

Commit 995fb5e

Browse files
committed
unify key sort mode type
Signed-off-by: Jeromy <jeromyj@gmail.com>
1 parent 077ba16 commit 995fb5e

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

obj/atlas/structMapAutogen.go

+5-10
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,21 @@ import (
88
)
99

1010
func AutogenerateStructMapEntry(rt reflect.Type) *AtlasEntry {
11-
return AutogenerateStructMapEntryUsingTags(rt, "refmt", StructFieldSort_Default)
11+
return AutogenerateStructMapEntryUsingTags(rt, "refmt", KeySortMode_Default)
1212
}
1313

14-
func AutogenerateStructMapEntryUsingTags(rt reflect.Type, tagName, sorter string) *AtlasEntry {
14+
func AutogenerateStructMapEntryUsingTags(rt reflect.Type, tagName string, sorter KeySortMode) *AtlasEntry {
1515
entry := &AtlasEntry{
1616
Type: rt,
1717
StructMap: &StructMap{Fields: exploreFields(rt, tagName, sorter)},
1818
}
1919
return entry
2020
}
2121

22-
const (
23-
StructFieldSort_Default = "default"
24-
StructFieldSort_RFC7049 = "rfc7049"
25-
)
26-
2722
// exploreFields returns a list of fields that StructAtlas should recognize for the given type.
2823
// The algorithm is breadth-first search over the set of structs to include - the top struct
2924
// and then any reachable anonymous structs.
30-
func exploreFields(rt reflect.Type, tagName string, sorter string) []StructMapEntry {
25+
func exploreFields(rt reflect.Type, tagName string, sorter KeySortMode) []StructMapEntry {
3126
// Anonymous fields to explore at the current level and the next.
3227
current := []StructMapEntry{}
3328
next := []StructMapEntry{{Type: rt}}
@@ -143,9 +138,9 @@ func exploreFields(rt reflect.Type, tagName string, sorter string) []StructMapEn
143138

144139
fields = out
145140
switch sorter {
146-
case StructFieldSort_Default:
141+
case KeySortMode_Default:
147142
sort.Sort(StructMapEntry_byFieldRoute(fields))
148-
case StructFieldSort_RFC7049:
143+
case KeySortMode_RFC7049:
149144
sort.Sort(StructMapEntry_RFC7049(fields))
150145
default:
151146
panic("invalid struct sorter option")

obj/atlas/structMapBuilding.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (x *BuilderStructMap) Autogenerate() *BuilderStructMap {
7777
/*
7878
Automatically generate mappings using a given struct field sorting scheme
7979
*/
80-
func (x *BuilderStructMap) AutogenerateWithSortingScheme(sorting string) *BuilderStructMap {
80+
func (x *BuilderStructMap) AutogenerateWithSortingScheme(sorting KeySortMode) *BuilderStructMap {
8181
autoEntry := AutogenerateStructMapEntryUsingTags(x.entry.Type, "refmt", sorting)
8282
x.entry.StructMap.Fields = append(x.entry.StructMap.Fields, autoEntry.StructMap.Fields...)
8383
return x

0 commit comments

Comments
 (0)