Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

prop-types

Package Overview
Dependencies
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

prop-types - npm Package Compare versions

Comparing version 0.2.0 to 15.5.0-alpha.0

checkPropTypes.js

60

package.json
{
"name": "prop-types",
"version": "0.2.0",
"description": "PropType validation extracted from React",
"main": "lib/index.js",
"version": "15.5.0-alpha.0",
"description": "Runtime type checking for React props and similar objects.",
"main": "index.js",
"license": "BSD-3-Clause",
"files": [
"LICENSE",
"PATENTS",
"factory.js",
"index.js",
"checkPropTypes.js",
"lib"
],
"repository": "facebook/react",
"keywords": [
"react"
],
"bugs": {
"url": "https://github.com/facebook/react/issues"
},
"homepage": "https://facebook.github.io/react/",
"dependencies": {
"fbjs": "^0.8.9"
},
"scripts": {
"test": "karma start karma.conf.js",
"prepublish": "webpack"
"test": "jest"
},
"author": "Aaron Ackerman <theron17@gmail.com>",
"license": "BSD",
"devDependencies": {
"babel-core": "^4.0.1",
"babel-loader": "^4.0.0",
"eslint": "^0.14.1",
"jasmine-core": "^2.1.3",
"karma": "^0.12.30",
"karma-chrome-launcher": "^0.1.7",
"karma-cli": "0.0.4",
"karma-jasmine": "^0.3.3",
"karma-phantomjs2-launcher": "^0.1.4",
"karma-webpack": "^1.3.1",
"webpack": "^1.4.15",
"webpack-dev-server": "^1.7.0"
},
"directories": {
"test": "test"
},
"repository": {
"type": "git",
"url": "https://github.com/aackerman/PropTypes.git"
},
"bugs": {
"url": "https://github.com/aackerman/PropTypes/issues"
},
"homepage": "https://github.com/aackerman/PropTypes",
"dependencies": {
"invariant": "^2.2.0"
"jest": "^19.0.2",
"react": "^15.4.2",
"react-dom": "^15.4.2"
}
}

@@ -1,91 +0,5 @@

## PropTypes
# prop-types
Extracted from [`React.PropTypes`](http://facebook.github.io/react/docs/reusable-components.html#prop-validation). To use without a dependency on `React`.
Runtime type checking for React props and similar objects.
### Install
```
npm install --save prop-types
```
### API: `PropTypes.validate`
#### Example
Pass a PropType schema, a props object, and a descriptive name for warnings. In React the descriptive name would be the `displayName` of a component.
```js
import PropTypes from 'prop-types';
var schema = {
ham: PropTypes.string.isRequired
};
PropTypes.validate(schema, {ham: 'delicious'}, 'Ham');
```
### API: `PropTypes.validateWithErrors`
Similar to `PropTypes.validate` but will throw errors instead of logging warnings to the console.
### API: `PropTypes`
```js
{
// You can declare that a prop is a specific JS primitive. By default, these
// are all optional.
optionalArray: PropTypes.array,
optionalBool: PropTypes.bool,
optionalFunc: PropTypes.func,
optionalNumber: PropTypes.number,
optionalObject: PropTypes.object,
optionalString: PropTypes.string,
// You can also declare that a prop is an instance of a class. This uses
// JS's instanceof operator.
optionalMessage: PropTypes.instanceOf(Message),
// You can ensure that your prop is limited to specific values by treating
// it as an enum.
optionalEnum: PropTypes.oneOf(['News', 'Photos']),
// An object that could be one of many types
optionalUnion: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
PropTypes.instanceOf(Message)
]),
// An array of a certain type
optionalArrayOf: PropTypes.arrayOf(PropTypes.number),
// An object with property values of a certain type
optionalObjectOf: PropTypes.objectOf(PropTypes.number),
// An object taking on a particular shape
optionalObjectWithShape: PropTypes.shape({
color: PropTypes.string,
fontSize: PropTypes.number
}),
// You can chain any of the above with `isRequired` to make sure a warning
// is shown if the prop isn't provided.
requiredFunc: PropTypes.func.isRequired,
// A value of any data type
requiredAny: PropTypes.any.isRequired,
// You can also specify a custom validator. It should return an Error
// object if the validation fails. Don't `console.warn` or throw, as this
// won't work inside `oneOfType`.
customProp: function(props, propName, descriptiveName) {
if (!/matchme/.test(props[propName])) {
return new Error('Validation failed!');
}
}
}
```
### Caveat
This is not an **exact** drop-in, validations related to React have been stripped out. `PropTypes.element` and `PropTypes.node` are not included.
Refer to the [React documentation](https://facebook.github.io/react/docs/typechecking-with-proptypes.html) for more information.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc