/* eslint-disable */
export var currentYear = new Date().getFullYear();
export function isDef(value) {
  return value !== undefined && value !== null;
}
export function isValidDate(date) {
  return isDef(date) && !isNaN(new Date(date).getTime());
}
export function padZero(val) {
  return ("00" + val).slice(-2);
}
export function range(num, min, max) {
  return Math.min(Math.max(num, min), max);
}
export var defaultFormatter = function defaultFormatter(_type, value) {
  return value;
};
export function times(n, iteratee) {
  var index = -1;
  var result = Array(n < 0 ? 0 : n);

  while (index < n) {
    result[index] = iteratee(index);
    index += 1;
  }

  return result;
}
export function getMonthEndDay(year, month) {
  return 32 - new Date(year, month - 1, 32).getDate();
}
/**
 *
 * @param format 日期格式  示例YYYY-MM-DD hh:mm:ss
 * @param dateTime 时间戳
 */

export var formatDate = function formatDate(format, dateTime) {
  var fmt = format;
  var date = dateTime;

  if (typeof date === 'number') {
    date = new Date(date);
  }

  var opt = {
    'Y+': date.getFullYear().toString(),
    // 年
    'M+': (date.getMonth() + 1).toString(),
    // 月
    'D+': date.getDate().toString(),
    // 日
    'h+': date.getHours().toString(),
    // 时
    'm+': date.getMinutes().toString(),
    // 分
    's+': date.getSeconds().toString() // 秒
    // 有其他格式化字符需求可以继续添加，必须转化成字符串

  };

  for (var k in opt) {
    if (!Object.prototype.hasOwnProperty.call(opt, k)) {
      continue;
    }

    var ret = new RegExp("(" + k + ")").exec(fmt);

    if (ret) {
      var val = opt[k]; // @ts-ignore

      fmt = fmt.replace(ret[1], ret[1].length === 1 ? val : val.padStart(ret[1].length, '0'));
    }
  }

  return fmt;
};