text: export function debounce(func, delay) {
  
      let timer = null;
  
      return function(...args) {
              if (timer) clearTimeout(timer);
  
              timer = setTimeout(() => {
                  func.apply(this, args);
              }, delay)
          }
          // let timer = null;
  
      // return function(...args){
      //   if(timer) clearTimeout(timer);
  
      //   timer = setTimeout(() => {
      //     func.apply(this, args);
      //   }, delay)
      // }
  }
  
  export function formatDate(date, fmt) {
      if (/(y+)/.test(fmt)) {
          fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
      }
      let o = {
          'M+': date.getMonth() + 1,
          'd+': date.getDate(),
          'h+': date.getHours(),
          'm+': date.getMinutes(),
          's+': date.getSeconds()
      };
      for (let k in o) {
          if (new RegExp(`(${k})`).test(fmt)) {
              let str = o[k] + '';
              fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
          }
      }
      return fmt;
  };
  
  function padLeftZero(str) {
      return ('00' + str).substr(str.length);
  };