github.com/altipla-consulting/ravendb-go-client@v0.1.3/facet_value.go (about)

     1  package ravendb
     2  
     3  import (
     4  	"fmt"
     5  	"strconv"
     6  	"strings"
     7  )
     8  
     9  type FacetValue struct {
    10  	Range   string
    11  	Count   int
    12  	Sum     *float64
    13  	Max     *float64
    14  	Min     *float64
    15  	Average *float64
    16  }
    17  
    18  func (v *FacetValue) SetSum(sum float64) {
    19  	v.Sum = &sum
    20  }
    21  
    22  func (v *FacetValue) SetMax(max float64) {
    23  	v.Max = &max
    24  }
    25  
    26  func (v *FacetValue) SetMin(min float64) {
    27  	v.Min = &min
    28  }
    29  
    30  func (v *FacetValue) SetAverage(average float64) {
    31  	v.Average = &average
    32  }
    33  
    34  func (v *FacetValue) String() string {
    35  	msg := v.Range + " - Count: " + strconv.Itoa(v.Count) + ", "
    36  	if v.Sum != nil {
    37  		msg += fmt.Sprintf("Sum: %f,", *v.Sum)
    38  	}
    39  	if v.Max != nil {
    40  		msg += fmt.Sprintf("Max: %f,", *v.Max)
    41  	}
    42  	if v.Min != nil {
    43  		msg += fmt.Sprintf("Min: %f,", *v.Min)
    44  	}
    45  	if v.Average != nil {
    46  		msg += fmt.Sprintf("Average: %f,", *v.Average)
    47  	}
    48  
    49  	// TODO: this makes no sense but is in Java code
    50  	return strings.TrimSuffix(msg, ";")
    51  }