transforms/__testfixtures__/class/class-flow3.input.js (36 lines of code) (raw):

/* @flow */ var React = require('react'); var {PropTypes} = React; var getPropTypes = () => PropTypes.string; var myUnionPropType = PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.instanceOf(Message), ]); var spreadMe = { optionalArray: PropTypes.array, optionalBool: PropTypes.bool, }; var optionalFuncShortHand = PropTypes.func; var Component = React.createClass({ propTypes: { ...spreadMe, optionalFuncShortHand, optionalNumber: 1 + 1 === 2 ? PropTypes.number : PropTypes.string, optionalObject: PropTypes.object, optionalString: getPropTypes(), optionalNode: PropTypes.node, optionalElement: PropTypes.element, optionalMessage: PropTypes.instanceOf(Message), optionalEnum: PropTypes.oneOf(['News', 'Photos', 1, true, null]), optionalUnion: myUnionPropType, optionalArrayOf: PropTypes.arrayOf(PropTypes.number), optionalObjectOf: PropTypes.objectOf(PropTypes.number), optionalObjectWithShape: PropTypes.shape({ color: PropTypes.string, }), requiredFunc: PropTypes.func.isRequired, requiredAny: PropTypes.any.isRequired, }, render: function() { return ( <div>type safety</div> ); }, });