Properties
Validates if a value has specific properties.
Installation
$ npm install validate.io-properties
For use in the browser, use browserify.
Usage
var hasProperties = require( 'validate.io-properties' );
hasProperties( obj, props )
Validates if a value
has specific properties.
var obj = {'a': 0},
props = ['a'];
var bool = hasProperties( obj, props );
Notes
- This method first validates that the input
value
is anobject
and returnsfalse
for anyvalue
types which are not JavaScriptobjects
. - This method does not climb the prototype chain.
- The property list should be an
array
. - The method returns
false
as soon as an unrecognized property is found.
Examples
var obj = {
'beep': true,
'boop': false,
'baz': 'foo',
'bap': 'bar'
};
var props = [
'beep',
'bap'
];
console.log( hasProperties( obj, props ) );
// returns true
props.push( 'buzz' );
console.log( hasProperties( obj, props ) );
// 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
Copyright
Copyright © 2014. Athan Reines.