code: function PropTypeError(message, data) {
      this.message = message;
      this.data = data && typeof data === 'object' ? data: {};
      this.stack = '';
    }
docs: /*eslint-enable no-self-compare 
  We use an Error-like object for backward compatibility as people may call
  PropTypes directly and inspect their output. However, we don't use real
  Errors anymore. We don't inspect their stack anyway, and creating them
  is prohibitively expensive if they are created too often, such as what
  happens in oneOfType() for any type before the one that matched.