Built with love, will be grateful for ❤️
Returns an object, that tells if provided string is a valid path, or describes got problem.
valid | invalid | |
---|---|---|
input | 'a/b/c' |
'a/nul/b' |
output | { |
{ |
npm i valid-path
validPath
function takes three arguments:
- string
- options
- callback
validPath('string'[, options, callback]);
argument | required | expected type |
---|---|---|
string |
✔️ | string |
options |
➖ | object |
callback |
➖ | function |
Example:
const validPath = require('validPath');
const myPath = validPath('string/to/check');
if (myPath.valid) {
// ...
} else {
console.log(`Error in ${myPath.data.input}: ${myPath.error}`);
}
{
valid: boolean,
error: null || string,
data: {
input: input,
notes: string[],
sepDuplications: boolean,
driveLetter: boolean,
globPatterns: boolean,
forbiddenWindowsNames: boolean,
fobiddenWindowsChars: boolean,
forbiddenUnixChars: boolean
}
}
Outputs for calls with default options
Input | Output |
---|---|
a/b/c |
{ |
a/b/c.js |
{ |
C://a/b |
{ |
(nothing) |
{ |
null |
{ |
!a/b/c |
{ |
a\\b\\c |
{ |
a/b//c |
{ |
a/b/con |
{ |
a/b:c/d |
{ |
a/\0b\c |
{ |
Options are optional:
- simpleReturn
- sep
- allowSepDuplications
- allowDriveLetter
- allowGlobPatterns
- allowForbiddenWindowsNames
- allowFobiddenWindowsChars
- allowForbiddenUnixChars
If true
, valid-path
will return boolean (true
or false
), not an object.
Default | Expects |
---|---|
false |
boolean |
Example
input | a/b/c |
a/b/con |
---|---|---|
options | { |
{ |
output | true |
false |
Defines path separator: /
or \\
.
Default | Expects |
---|---|
/ |
/ or \\ |
Example
input | a/b/c |
a/b/c |
---|---|---|
options | { |
{ |
output | { |
{ |
If true
, valid-path
will ignore separator duplications and will add a note in notes
array of returned object (Object.data.notes
).
Default | Expects |
---|---|
false |
boolean |
Example
input | a/b//c |
a/b//c |
---|---|---|
options | { |
{ |
output | { |
{ |
If true
, valid-path
will accept drive letter in provided path and will add a note in notes
array of returned object (Object.data.notes
).
Drive letter can have single and doubled separator (C:/a/b
or C://a/b
). In case of doubled separator you do not need to set allowSepDuplications
option to true
: valid path
will accept the duplication just for drive letter.
Default | Expects |
---|---|
true |
boolean |
Example
input | C://a/b |
C://a/b |
---|---|---|
options | { |
{ |
output | { |
{ |
If true
, valid-path
will accept glob pattern in provided path and will add a note in notes
array of returned object (Object.data.notes
).
Default | Expects |
---|---|
false |
boolean |
Example
input | a/*/*.js |
a/*/*.js |
---|---|---|
options | { |
{ |
output | { |
{ |
By default valid-path
does not accept file and folder names that are forbidden in Windows: nul
, prn
, con
, lpt[0-9]
, com[0-9]
. Set to true
to accept these names.
Default | Expects |
---|---|
false |
boolean |
Example
input | a/b/lpt3 |
a/b/lpt3 |
---|---|---|
options | { |
{ |
output | { |
{ |
By default valid-path
does not accept characters in path items that are forbidden in Windows: /
, \
, <
, >
, :
, "
, *
, ?
, |
. Set to true
to accept these characters.
Default | Expects |
---|---|
false |
boolean |
Example
input | a/b:c/d |
a/b:c/d |
---|---|---|
options | { |
{ |
output | { |
{ |
By default valid-path
does not accept characters in path items that are forbidden in Unix: \0
(NULL byte), /
. Set to true
to accept these characters.
Default | Expects |
---|---|
false |
boolean |
Example
input | a/\0b/c |
a/\0b/c |
---|---|---|
options | { |
{ |
output | { |
{ |