2023-08-24 18:56:40 +03:00
import { GlobalConfiguration } from "../cfg"
import { QuartzPluginData } from "../plugins/vfile"
2023-07-01 10:03:01 +03:00
interface Props {
date : Date
}
2023-08-24 18:56:40 +03:00
export type ValidDateType = keyof Required < QuartzPluginData > [ "dates" ]
export function getDate ( cfg : GlobalConfiguration , data : QuartzPluginData ) : Date | undefined {
2023-08-24 19:17:43 +03:00
if ( ! cfg . defaultDateType ) {
2023-08-24 20:03:14 +03:00
throw new Error (
` Field 'defaultDateType' was not set in the configuration object of quartz.config.ts. See https://quartz.jzhao.xyz/configuration#general-configuration for more details. ` ,
)
2023-08-24 19:17:43 +03:00
}
2023-08-24 18:56:40 +03:00
return data . dates ? . [ cfg . defaultDateType ]
}
2023-08-09 07:28:09 +03:00
export function formatDate ( d : Date ) : string {
return d . toLocaleDateString ( "en-US" , {
2023-07-01 10:03:01 +03:00
year : "numeric" ,
month : "short" ,
2023-07-23 03:27:41 +03:00
day : "2-digit" ,
2023-07-01 10:03:01 +03:00
} )
2023-08-09 07:28:09 +03:00
}
export function Date ( { date } : Props ) {
return < > { formatDate ( date ) } < / >
2023-07-01 10:03:01 +03:00
}