File size: 928 Bytes
1b44660
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { getDb } from '@meridian/database';
import type { H3Event } from 'h3';

export const MONTH_NAMES = [
  'January',
  'February',
  'March',
  'April',
  'May',
  'June',
  'July',
  'August',
  'September',
  'October',
  'November',
  'December',
];

export interface FormattedDate {
  month: string;
  day: number;
  year: number;
}

export function formatReportDate(date: Date): FormattedDate {
  return {
    month: MONTH_NAMES[date.getUTCMonth()],
    day: date.getUTCDate(),
    year: date.getUTCFullYear(),
  };
}

export function generateReportSlug(date: Date): string {
  const { month, day, year } = formatReportDate(date);
  return `${month.toLowerCase()}-${day}-${year}`;
}

export function ensureDate(dateInput: Date | string | null | undefined): Date {
  return dateInput ? new Date(dateInput) : new Date();
}

export function getDB(event: H3Event) {
  return getDb(useRuntimeConfig(event).database.url);
}