UNPKG

rc-js-util

Version:

A collection of TS and C++ utilities to help writing performant and correct applications, achieved through strict typing and (removable) invariant checking.

28 lines 838 B
import { _Debug } from "../../debug/_debug.js"; /** * @public * Bound a value in to a range. * * @returns The `value` if it lies between `min` and `max`, otherwise `min` if smaller and `max` if greater. * * @remarks * NaN input will cause a debug error. * * See {@link mathBound}. */ export function mathBound(value, min, max) { _BUILD.DEBUG && _Debug.runBlock(() => { _Debug.assert(!isNaN(value), "expected value to be a number"); _Debug.assert(!isNaN(min), "expected min to be a number"); _Debug.assert(!isNaN(max), "expected max to be a number"); _Debug.assert(max >= min, "expected max to be greater than or equal to min"); }); if (value > max) { return max; } if (value < min) { return min; } return value; } //# sourceMappingURL=math-bound.js.map