Skip to content

Commit 5f60ed7

Browse files
cjihrigMylesBorins
authored andcommitted
path: replace assertPath() with validator
The path module's assertPath() does exactly what the validateString() validator does, so this commit updates path to use validateString() instead. A couple drive by updates to validateString() outside of assertPath() are also included. PR-URL: #24840 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
1 parent 8b109f0 commit 5f60ed7

File tree

1 file changed

+25
-30
lines changed

1 file changed

+25
-30
lines changed

lib/path.js

+25-30
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,7 @@ const {
3333
CHAR_COLON,
3434
CHAR_QUESTION_MARK,
3535
} = require('internal/constants');
36-
37-
function assertPath(path) {
38-
if (typeof path !== 'string') {
39-
throw new ERR_INVALID_ARG_TYPE('path', 'string', path);
40-
}
41-
}
36+
const { validateString } = require('internal/validators');
4237

4338
function isPathSeparator(code) {
4439
return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
@@ -163,7 +158,7 @@ const win32 = {
163158
}
164159
}
165160

166-
assertPath(path);
161+
validateString(path, 'path');
167162

168163
// Skip empty entries
169164
if (path.length === 0) {
@@ -282,7 +277,7 @@ const win32 = {
282277
},
283278

284279
normalize: function normalize(path) {
285-
assertPath(path);
280+
validateString(path, 'path');
286281
const len = path.length;
287282
if (len === 0)
288283
return '.';
@@ -401,7 +396,7 @@ const win32 = {
401396

402397

403398
isAbsolute: function isAbsolute(path) {
404-
assertPath(path);
399+
validateString(path, 'path');
405400
const len = path.length;
406401
if (len === 0)
407402
return false;
@@ -429,7 +424,7 @@ const win32 = {
429424
var firstPart;
430425
for (var i = 0; i < arguments.length; ++i) {
431426
var arg = arguments[i];
432-
assertPath(arg);
427+
validateString(arg, 'path');
433428
if (arg.length > 0) {
434429
if (joined === undefined)
435430
joined = firstPart = arg;
@@ -494,8 +489,8 @@ const win32 = {
494489
// to = 'C:\\orandea\\impl\\bbb'
495490
// The output of the function should be: '..\\..\\impl\\bbb'
496491
relative: function relative(from, to) {
497-
assertPath(from);
498-
assertPath(to);
492+
validateString(from, 'from');
493+
validateString(to, 'to');
499494

500495
if (from === to)
501496
return '';
@@ -648,7 +643,7 @@ const win32 = {
648643
},
649644

650645
dirname: function dirname(path) {
651-
assertPath(path);
646+
validateString(path, 'path');
652647
const len = path.length;
653648
if (len === 0)
654649
return '.';
@@ -744,9 +739,9 @@ const win32 = {
744739

745740

746741
basename: function basename(path, ext) {
747-
if (ext !== undefined && typeof ext !== 'string')
748-
throw new ERR_INVALID_ARG_TYPE('ext', 'string', ext);
749-
assertPath(path);
742+
if (ext !== undefined)
743+
validateString(ext, 'ext');
744+
validateString(path, 'path');
750745
var start = 0;
751746
var end = -1;
752747
var matchedSlash = true;
@@ -832,7 +827,7 @@ const win32 = {
832827

833828

834829
extname: function extname(path) {
835-
assertPath(path);
830+
validateString(path, 'path');
836831
var start = 0;
837832
var startDot = -1;
838833
var startPart = 0;
@@ -905,7 +900,7 @@ const win32 = {
905900

906901

907902
parse: function parse(path) {
908-
assertPath(path);
903+
validateString(path, 'path');
909904

910905
var ret = { root: '', dir: '', base: '', ext: '', name: '' };
911906
if (path.length === 0)
@@ -1082,7 +1077,7 @@ const posix = {
10821077
path = process.cwd();
10831078
}
10841079

1085-
assertPath(path);
1080+
validateString(path, 'path');
10861081

10871082
// Skip empty entries
10881083
if (path.length === 0) {
@@ -1114,7 +1109,7 @@ const posix = {
11141109

11151110

11161111
normalize: function normalize(path) {
1117-
assertPath(path);
1112+
validateString(path, 'path');
11181113

11191114
if (path.length === 0)
11201115
return '.';
@@ -1138,7 +1133,7 @@ const posix = {
11381133

11391134

11401135
isAbsolute: function isAbsolute(path) {
1141-
assertPath(path);
1136+
validateString(path, 'path');
11421137
return path.length > 0 && path.charCodeAt(0) === CHAR_FORWARD_SLASH;
11431138
},
11441139

@@ -1149,7 +1144,7 @@ const posix = {
11491144
var joined;
11501145
for (var i = 0; i < arguments.length; ++i) {
11511146
var arg = arguments[i];
1152-
assertPath(arg);
1147+
validateString(arg, 'path');
11531148
if (arg.length > 0) {
11541149
if (joined === undefined)
11551150
joined = arg;
@@ -1164,8 +1159,8 @@ const posix = {
11641159

11651160

11661161
relative: function relative(from, to) {
1167-
assertPath(from);
1168-
assertPath(to);
1162+
validateString(from, 'from');
1163+
validateString(to, 'to');
11691164

11701165
if (from === to)
11711166
return '';
@@ -1262,7 +1257,7 @@ const posix = {
12621257
},
12631258

12641259
dirname: function dirname(path) {
1265-
assertPath(path);
1260+
validateString(path, 'path');
12661261
if (path.length === 0)
12671262
return '.';
12681263
const hasRoot = path.charCodeAt(0) === CHAR_FORWARD_SLASH;
@@ -1289,9 +1284,9 @@ const posix = {
12891284

12901285

12911286
basename: function basename(path, ext) {
1292-
if (ext !== undefined && typeof ext !== 'string')
1293-
throw new ERR_INVALID_ARG_TYPE('ext', 'string', ext);
1294-
assertPath(path);
1287+
if (ext !== undefined)
1288+
validateString(ext, 'ext');
1289+
validateString(path, 'path');
12951290

12961291
var start = 0;
12971292
var end = -1;
@@ -1367,7 +1362,7 @@ const posix = {
13671362

13681363

13691364
extname: function extname(path) {
1370-
assertPath(path);
1365+
validateString(path, 'path');
13711366
var startDot = -1;
13721367
var startPart = 0;
13731368
var end = -1;
@@ -1428,7 +1423,7 @@ const posix = {
14281423

14291424

14301425
parse: function parse(path) {
1431-
assertPath(path);
1426+
validateString(path, 'path');
14321427

14331428
var ret = { root: '', dir: '', base: '', ext: '', name: '' };
14341429
if (path.length === 0)

0 commit comments

Comments
 (0)