summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/internal/validators.mjs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2024-06-11 12:41:44 +0100
committerGitHub <noreply@github.com>2024-06-11 11:41:44 +0000
commit6a356aff1380e79d67738c5b43aa2b5fee76600d (patch)
treebe4aadc62a523ff280820958a1a3829f1a18ca7d /ext/node/polyfills/internal/validators.mjs
parent3d41b486da7dcba49c8a18b45425e356c329d986 (diff)
chore: sync up Node.js test files for v20.11.1 (#24066)
Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
Diffstat (limited to 'ext/node/polyfills/internal/validators.mjs')
-rw-r--r--ext/node/polyfills/internal/validators.mjs15
1 files changed, 14 insertions, 1 deletions
diff --git a/ext/node/polyfills/internal/validators.mjs b/ext/node/polyfills/internal/validators.mjs
index d4cd95546..58b1a97d7 100644
--- a/ext/node/polyfills/internal/validators.mjs
+++ b/ext/node/polyfills/internal/validators.mjs
@@ -171,10 +171,23 @@ function validateString(value, name) {
* @param {unknown} value
* @param {string} name
*/
-function validateNumber(value, name) {
+function validateNumber(value, name, min = undefined, max) {
if (typeof value !== "number") {
throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value);
}
+
+ if (
+ (min != null && value < min) || (max != null && value > max) ||
+ ((min != null || max != null) && Number.isNaN(value))
+ ) {
+ throw new codes.ERR_OUT_OF_RANGE(
+ name,
+ `${min != null ? `>= ${min}` : ""}${
+ min != null && max != null ? " && " : ""
+ }${max != null ? `<= ${max}` : ""}`,
+ value,
+ );
+ }
}
/**