UNPKG

deprecated-prop-type

Version:
30 lines (21 loc) 785 B
'use strict'; 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;