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  }