function formatTimeInterval(name, type, anchor) {
const format = type === "time" ? d3.timeFormat : d3.utcFormat;
if (anchor == null) {
return format(
name === "year"
? "%Y"
: name === "month"
? "%Y-%m"
: name === "day"
? "%Y-%m-%d"
: name === "hour" || name === "minute"
? "%Y-%m-%dT%H:%M"
: name === "second"
? "%Y-%m-%dT%H:%M:%S"
: "%Y-%m-%dT%H:%M:%S.%L"
);
}
const template = getTimeTemplate(anchor);
console.log({ template });
switch (name) {
case "millisecond":
return formatConditional(format(".%L"), format(":%M:%S"), template);
case "second":
return formatConditional(format(":%S"), format("%-I:%M"), template);
case "minute":
return formatConditional(format("%-I:%M"), format("%p"), template);
case "hour":
return formatConditional(format("%-I %p"), format("%b %-d"), template);
case "day":
return formatConditional(format("%-d"), format("%b"), template);
case "month":
return formatConditional(format("%b"), format("%Y"), template);
case "year":
return format("%Y");
}
throw new Error("unable to format time ticks");
}