@@ -14,6 +14,21 @@ import { DynamicBuffer } from './dynamicBuffer';
1414 */
1515export const isDynamicBuffer = ( val : any ) => val instanceof DynamicBuffer ;
1616
17+ /**
18+ * Check the value is greater or equals to the minimum value, and less or equals to the maximum
19+ * value. It'll throw an error if the value is not in the range.
20+ *
21+ * @param field The field name.
22+ * @param value The value to check.
23+ * @param min The allowed minimum value (included) of this value.
24+ * @param max The allowed maximum value (included) of this value.
25+ */
26+ export const checkBounds = ( field : string , value : number , min : number , max : number ) => {
27+ if ( value < min || value > max ) {
28+ throw new RangeError ( `${ field } is out of bounds` ) ;
29+ }
30+ } ;
31+
1732/**
1833 * Check the value in the required range, and throw an error if not satisfy the range requirement.
1934 *
@@ -24,11 +39,11 @@ export const isDynamicBuffer = (val: any) => val instanceof DynamicBuffer;
2439 */
2540export const checkRange = ( field : string , value : number , min ?: number , max ?: number ) => {
2641 if ( min !== undefined && value < min ) {
27- throw RangeError ( `The value of '${ field } ' is out of range. It must be >= ${ min } . Received ${ value } ` ) ;
42+ throw new RangeError ( `The value of '${ field } ' is out of range. It must be >= ${ min } . Received ${ value } ` ) ;
2843 }
2944
3045 if ( max !== undefined && value > max ) {
31- throw RangeError ( `The value of '${ field } ' is out of range. It must be <= ${ max } . Received ${ value } ` ) ;
46+ throw new RangeError ( `The value of '${ field } ' is out of range. It must be <= ${ max } . Received ${ value } ` ) ;
3247 }
3348} ;
3449
0 commit comments