1.0.3 • Published 10 years ago

validate.io-absolute-time v1.0.3

Weekly downloads
7
License
-
Repository
github
Last release
10 years ago

Absolute Time

NPM version Build Status Coverage Status Dependencies

Validates if a value is formatted as absolute time.

Installation

$ npm install validate.io-absolute-time

For use in the browser, use browserify.

Usage

var isAbsoluteTime = require( 'validate.io-absolute-time' );

isAbsoluteTime( value )

Validates whether an input string is an absolute date; e.g., 2014/07/18-9:34:42. An absolute date is formatted according to the following rules:

  • year, month, and day are separated by /: year/month/day
  • calendar values are separated from temporal values by either a space or `-`: `year/month/day-00:00:00` or `year/month/day 00:00:00`
  • if specified, hour and minutes must be specified together: 00:00
  • seconds are optional
var value = '2014/01/01 0:00:01';

var bool = isAbsoluteTime( value );
// returns true

Note: the method returns false for any value which is not a string.

Examples

console.log( isAbsoluteTime( '2014/07/14' ) );
// returns true

console.log( isAbsoluteTime( '2014/07/14 9:23' ) );
// returns true

console.log( isAbsoluteTime( '2014/07/18-9:34:42' ) );
// returns true

console.log( isAbsoluteTime( '2014-07-14 9:34:42' ) );
// returns false

To run the example code from the top-level application directory,

$ node ./examples/index.js

Tests

Unit

Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

License

MIT license.

Copyright

Copyright © 2014. Athan Reines.