@alifd/next
Version:
A configurable component library for web built on React.
25 lines (22 loc) • 848 B
JavaScript
import * as PT from 'prop-types';
import { CALENDAR_SHAPE, CALENDAR_MODE, DATE_PANEL_MODE } from './constant';
import { datejs } from '../util';
var error = function error(propName, ComponentName) {
return new Error('Invalid prop ' + propName + ' supplied to ' + ComponentName + '. Validation failed.');
};
var SharedPT = {
shape: PT.oneOf(Object.values(CALENDAR_SHAPE)),
mode: PT.oneOf(Object.values(CALENDAR_MODE)),
panelMode: PT.oneOf(Object.values(DATE_PANEL_MODE)),
// 日期类型:
// @string: 2020-11-11
// @date: 日期对象
// @moment: moment对象
// @dayjs: dayjs对象
date: function date(props, propName, componentName) {
if (propName in props && !datejs(props.propName).isValid()) {
throw error(propName, componentName);
}
}
};
export default SharedPT;