numbers.go raw

   1  package sanitizers
   2  
   3  import (
   4  	"time"
   5  )
   6  
   7  func ClampInt(min, max int) func(input int) (result int) {
   8  	return func(input int) (result int) {
   9  		if input > max {
  10  			return max
  11  		}
  12  		if input < min {
  13  			return min
  14  		}
  15  		return input
  16  	}
  17  }
  18  
  19  func ClampFloat(min, max float64) func(input float64) (result float64) {
  20  	return func(input float64) (result float64) {
  21  		if input > max {
  22  			return max
  23  		}
  24  		if input < min {
  25  			return min
  26  		}
  27  		return input
  28  	}
  29  }
  30  
  31  func ClampDuration(min, max time.Duration) func(input time.Duration) (result time.Duration) {
  32  	return func(input time.Duration) (result time.Duration) {
  33  		if input > max {
  34  			return max
  35  		}
  36  		if input < min {
  37  			return min
  38  		}
  39  		return input
  40  	}
  41  }
  42