Skip to content

Instantly share code, notes, and snippets.

@Undistraction
Created February 20, 2017 15:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Undistraction/028c2ec6b4eff6008e5122a689394f8c to your computer and use it in GitHub Desktop.
Save Undistraction/028c2ec6b4eff6008e5122a689394f8c to your computer and use it in GitHub Desktop.
// proptypes.js
import React from 'react';
export const stepData = React.PropTypes.arrayOf(
React.PropTypes.shape({
title: React.PropTypes.string.isRequired,
date: React.PropTypes.string.isRequired,
filename: React.PropTypes.string.isRequired,
colourAnalytics: React.PropTypes.arrayOf(
React.PropTypes.shape(
{
name: React.PropTypes.string.isRequired,
value: React.PropTypes.arrayOf(
React.PropTypes.string,
),
},
),
),
}),
);
export const filterFilters = React.PropTypes.arrayOf(
React.PropTypes.string.isRequired,
);
export const filter = React.PropTypes.shape(
{
date: React.PropTypes.string,
filters: filterFilters,
},
);
export const step = React.PropTypes.shape(
{
data: stepData,
date: React.PropTypes.number.isRequired,
filters: filter,
},
);
// ExampleComponent.js
import * as PropTypes from '../proptypes';
ExampleComponent.propTypes = {
step: PropTypes.step,
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment