github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/point_field.go (about)

     1  package ravendb
     2  
     3  var _ DynamicSpatialField = &PointField{}
     4  
     5  type PointField struct {
     6  	latitude  string
     7  	longitude string
     8  }
     9  
    10  func NewPointField(latitude string, longitude string) *PointField {
    11  	return &PointField{
    12  		latitude:  latitude,
    13  		longitude: longitude,
    14  	}
    15  }
    16  
    17  func (f *PointField) ToField(ensureValidFieldName func(string, bool) (string, error)) (string, error) {
    18  	name1, err := ensureValidFieldName(f.latitude, false)
    19  	if err != nil {
    20  		return "", err
    21  	}
    22  	name2, err := ensureValidFieldName(f.longitude, false)
    23  	if err != nil {
    24  		return "", err
    25  	}
    26  	return "spatial.point(" + name1 + ", " + name2 + ")", nil
    27  }