transforms/__testfixtures__/class/class-flow6.output.js (53 lines of code) (raw):

/* @flow */ var React = require('react'); const justNeedKeys = { a: 12, b: 23, }; class Component extends React.Component { props: { optionalMessage?: Message, optionalMessageOops?: $FlowFixMe, optionalEnum?: $FlowFixMe, optionalEnumOops?: $FlowFixMe, optionalUnion?: string | number | Message, optionalUnionOops?: $FlowFixMe, optionalUnionOops2?: $FlowFixMe, optionalArrayOf?: Array<number>, optionalObjectOf?: {[key: string]: number}, optionalObjectWithShape?: { color?: string, fontSize?: $FlowFixMe, name?: $FlowFixMe, }, optionalObjectWithShapeOops?: $FlowFixMe, optionalObjectWithShapeOops2?: $FlowFixMe, 'is-literal-cool'?: boolean, 'well-fine': number, }; static propTypes = { optionalMessage: React.PropTypes.instanceOf(Message), optionalMessageOops: React.PropTypes.instanceOf(foo()), optionalEnum: React.PropTypes.oneOf(Object.keys(justNeedKeys)), optionalEnumOops: React.PropTypes.oneOf(bar), optionalUnion: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.number, React.PropTypes.instanceOf(Message), ]), optionalUnionOops: React.PropTypes.oneOfType(foo()), optionalUnionOops2: React.PropTypes.oneOfType(Bar), optionalArrayOf: React.PropTypes.arrayOf(React.PropTypes.number), optionalObjectOf: React.PropTypes.objectOf(React.PropTypes.number), optionalObjectWithShape: React.PropTypes.shape({ color: React.PropTypes.string, fontSize: foo, name: bla(), }), optionalObjectWithShapeOops: React.PropTypes.shape(foo()), optionalObjectWithShapeOops2: React.PropTypes.shape(bla), 'is-literal-cool': React.PropTypes.bool, 'well-fine': React.PropTypes.number.isRequired, }; render() { return ( <div>type safety</div> ); } }