chainable-check

1.0.0 • Public • Published

chainableCheck()

Creates a validation function with the same requiredness behaviour as React's React.PropTypes validators.

That is: the validaton function will not be called if the value it's supposed to validate isn't given (or is null), and the function will have an .isRequired property, which is a validation function which will return an Error if the value isn't given (or is null).

This is effectively just a standalone version of React's internal createChainableTypeChecker() function from ReactPropTypes.js.

Install

Node.js

chainableCheck() can be used on the server, or bundled for the client using an npm-compatible packaging system such as Browserify or webpack.

npm install --save chainable-check

Browser bundle

The browser bundle exposes a global chainableCheck variable.

You can find it in the /dist directory.

Usage

var chainableCheck = require('chainable-check')
 
var isEven = chainableCheck(function(props, propName, componentName, location) {
  var value = props[propName]
  if (isNaN(parseFloat(value)) || !isFinite(value) || parseFloat(value) % 2 !== 0) {
    return new Error(
      `Invalid ${locationName} \`${propName}\` supplied to ` +
      `\`${componentName}\`, expected an even number.`
    )
  }
})
 
var ExampleComponent = React.createClass({
  propTypes: {
    evenNumber: isEven
  , requiredEvenNumber: isEven.isRequired
  },
 
  // ...
})

MIT Licensed

Readme

Keywords

none

Package Sidebar

Install

npm i chainable-check

Weekly Downloads

595

Version

1.0.0

License

MIT

Last publish

Collaborators

  • insin