deprecated-prop-type
Version:
React Prop Type to mark a prop as deprecated
30 lines (21 loc) • 785 B
JavaScript
;
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var warning = _interopDefault(require('warning'));
let warned = {};
function deprecated(propType, explanation) {
return function validate(props, propName, componentName, ...rest) { // Note ...rest here
if (props[propName] != null) {
const message = `"${propName}" property of "${componentName}" has been deprecated.\n${explanation}`;
if (!warned[message]) {
warning(false, message);
warned[message] = true;
}
}
return propType(props, propName, componentName, ...rest); // and here
};
}
function _resetWarned() {
warned = {};
}
deprecated._resetWarned = _resetWarned;
module.exports = deprecated;