From 3ed9f989b8701f5b3ab275cc0a491f1028d3efd2 Mon Sep 17 00:00:00 2001
From: Jonas <jonas@badalic.com>
Date: Tue, 6 Aug 2024 14:43:41 -0400
Subject: [PATCH] fs: remove unnecessary option argument validation

PR-URL: https://github.com/nodejs/node/pull/53958
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
---
 lib/fs.js | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/lib/fs.js b/lib/fs.js
index 570f014dcb5ec1..53e4d5b829b5f1 100644
--- a/lib/fs.js
+++ b/lib/fs.js
@@ -1310,23 +1310,23 @@ function mkdir(path, options, callback) {
   if (typeof options === 'function') {
     callback = options;
   } else if (typeof options === 'number' || typeof options === 'string') {
-    mode = options;
+    mode = parseFileMode(options, 'mode');
   } else if (options) {
-    if (options.recursive !== undefined)
+    if (options.recursive !== undefined) {
       recursive = options.recursive;
-    if (options.mode !== undefined)
-      mode = options.mode;
+      validateBoolean(recursive, 'options.recursive');
+    }
+    if (options.mode !== undefined) {
+      mode = parseFileMode(options.mode, 'options.mode');
+    }
   }
   callback = makeCallback(callback);
-  path = getValidatedPath(path);
-
-  validateBoolean(recursive, 'options.recursive');
 
   const req = new FSReqCallback();
   req.oncomplete = callback;
   binding.mkdir(
-    path,
-    parseFileMode(mode, 'mode'),
+    getValidatedPath(path),
+    mode,
     recursive,
     req,
   );