| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent f41a478 commit 3bac969
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -83,10 +83,10 @@ const validateInteger = hideStackFrames( | |||
| 83 | 83 | const validateInt32 = hideStackFrames( | |
| 84 | 84 | (value, name, min = -2147483648, max = 2147483647) => { | |
| 85 | 85 | // The defaults for min and max correspond to the limits of 32-bit integers. | |
| 86 | + if (typeof value !== 'number') { | ||
| 87 | + throw new ERR_INVALID_ARG_TYPE(name, 'number', value); | ||
| 88 | + } | ||
| 86 | 89 | if (!isInt32(value)) { | |
| 87 | - if (typeof value !== 'number') { | ||
| 88 | - throw new ERR_INVALID_ARG_TYPE(name, 'number', value); | ||
| 89 | - } | ||
| 90 | 90 | if (!NumberIsInteger(value)) { | |
| 91 | 91 | throw new ERR_OUT_OF_RANGE(name, 'an integer', value); | |
| 92 | 92 | } | |
@@ -99,10 +99,10 @@ const validateInt32 = hideStackFrames( | |||
| 99 | 99 | ); | |
| 100 | 100 | ||
| 101 | 101 | const validateUint32 = hideStackFrames((value, name, positive) => { | |
| 102 | + if (typeof value !== 'number') { | ||
| 103 | + throw new ERR_INVALID_ARG_TYPE(name, 'number', value); | ||
| 104 | + } | ||
| 102 | 105 | if (!isUint32(value)) { | |
| 103 | - if (typeof value !== 'number') { | ||
| 104 | - throw new ERR_INVALID_ARG_TYPE(name, 'number', value); | ||
| 105 | - } | ||
| 106 | 106 | if (!NumberIsInteger(value)) { | |
| 107 | 107 | throw new ERR_OUT_OF_RANGE(name, 'an integer', value); | |
| 108 | 108 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -10,6 +10,8 @@ const { | |||
| 10 | 10 | validateNumber, | |
| 11 | 11 | validateObject, | |
| 12 | 12 | validateString, | |
| 13 | + validateInt32, | ||
| 14 | + validateUint32, | ||
| 13 | 15 | } = require('internal/validators'); | |
| 14 | 16 | const { MAX_SAFE_INTEGER, MIN_SAFE_INTEGER } = Number; | |
| 15 | 17 | const outOfRangeError = { | |
@@ -41,6 +43,34 @@ const invalidArgValueError = { | |||
| 41 | 43 | // validateInteger() works with unsafe integers. | |
| 42 | 44 | validateInteger(MAX_SAFE_INTEGER + 1, 'foo', 0, MAX_SAFE_INTEGER + 1); | |
| 43 | 45 | validateInteger(MIN_SAFE_INTEGER - 1, 'foo', MIN_SAFE_INTEGER - 1); | |
| 46 | + | ||
| 47 | + // validateInt32() and validateUint32() | ||
| 48 | + [ | ||
| 49 | + Symbol(), 1n, {}, [], false, true, undefined, null, () => {}, '', '1', | ||
| 50 | + ].forEach((val) => assert.throws(() => validateInt32(val, 'name'), { | ||
| 51 | + code: 'ERR_INVALID_ARG_TYPE' | ||
| 52 | + })); | ||
| 53 | + [ | ||
| 54 | + 2147483647 + 1, -2147483648 - 1, NaN, | ||
| 55 | + ].forEach((val) => assert.throws(() => validateInt32(val, 'name'), { | ||
| 56 | + code: 'ERR_OUT_OF_RANGE' | ||
| 57 | + })); | ||
| 58 | + [ | ||
| 59 | + 0, 1, -1, | ||
| 60 | + ].forEach((val) => validateInt32(val, 'name')); | ||
| 61 | + [ | ||
| 62 | + Symbol(), 1n, {}, [], false, true, undefined, null, () => {}, '', '1', | ||
| 63 | + ].forEach((val) => assert.throws(() => validateUint32(val, 'name'), { | ||
| 64 | + code: 'ERR_INVALID_ARG_TYPE' | ||
| 65 | + })); | ||
| 66 | + [ | ||
| 67 | + 4294967296, -1, NaN, | ||
| 68 | + ].forEach((val) => assert.throws(() => validateUint32(val, 'name'), { | ||
| 69 | + code: 'ERR_OUT_OF_RANGE' | ||
| 70 | + })); | ||
| 71 | + [ | ||
| 72 | + 0, 1, | ||
| 73 | + ].forEach((val) => validateUint32(val, 'name')); | ||
| 44 | 74 | } | |
| 45 | 75 | ||
| 46 | 76 | { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments