import DateTool from '../../utils/date' ; const parseState = ( props ) => { const { defaultValue , multiple } = props ; let { value } = props ; let tmpValue ! ; value = value || defaultValue ; value = ( Object . prototype . toString . call ( value ) === '[object Array]' ? value : ( value && [ value ] ) || [ ] ) as Date [ ] ; tmpValue = value . slice ( 0 , multiple ? 2 : 1 ) . map ( ( item ) => DateTool . parseDay ( item ) ) ; tmpValue = tmpValue ! . sort ( ( item1 , item2 ) => + item1 - + item2 ) ; const min = props . min ? DateTool . parseDay ( props . min ) : new Date ( ) ; const startMonth = DateTool . cloneDate ( min , 'dd' , 1 ) ; const max = props . max ? DateTool . parseDay ( props . max ) : DateTool . cloneDate ( min , 'y' , 1 ) ; const endMonth = DateTool . cloneDate ( max , 'dd' , DateTool . getDaysByDate ( max ) ) ; const duration = [ min , max ] . sort ( ( item1 , item2 ) => + item1 - + item2 ) ; const tmp = { value : tmpValue , min : duration [ 0 ] , max : duration [ 1 ] , startMonth , endMonth , refresh : false , steps : multiple ? 2 : 1 , multiple , } ; return tmp ; } ; export default parseState ;