github.com/altipla-consulting/ravendb-go-client@v0.1.3/generic_range_facet.go (about) 1 package ravendb 2 3 // GenericRangeFacet represents generic range facet 4 type GenericRangeFacet struct { 5 FacetBaseCommon 6 parent FacetBase 7 Ranges []*RangeBuilder 8 } 9 10 // NewGenericRangeFacet returns new GenericRangeFacet 11 // parent is optional, can be nil 12 func NewGenericRangeFacet(parent FacetBase) *GenericRangeFacet { 13 return &GenericRangeFacet{ 14 FacetBaseCommon: NewFacetBaseCommon(), 15 parent: parent, 16 } 17 } 18 19 // GenericRangeFacetParse parses generic range facet 20 func genericRangeFacetParse(rangeBuilder *RangeBuilder, addQueryParameter func(interface{}) string) (string, error) { 21 return rangeBuilder.GetStringRepresentation(addQueryParameter) 22 } 23 24 // ToFacetToken returns facetToken from GenericRangeFacet 25 func (f *GenericRangeFacet) ToFacetToken(addQueryParameter func(interface{}) string) (*facetToken, error) { 26 if f.parent != nil { 27 return f.parent.ToFacetToken(addQueryParameter) 28 } 29 30 return createFacetTokenWithGenericRangeFacet(f, addQueryParameter) 31 } 32 33 func (f *GenericRangeFacet) addRange(rng *RangeBuilder) { 34 f.Ranges = append(f.Ranges, rng) 35 }