README
Strict Properties
Validates if a value only has specified properties.
Installation
$ npm install validate.io-strict-properties
For use in the browser, use browserify.
Usage
var hasProperties = require( 'validate.io-strict-properties' );
hasProperties( obj, props )
Validates if an input object
has specified properties.
var obj = {'a': 0},
props = ['a'];
var bool = hasProperties( obj, props );
// returns true
Notes
- This method validates that the
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
immediately upon encountering an unrecognized property.
Examples
var hasProperties = require( 'validate.io-strict-properties' );
var obj = {
'beep': true,
'boop': false
};
var props = [
'beep',
'boop'
];
console.log( hasProperties( obj, props ) );
// returns true
obj.baz = 'foo';
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.