Test if a value is a duration string.
var isDurationString = require( '@stdlib/assert/is-duration-string' );
Tests if a value
is a duration string
.
var bool = isDurationString( '1d' );
// returns true
bool = isDurationString( '1d2h' );
// returns true
-
The function validates that a
value
is astring
. For all other types, the function returnsfalse
. -
A duration string is a string containing a sequence of time units. A time unit is a nonnegative integer followed by a unit identifier. The following unit identifiers are supported:
d
: daysh
: hoursm
: minutess
: secondsms
: milliseconds
For example, the string
1m3s10ms
is a duration string containing three time units:1m
(1 minute),3s
(3 seconds), and10ms
(10 milliseconds). The string60m
is a duration string containing a single time unit:60m
(60 minutes). Time units must be supplied in descending order of magnitude (i.e., days, hours, minutes, seconds, milliseconds). -
Duration strings are case insensitive. For example, the string
1M3S10MS
is equivalent to1m3s10ms
.
var isDurationString = require( '@stdlib/assert/is-duration-string' );
var bool = isDurationString( '1h' );
// returns true
bool = isDurationString( '1m20ms' );
// returns true
bool = isDurationString( '1d 2h 3m 4s' );
// returns false
bool = isDurationString( 'beep' );
// returns false
bool = isDurationString( null );
// returns false
Usage: is-duration-string [options] [<string>]
Options:
-h, --help Print this message.
-V, --version Print the package version.
--split sep Delimiter for stdin data. Default: '/\\r?\\n/'.
-
If the split separator is a regular expression, ensure that the
split
option is either properly escaped or enclosed in quotes.# Not escaped... $ echo -n $'3m20s\n50ms' | is-duration-string --split /\r?\n/ # Escaped... $ echo -n $'3m20s\n50ms' | is-duration-string --split /\\r?\\n/
-
The implementation ignores trailing delimiters.
$ is-duration-string '1h'
true
To use as a standard stream,
$ echo -n '1x' | is-duration-string
false
By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split
option.
$ echo -n '1h2m3s\tboop' | is-duration-string --split '\t'
true
false