Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tpl
diff options
context:
space:
mode:
authorBen Campbell <ben@scumways.com>2016-09-11 11:42:50 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2016-09-11 11:42:50 +0300
commit3392133128da4f23df3ebcfb52e2ebbf827e714f (patch)
tree23d5719915672db1a14182998cb2ab36286b7fd2 /tpl
parent9c5f2befc0818bd14df63b30f96edff14bd10316 (diff)
Remove redundant field in sort helper struct
The pair struct used by sortSeq() had two key fields, where only one is really needed.
Diffstat (limited to 'tpl')
-rw-r--r--tpl/template_funcs.go21
1 files changed, 9 insertions, 12 deletions
diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go
index b5b33bef0..672123c49 100644
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -1040,10 +1040,9 @@ func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
switch seqv.Kind() {
case reflect.Array, reflect.Slice:
for i := 0; i < seqv.Len(); i++ {
- p.Pairs[i].Key = reflect.ValueOf(i)
p.Pairs[i].Value = seqv.Index(i)
if sortByField == "" || sortByField == "value" {
- p.Pairs[i].SortByValue = p.Pairs[i].Value
+ p.Pairs[i].Key = p.Pairs[i].Value
} else {
v := p.Pairs[i].Value
var err error
@@ -1053,19 +1052,18 @@ func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
return nil, err
}
}
- p.Pairs[i].SortByValue = v
+ p.Pairs[i].Key = v
}
}
case reflect.Map:
keys := seqv.MapKeys()
for i := 0; i < seqv.Len(); i++ {
- p.Pairs[i].Key = keys[i]
p.Pairs[i].Value = seqv.MapIndex(keys[i])
if sortByField == "" {
- p.Pairs[i].SortByValue = p.Pairs[i].Key
+ p.Pairs[i].Key = keys[i]
} else if sortByField == "value" {
- p.Pairs[i].SortByValue = p.Pairs[i].Value
+ p.Pairs[i].Key = p.Pairs[i].Value
} else {
v := p.Pairs[i].Value
var err error
@@ -1075,7 +1073,7 @@ func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
return nil, err
}
}
- p.Pairs[i].SortByValue = v
+ p.Pairs[i].Key = v
}
}
}
@@ -1086,9 +1084,8 @@ func sortSeq(seq interface{}, args ...interface{}) (interface{}, error) {
// https://groups.google.com/forum/#!topic/golang-nuts/FT7cjmcL7gw
// A data structure to hold a key/value pair.
type pair struct {
- Key reflect.Value
- Value reflect.Value
- SortByValue reflect.Value
+ Key reflect.Value
+ Value reflect.Value
}
// A slice of pairs that implements sort.Interface to sort by Value.
@@ -1101,8 +1098,8 @@ type pairList struct {
func (p pairList) Swap(i, j int) { p.Pairs[i], p.Pairs[j] = p.Pairs[j], p.Pairs[i] }
func (p pairList) Len() int { return len(p.Pairs) }
func (p pairList) Less(i, j int) bool {
- iv := p.Pairs[i].SortByValue
- jv := p.Pairs[j].SortByValue
+ iv := p.Pairs[i].Key
+ jv := p.Pairs[j].Key
if iv.IsValid() {
if jv.IsValid() {