// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`react component properties jsdoc 1`] = `
"/* eslint-disable react/require-default-props, react/no-unused-prop-types */
import React from 'react';
import PropTypes from 'prop-types';
const JsDocProps = () => /*#__PURE__*/React.createElement(\\"div\\", null, \\"JSDoc with PropTypes!\\");
JsDocProps.propTypes = {
  /**
   * should not be visible since it's ignored.
   * @ignore
   */
  case0: PropTypes.string,
  /**
   * simple description.
   */
  case1: PropTypes.string,
  /**
   * multi
   * lines
   * description
   */
  case2: PropTypes.string,
  /**
   * *description* **with** \`formatting\`
   */
  case3: PropTypes.string,
  /**
   * simple description and dummy JSDoc tag.
   * @param event
   */
  case4: PropTypes.string,
  /**
   * @param event
   */
  case5: PropTypes.string,
  /**
   * simple description with a @.
   */
  case6: PropTypes.string,
  case7: PropTypes.func,
  /**
   * func with a simple description.
   */
  case8: PropTypes.func,
  /**
   * @param event
   */
  case9: PropTypes.func,
  /**
   * param with name
   * @param event
   */
  case10: PropTypes.func,
  /**
   * param with name & type
   * @param {SyntheticEvent} event
   */
  case11: PropTypes.func,
  /**
   * param with name, type & description
   * @param {SyntheticEvent} event - React's original event
   */
  case12: PropTypes.func,
  /**
   * param with type
   * @param {SyntheticEvent}
   */
  case13: PropTypes.func,
  /**
   * param with type & description
   * @param {SyntheticEvent} - React's original event
   */
  case14: PropTypes.func,
  /**
   * param with name & description
   * @param event - React's original event
   */
  case15: PropTypes.func,
  /**
   * autofix event-
   * @param event- React's original event
   */
  case16: PropTypes.func,
  /**
   * autofix event.
   * @param event.
   * @returns {string}
   */
  case17: PropTypes.func,
  /**
   * with an empty param.
   * @param
   */
  case18: PropTypes.func,
  /**
   * with multiple empty params.
   * @param
   * @param
   * @param
   */
  case19: PropTypes.func,
  /**
   * with arg alias.
   * @arg event
   */
  case20: PropTypes.func,
  /**
   * with argument alias.
   * @argument event
   */
  case21: PropTypes.func,
  /**
   * with multiple params.
   * @param {SyntheticEvent} event
   * @param {string} stringValue
   * @param {number} numberValue
   */
  case22: PropTypes.func,
  /**
   * with an empty returns
   * @returns
   */
  case23: PropTypes.func,
  /**
   * with a returns with a type
   * @returns {SyntheticEvent}
   */
  case24: PropTypes.func,
  /**
   * with a returns with a type & description
   * @returns {SyntheticEvent} - React's original event
   */
  case25: PropTypes.func,
  /**
   * single param and a returns
   * @param {string} stringValue
   * @returns {SyntheticEvent} - React's original event
   */
  case26: PropTypes.func,
  /**
   * multiple params and a returns
   * @param {string} stringValue
   * @param {number} numberValue
   * @returns {SyntheticEvent} - React's original event
   */
  case27: PropTypes.func,
  /**
   * multiple returns
   * @returns {SyntheticEvent} - React's original event
   * @returns {string} - Second returns
   */
  case28: PropTypes.func,
  /**
   * param with unsupported JSDoc tags
   * @param {SyntheticEvent} event - React's original event
   * @type {number}
   * @version 2
   */
  case29: PropTypes.func,
  /**
   * param record type
   * @param {{a: number, b: string}} myType
   */
  case30: PropTypes.func,
  /**
   * param array type
   * @param {string[]} myType
   */
  case31: PropTypes.func,
  /**
   * param union type
   * @param {(number|boolean)} myType
   */
  case32: PropTypes.func,
  /**
   * param any type
   * @param {*} myType
   */
  case33: PropTypes.func,
  /**
   * param repeatable type
   * @param {...number} myType
   */
  case34: PropTypes.func,
  /**
   * optional param
   * @param {number} [myType]
   */
  case35: PropTypes.func,
  /**
   * optional param
   * @param {number} [myType]
   */
  case36: PropTypes.func,
  /**
   * dot in param name
   * @param {number} my.type
   */
  case37: PropTypes.func,
  /**
   * returns record type
   * @returns {{a: number, b: string}}
   */
  case38: PropTypes.func,
  /**
   * returns array type
   * @returns {string[]}
   */
  case39: PropTypes.func,
  /**
   * returns union type
   * @returns {(number|boolean)}
   */
  case40: PropTypes.func,
  /**
   * returns any type
   * @returns {*}
   */
  case41: PropTypes.func,
  /**
   * returns primitive
   * @returns {string}
   */
  case42: PropTypes.func,
  /**
   * returns void
   * @returns {void}
   */
  case43: PropTypes.func
};
export const component = JsDocProps;
JsDocProps.__docgenInfo = {
  \\"description\\": \\"\\",
  \\"methods\\": [],
  \\"displayName\\": \\"JsDocProps\\",
  \\"props\\": {
    \\"case0\\": {
      \\"description\\": \\"should not be visible since it's ignored.\\\\n@ignore\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case1\\": {
      \\"description\\": \\"simple description.\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case2\\": {
      \\"description\\": \\"multi\\\\nlines\\\\ndescription\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case3\\": {
      \\"description\\": \\"*description* **with** \`formatting\`\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case4\\": {
      \\"description\\": \\"simple description and dummy JSDoc tag.\\\\n@param event\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case5\\": {
      \\"description\\": \\"@param event\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case6\\": {
      \\"description\\": \\"simple description with a @.\\",
      \\"type\\": {
        \\"name\\": \\"string\\"
      },
      \\"required\\": false
    },
    \\"case7\\": {
      \\"description\\": \\"\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case8\\": {
      \\"description\\": \\"func with a simple description.\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case9\\": {
      \\"description\\": \\"@param event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case10\\": {
      \\"description\\": \\"param with name\\\\n@param event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case11\\": {
      \\"description\\": \\"param with name & type\\\\n@param {SyntheticEvent} event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case12\\": {
      \\"description\\": \\"param with name, type & description\\\\n@param {SyntheticEvent} event - React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case13\\": {
      \\"description\\": \\"param with type\\\\n@param {SyntheticEvent}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case14\\": {
      \\"description\\": \\"param with type & description\\\\n@param {SyntheticEvent} - React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case15\\": {
      \\"description\\": \\"param with name & description\\\\n@param event - React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case16\\": {
      \\"description\\": \\"autofix event-\\\\n@param event- React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case17\\": {
      \\"description\\": \\"autofix event.\\\\n@param event.\\\\n@returns {string}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case18\\": {
      \\"description\\": \\"with an empty param.\\\\n@param\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case19\\": {
      \\"description\\": \\"with multiple empty params.\\\\n@param\\\\n@param\\\\n@param\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case20\\": {
      \\"description\\": \\"with arg alias.\\\\n@arg event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case21\\": {
      \\"description\\": \\"with argument alias.\\\\n@argument event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case22\\": {
      \\"description\\": \\"with multiple params.\\\\n@param {SyntheticEvent} event\\\\n@param {string} stringValue\\\\n@param {number} numberValue\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case23\\": {
      \\"description\\": \\"with an empty returns\\\\n@returns\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case24\\": {
      \\"description\\": \\"with a returns with a type\\\\n@returns {SyntheticEvent}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case25\\": {
      \\"description\\": \\"with a returns with a type & description\\\\n@returns {SyntheticEvent} - React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case26\\": {
      \\"description\\": \\"single param and a returns\\\\n@param {string} stringValue\\\\n@returns {SyntheticEvent} - React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case27\\": {
      \\"description\\": \\"multiple params and a returns\\\\n@param {string} stringValue\\\\n@param {number} numberValue\\\\n@returns {SyntheticEvent} - React's original event\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case28\\": {
      \\"description\\": \\"multiple returns\\\\n@returns {SyntheticEvent} - React's original event\\\\n@returns {string} - Second returns\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case29\\": {
      \\"description\\": \\"param with unsupported JSDoc tags\\\\n@param {SyntheticEvent} event - React's original event\\\\n@type {number}\\\\n@version 2\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case30\\": {
      \\"description\\": \\"param record type\\\\n@param {{a: number, b: string}} myType\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case31\\": {
      \\"description\\": \\"param array type\\\\n@param {string[]} myType\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case32\\": {
      \\"description\\": \\"param union type\\\\n@param {(number|boolean)} myType\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case33\\": {
      \\"description\\": \\"param any type\\\\n@param {*} myType\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case34\\": {
      \\"description\\": \\"param repeatable type\\\\n@param {...number} myType\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case35\\": {
      \\"description\\": \\"optional param\\\\n@param {number} [myType]\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case36\\": {
      \\"description\\": \\"optional param\\\\n@param {number} [myType]\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case37\\": {
      \\"description\\": \\"dot in param name\\\\n@param {number} my.type\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case38\\": {
      \\"description\\": \\"returns record type\\\\n@returns {{a: number, b: string}}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case39\\": {
      \\"description\\": \\"returns array type\\\\n@returns {string[]}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case40\\": {
      \\"description\\": \\"returns union type\\\\n@returns {(number|boolean)}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case41\\": {
      \\"description\\": \\"returns any type\\\\n@returns {*}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case42\\": {
      \\"description\\": \\"returns primitive\\\\n@returns {string}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    },
    \\"case43\\": {
      \\"description\\": \\"returns void\\\\n@returns {void}\\",
      \\"type\\": {
        \\"name\\": \\"func\\"
      },
      \\"required\\": false
    }
  }
};"
`;
