2023-08-25 00:56:40 +09:00
import { GlobalConfiguration } from "../cfg"
2024-02-05 13:57:10 +09:00
import { ValidLocale } from "../i18n"
2023-08-25 00:56:40 +09:00
import { QuartzPluginData } from "../plugins/vfile"
2023-07-01 16:03:01 +09:00
interface Props {
date : Date
2024-02-05 13:57:10 +09:00
locale? : ValidLocale
2023-07-01 16:03:01 +09:00
}
2023-08-25 00:56:40 +09:00
export type ValidDateType = keyof Required < QuartzPluginData > [ "dates" ]
export function getDate ( cfg : GlobalConfiguration , data : QuartzPluginData ) : Date | undefined {
2023-08-25 01:17:43 +09:00
if ( ! cfg . defaultDateType ) {
2023-08-25 02:03:14 +09: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-25 01:17:43 +09:00
}
2023-08-25 00:56:40 +09:00
return data . dates ? . [ cfg . defaultDateType ]
}
2024-02-12 12:17:22 +09:00
export function formatDate ( d : Date , locale : ValidLocale = "sv-SE" ) : string {
2024-02-12 12:19:14 +09:00
return d . toLocaleDateString ( 'sv-SE' )
2023-08-09 13:28:09 +09:00
}
2024-01-29 15:13:59 +09:00
export function Date ( { date , locale } : Props ) {
return < > { formatDate ( date , locale ) } < / >
2023-07-01 16:03:01 +09:00
}