import * as crypto from 'crypto';
import dayjs from 'dayjs';

export function hashWithSHA256(string: string) {
  const encrypt = crypto.createHash('sha256').update(string).digest('hex');
  return 'INS-' + encrypt;
}

export function chunkArray<T>(arr: T[], chunkSize: number) {
  const chunk: T[][] = [];
  for (let i = 0; i < arr.length; i += chunkSize) {
    chunk.push(arr.slice(i, i + chunkSize));
  }
  return chunk;
}

// 날짜 포멧팅
export function formatDateRange(dateType: 'month' | 'day', date?: string) {
  const base = date ? dayjs(date) : dayjs();
  const dateRange = dateType === 'month' ? 'year' : 'month';

  return {
    startDate: base.startOf(dateRange).format('YYYY-MM-DD HH:mm:ss'),
    endDate: base.endOf(dateRange).format('YYYY-MM-DD HH:mm:ss'),
  };
}
