| /** |
| * Copyright (c) 2013-present, Facebook, Inc. |
| * |
| * This source code is licensed under the MIT license found in the |
| * LICENSE file in the root directory of this source tree. |
| */ |
| |
| 'use strict'; |
| |
| var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret'); |
| |
| function emptyFunction() {} |
| function emptyFunctionWithReset() {} |
| emptyFunctionWithReset.resetWarningCache = emptyFunction; |
| |
| module.exports = function() { |
| function shim(props, propName, componentName, location, propFullName, secret) { |
| if (secret === ReactPropTypesSecret) { |
| // It is still safe when called from React. |
| return; |
| } |
| var err = new Error( |
| 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + |
| 'Use PropTypes.checkPropTypes() to call them. ' + |
| 'Read more at http://fb.me/use-check-prop-types' |
| ); |
| err.name = 'Invariant Violation'; |
| throw err; |
| }; |
| shim.isRequired = shim; |
| function getShim() { |
| return shim; |
| }; |
| // Important! |
| // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. |
| var ReactPropTypes = { |
| array: shim, |
| bool: shim, |
| func: shim, |
| number: shim, |
| object: shim, |
| string: shim, |
| symbol: shim, |
| |
| any: shim, |
| arrayOf: getShim, |
| element: shim, |
| elementType: shim, |
| instanceOf: getShim, |
| node: shim, |
| objectOf: getShim, |
| oneOf: getShim, |
| oneOfType: getShim, |
| shape: getShim, |
| exact: getShim, |
| |
| checkPropTypes: emptyFunctionWithReset, |
| resetWarningCache: emptyFunction |
| }; |
| |
| ReactPropTypes.PropTypes = ReactPropTypes; |
| |
| return ReactPropTypes; |
| }; |