node package manager


Mixin for checking if value is inside or outside of bounds


Mixin for checking if value is inside or outside of bounds You can use Bounds for any objects for which you can define compare function (dates, vectors etc.)

In addition to regular range checking Bounds supports reversed ranges: if min is bigger than max it considers values outside ot the max, min range as valid.

$ component install code42day/bounds


$ npm install bounds

Sets comparison function. fn should take 2 arguments and behave like sort comparison function i.e. return 0 if items are equal, -1 if the first is smaller than the second, 1 is the first is bigger than the second.

Set lower bound (inclusive) to v

Set upper bound (inclusive) to v

Return true if v is in bounds i.e. min <= v <= max

Return true if v is outside of bounds i.e. v < min OR max < v

Return true if v < min

Return true if v > max

For regular ranges it's the same as in. For reversed ranges it considers as valid values that are outside of the range (it's still inclusive so min and max are still considered valid)

Returns the passed value for valid values. For invalid values returns the closest boundary (min or max). restrict only works for reverse ranges if distance function is defined.

Optional distance function: it's only used when calculating proper restriction for reversed ranges. If restricted value is closed to min than to max, then the min is returned.