Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
format: (date: Date): string => {
const format: (specifier: string) => (date: Date) => string = timezoneUTC.value
? utcFormat
: timeFormat;
return (timeSecond(date) < date
? format(".%L")
: timeMinute(date) < date
? format(":%S")
: timeHour(date) < date
? format("%H:%M")
: timeDay(date) < date
? format("%H:00")
: timeMonth(date) < date
? format("%a %d")
: timeYear(date) < date
? format("%B")
: timeFormat("%Y"))(date);
},
},
export function autoTimeFormat(date: Date) {
const formatMillisecond = timeFormat('.%L'),
formatSecond = timeFormat(':%S'),
formatMinute = timeFormat('%I:%M'),
formatHour = timeFormat('%I %p'),
formatDay = timeFormat('%a %d'),
formatWeek = timeFormat('%b %d'),
formatMonth = timeFormat('%B'),
formatYear = timeFormat('%Y');
return (timeSecond(date) < date ? formatMillisecond
: timeMinute(date) < date ? formatSecond
: timeHour(date) < date ? formatMinute
: timeDay(date) < date ? formatHour
: timeMonth(date) < date ? (timeWeek(date) < date ? formatDay : formatWeek)
: timeYear(date) < date ? formatMonth
: formatYear)(date);
}
return (originX, originY, d, yearIndex) => {
const weekOfYear = timeWeek.count(timeYear(d), d)
return {
x: originX + weekOfYear * (cellSize + daySpacing) + daySpacing / 2,
y:
originY +
d.getDay() * (cellSize + daySpacing) +
daySpacing / 2 +
yearIndex * (yearSpacing + 7 * (cellSize + daySpacing)),
}
}
}
function multiFormat(dateMs) {
const date = new Date(dateMs);
return timeYear(date) < date ? formatMonth(date) : formatYear(date);
}