import dayjs from 'dayjs';

var parseState = function parseState(props) {
  var defaultValue = props.defaultValue,
      mode = props.mode,
      direction = props.direction;
  var value = props.value;
  var tmpValue;
  value = value || defaultValue;
  value = Array.isArray(value) ? value : value ? [value] : [];
  tmpValue = value.map(function (item) {
    return dayjs(item).toDate();
  }).sort(function (item1, item2) {
    return +item1 - +item2;
  });

  if (mode === 'range') {
    tmpValue = [tmpValue[0], tmpValue[tmpValue.length - 1]];
  }

  var min = props.min ? dayjs(props.min).toDate() : dayjs().toDate(); // const startMonth = dayjs(min).toDate();

  var max = props.max ? dayjs(props.max).toDate() : dayjs(min).add(1, 'year').toDate(); // min、max 排序

  var duration = [min, max].sort(function (item1, item2) {
    return +item1 - +item2;
  });
  var steps = mode === 'range' ? 2 : 1;
  return {
    value: tmpValue,
    min: duration[0],
    max: duration[1],
    // 是否是入参更新(主要是月份跨度更新，需要重新定位)
    refresh: false,
    // 注掉该逻辑，强制根据 multiple 控制节点个数，后面改进
    // steps:Math.max(tmp.value.length, tmp.defaultValue.length);
    steps: steps,
    // 初始化点击步数
    mode: mode,
    direction: direction
  };
};

export default parseState;