14 lines
No EOL
941 B
JavaScript
14 lines
No EOL
941 B
JavaScript
export const DATE_VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minDate', 'maxDate', 'shouldDisableDate', 'shouldDisableMonth', 'shouldDisableYear'];
|
|
export const TIME_VALIDATION_PROP_NAMES = ['disablePast', 'disableFuture', 'minTime', 'maxTime', 'shouldDisableTime', 'minutesStep', 'ampm', 'disableIgnoringDatePartForTimeValidation'];
|
|
export const DATE_TIME_VALIDATION_PROP_NAMES = ['minDateTime', 'maxDateTime'];
|
|
const VALIDATION_PROP_NAMES = [...DATE_VALIDATION_PROP_NAMES, ...TIME_VALIDATION_PROP_NAMES, ...DATE_TIME_VALIDATION_PROP_NAMES];
|
|
/**
|
|
* Extract the validation props for the props received by a component.
|
|
* Limit the risk of forgetting some of them and reduce the bundle size.
|
|
*/
|
|
export const extractValidationProps = props => VALIDATION_PROP_NAMES.reduce((extractedProps, propName) => {
|
|
if (props.hasOwnProperty(propName)) {
|
|
extractedProps[propName] = props[propName];
|
|
}
|
|
return extractedProps;
|
|
}, {}); |