11// https://github.com/nodejs/node/blob/60da0a1b364efdd84870269d23b39faa12fb46d8/lib/internal/validators.js
2+ const {
3+ ERR_INVALID_ARG_TYPE ,
4+ ERR_OUT_OF_RANGE
5+ } = require ( '#internal/errors' ) . codes
6+
27function isUint32 ( value ) {
38 return value === ( value >>> 0 )
49}
510
611function validateNumber ( value , name , min = undefined , max ) {
7- if ( typeof value !== 'number' ) { throw new TypeError ( `Expected ${ name } to be a number, got ${ value } ` ) }
12+ if ( typeof value !== 'number' ) {
13+ throw new ERR_INVALID_ARG_TYPE ( name , 'a number' , value )
14+ }
815
916 if ( ( min != null && value < min ) || ( max != null && value > max ) ||
1017 ( ( min != null || max != null ) && Number . isNaN ( value ) ) ) {
11- throw new RangeError ( `Expected ${ name } to be ${
12- `${ min != null ? `>= ${ min } ` : '' } ${ min != null && max != null ? ' && ' : '' } ${ max != null ? `<= ${ max } ` : '' } `
13- } , got ${ value } `)
18+ throw new ERR_OUT_OF_RANGE (
19+ name ,
20+ `${ min != null ? `>= ${ min } ` : '' } ${ min != null && max != null ? ' && ' : '' } ${ max != null ? `<= ${ max } ` : '' } ` ,
21+ value
22+ )
1423 }
1524}
1625
@@ -19,22 +28,22 @@ const validateAbortSignal = (signal, name) => {
1928 ( signal === null ||
2029 typeof signal !== 'object' ||
2130 ! ( 'aborted' in signal ) ) ) {
22- throw new TypeError ( `Expected ${ name } to be an AbortSignal, got ${ signal } ` )
31+ throw new ERR_INVALID_ARG_TYPE ( name , ' an AbortSignal' , signal )
2332 }
2433}
2534
2635const validateUint32 = ( value , name , positive ) => {
2736 if ( typeof value !== 'number' ) {
28- throw new TypeError ( `Expected ${ name } to be a number, got ${ value } ` )
37+ throw new ERR_INVALID_ARG_TYPE ( name , ' a number' , value )
2938 }
3039 if ( ! Number . isInteger ( value ) ) {
31- throw new RangeError ( `Expected ${ name } to be an integer, got ${ value } ` )
40+ throw new ERR_OUT_OF_RANGE ( name , ' an integer' , value )
3241 }
3342 const min = positive ? 1 : 0
3443 // 2 ** 32 === 4294967296
3544 const max = 4_294_967_295
3645 if ( value < min || value > max ) {
37- throw new RangeError ( `Expected ${ name } to be ${ `>= ${ min } && <= ${ max } ` } , got ${ value } ` )
46+ throw new ERR_OUT_OF_RANGE ( name , `>= ${ min } && <= ${ max } ` , value )
3847 }
3948}
4049
0 commit comments