isRelativePath

Test if a value is a relative path.

Usage

var isRelativePath = require( '@stdlib/assert/is-relative-path' );

isRelativePath( value )

Tests if a value is a relative path.

var isWindows = require( '@stdlib/assert/is-windows' );

var bool;
if ( isWindows ) {
    bool = isRelativePath( 'foo\\bar\\baz' );
    // returns true

    bool = isRelativePath( 'C:\\foo\\..\\bar\\baz' );
    // returns false
} else {
    bool = isRelativePath( './foo/bar/baz' );
    // returns true

    bool = isRelativePath( '/foo/../bar/baz' );
    // returns false
}

isRelativePath.posix( value )

Tests if a value is a POSIX relative path.

var bool = isRelativePath.posix( './foo/bar/baz' );
// returns true

bool = isRelativePath.posix( '/foo/../bar/baz' );
// returns false

isRelativePath.win32( value )

Tests if a value is a Windows relative path.

var bool = isRelativePath.win32( 'foo\\bar\\baz' );
// returns true

bool = isRelativePath.win32( 'C:\\foo\\..\\bar\\baz' );
// returns false

Notes

  • isRelativePath() is platform-specific. On Windows platforms, the function is equal to isRelativePath.win32(). On POSIX platforms, the function is equal to isRelativePath.posix().

Examples

var isRelativePath = require( '@stdlib/assert/is-relative-path' );

var bool = isRelativePath.posix( 'foo/' );
// returns true

bool = isRelativePath.posix( 'foo' );
// returns true

bool = isRelativePath.posix( '.' );
// returns true

bool = isRelativePath.posix( '' );
// returns true

bool = isRelativePath.posix( '/foo/bar/baz' );
// returns false

bool = isRelativePath.posix( '/foo/..' );
// returns false

bool = isRelativePath.win32( 'foo\\bar\\baz' );
// returns true

bool = isRelativePath.win32( 'foo/bar/baz' );
// returns true

bool = isRelativePath.win32( 'foo/..' );
// returns true

bool = isRelativePath.win32( '.' );
// returns true

bool = isRelativePath.win32( '' );
// returns true

bool = isRelativePath.win32( 'C:\\foo\\bar\\baz' );
// returns false

bool = isRelativePath.win32( '//server' );
// returns false

bool = isRelativePath.win32( '\\\\server' );
// returns false

bool = isRelativePath.win32( 'C:/foo/bar/baz' );
// returns false

bool = isRelativePath.win32( '/foo/..' );
// returns false

CLI

Usage

Usage: is-relative-path [options] [<path>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --platform name       Platform: 'win32' or 'posix'.

Examples

$ is-relative-path ./foo/bar/baz --platform=posix
true

To use as a standard stream,

$ echo -n './docs/repl.txt' | is-relative-path
true