bounds

Mixin for checking if value is inside or outside of bounds

npm install bounds
13 downloads in the last week
123 downloads in the last month

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.

Installation

$ component install code42day/bounds

or

$ npm install bounds

API

.compare(fn)

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.

.min(v)

Set lower bound (inclusive) to v

.max(v)

Set upper bound (inclusive) to v

.in(v)

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

.out(v)

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

.before(v)

Return true if v < min

.after(v)

Return true if v > max

.valid(v)

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)

.restrict(v)

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.

.distance(fn)

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.

License

MIT

npm loves you