React's PropTypes, packaged up as a standalone module.
npm install proptypes> React's [PropTypes], packaged up as a standalone module.
DISCLAIMER:
This is literally copied from the React 0.14 codebase.
If you're using PropTypes with React, it would be silly to reference this standalone version.
``js
function check(props, propTypes) {
for (let prop in propTypes) {
if (propTypes.hasOwnProperty(prop)) {
let err = propTypesprop;
if (err) {
console.warn(err);
return false;
}
}
}
return true;
}
let valid = check({
a: 42,
b: 'News'
}, {
a: PropTypes.number,
b: PropTypes.oneOf(['News', 'Photos'])
});
valid; // true
`
With webpack:
`js`
module.exports = {
resolve: {
alias: {
proptypes: 'proptypes/disabled',
}
}
};
When you are using this package with React like API, you might want to save bandwidth by removing the definitions.
You can use babel-plugin-transform-react-remove-prop-types for that use case, for instance:
`js
// In
const Baz = (props) => (
);
Baz.propTypes = {
className: PropTypes.string
};
// Out
const Baz = (props) => (
BSD
[PropTypes]: https://github.com/facebook/react/blob/master/src/isomorphic/classic/types/ReactPropTypes.js