package v1

import (
	"fmt"
	"strconv"
)

// IDSliceToQueryString takes a slice of elements and converts them into a query
// string. For example, if name=foo and slice=[]int{20, 40, 60}, then the
// result would be `?name=20&name=40&name=60'
func IDSliceToQueryString(name string, ids []int) string {
	str := ""
	for k, v := range ids {
		if k == 0 {
			str += "?"
		} else {
			str += "&"
		}
		str += fmt.Sprintf("%s=%s", name, strconv.Itoa(v))
	}
	return str
}

// WithinRange returns TRUE if an integer falls within a defined range, and
// FALSE if not.
func WithinRange(val, min, max int) bool {
	return val > min && val < max
}
