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