validate.io-length

1.0.2 • Public • Published

Length

NPM version Build Status Coverage Status Dependencies

Validates if a value is a specific length.

Installation

$ npm install validate.io-length

For use in the browser, use browserify.

Usage

var hasLength = require( 'validate.io-length' );

hasLength( value, length | lower[, upper] )

Validates if a value has either a specific length or has a length between a lower bound (inclusive) and an upper bound (inclusive).

var value = [ 1, 2, 3 ],
    len = 3,
    lower = 1,
    upper = 7;
 
var bool = hasLength( value, len );
// returns true
 
bool = hasLength( value, lower, upper );
// returns true

Notes

This method applies only to string, array, and function value types. For any other types, the method returns false.

Examples

console.log( hasLength( 'beep', 4 ) );
// returns true
 
console.log( hasLength( 'foo', 2, 10 ) );
// returns true
 
console.log( hasLength( [1,2,3], 3 ) );
// returns true
 
console.log( hasLength( [4,5,6], 0, 5 ) );
// returns true
 
console.log( hasLength( function(a,b,c){}, 3 ) );
// returns true
 
console.log( hasLength( 'baz', 4 ) );
// returns false
 
console.log( hasLength( [1,2], 10, 12 ) );
// 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.

Package Sidebar

Install

npm i validate.io-length

Weekly Downloads

0

Version

1.0.2

License

none

Last publish

Collaborators

  • kgryte