<commit_before>var React = require('react'),
	DOM = React.DOM;

module.exports = React.createClass({

	propTypes: {
		company: React.PropTypes.string,
		position: React.PropTypes.string,
		website: React.PropTypes.string,
		startDate: React.PropTypes.string,
		endDate: React.PropTypes.string,
		summary: React.PropTypes.string,
		highlights: React.PropTypes.arrayOf(React.PropTypes.string)
	},

	getDefaultProps: function () {
		return {
			company: '',
			position: '',
			website: '',
			startDate: '',
			endDate: '',
			summary: '',
			highlights: []
		};
	},

	render: function () {

		var highlightsComponent;
		if (this.props.highlights.length > 0) {
			highlightsComponent = DOM.div({ className: 'workItem__highlights'}, [
				DOM.div({ className: 'highlights__title' }, 'Highlights'),
				DOM.ul({ className: 'list-group' }, this.props.highlights.map(function (highlight) {
					return DOM.li({
						className: 'list-group-item workItem__highlight',
						dangerouslySetInnerHTML: { __html: highlight }
					});
				}))
			]);
		}

		return DOM.div({ className: 'panel panel-default' }, [
			DOM.div({ className: 'panel-heading' }, [
				DOM.div({ className: 'row' }, [
					DOM.div({ className: 'col-xs-8' },
						DOM.div({ className: 'workItem__company'},
							this.props.company
						)
					),
					DOM.div({ className: 'col-xs-2' },
						DOM.div({ className: 'workItem__startDate'},
							this.props.startDate
						)
					),
					DOM.div({ className: 'col-xs-2' },
						DOM.div({ className: 'workItem__endDate'},
							this.props.endDate
						)
					)
				]),
			]),
			DOM.div({ className: 'panel-body' }, [
				DOM.div({ className: 'workItem__position'},
					this.props.position
				),
				DOM.div({ className: 'workItem__website'},
					this.props.website
				),
				DOM.div({ className: 'workItem__summary'},
					this.props.summary
				),
				highlightsComponent
			])
		]);

	}

});<commit_msg>Added key prop for all array'd components. Kind of a pain.<commit_after>var React = require('react'),
	DOM = React.DOM;

module.exports = React.createClass({

	propTypes: {
		company: React.PropTypes.string,
		position: React.PropTypes.string,
		website: React.PropTypes.string,
		startDate: React.PropTypes.string,
		endDate: React.PropTypes.string,
		summary: React.PropTypes.string,
		highlights: React.PropTypes.arrayOf(React.PropTypes.string)
	},

	getDefaultProps: function () {
		return {
			company: '',
			position: '',
			website: '',
			startDate: '',
			endDate: '',
			summary: '',
			highlights: []
		};
	},

	render: function () {

		var highlightsComponent;
		if (this.props.highlights.length > 0) {
			highlightsComponent = DOM.div({ key: 'workItem__highlights', className: 'workItem__highlights'}, [
				DOM.div({ key: 'highlights__title', className: 'highlights__title' }, 'Highlights'),
				DOM.ul({ key: 'list-group', className: 'list-group' }, this.props.highlights.map(function (highlight, index) {
					return DOM.li({
						key: 'workItem__highlight__' + index,
						className: 'list-group-item workItem__highlight',
						dangerouslySetInnerHTML: { __html: highlight }
					});
				}))
			]);
		}

		return DOM.div({ className: 'panel panel-default' }, [
			DOM.div({ key: 'panel-heading', className: 'panel-heading' },
				DOM.div({ className: 'row' }, [
					DOM.div({ key: 'workItem__company', className: 'col-xs-8' },
						DOM.div({ className: 'workItem__company'},
							this.props.company
						)
					),
					DOM.div({ key: 'workItem__startDate', className: 'col-xs-2' },
						DOM.div({ className: 'workItem__startDate'},
							this.props.startDate
						)
					),
					DOM.div({ key: 'workItem__endDate', className: 'col-xs-2' },
						DOM.div({ className: 'workItem__endDate'},
							this.props.endDate
						)
					)
				])
			),
			DOM.div({ key: 'panel-body', className: 'panel-body' }, [
				DOM.div({ key: 'workItem__position', className: 'workItem__position'},
					this.props.position
				),
				DOM.div({ key: 'workItem__website', className: 'workItem__website'},
					this.props.website
				),
				DOM.div({ key: 'workItem__summary', className: 'workItem__summary'},
					this.props.summary
				),
				highlightsComponent
			])
		]);

	}

});
{'fraction_non_alphanumeric': 0.1638217164532954, 'fraction_numerical': 0.001896633475580844, 'mean_word_length': 3.144400785854617, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1839402', 'n_tokens_mistral': 1746, 'n_tokens_neox': 1357, 'n_words': 252}