You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
769 B
35 lines
769 B
import PropTypes from 'prop-types';
|
|
|
|
const settingShape = {
|
|
value: PropTypes.oneOf([PropTypes.bool, PropTypes.number, PropTypes.string]),
|
|
warnings: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
errors: PropTypes.arrayOf(PropTypes.string).isRequired
|
|
};
|
|
|
|
export const arraySettingShape = {
|
|
...settingShape,
|
|
value: PropTypes.array.isRequired
|
|
};
|
|
|
|
export const boolSettingShape = {
|
|
...settingShape,
|
|
value: PropTypes.bool.isRequired
|
|
};
|
|
|
|
export const numberSettingShape = {
|
|
...settingShape,
|
|
value: PropTypes.number.isRequired
|
|
};
|
|
|
|
export const stringSettingShape = {
|
|
...settingShape,
|
|
value: PropTypes.string
|
|
};
|
|
|
|
export const tagSettingShape = {
|
|
...settingShape,
|
|
value: PropTypes.arrayOf(PropTypes.number).isRequired
|
|
};
|
|
|
|
export default settingShape;
|