@d3fc/d3fc-discontinuous-scale
Version:
A D3 scale that supports domains that are not continuous, allowing 'breaks' in the scale, for example skipping weekends for a date scale.
13 lines (11 loc) • 613 B
JavaScript
import { utcDay, utcMillisecond } from 'd3-time';
import { base } from './skipWeeklyPattern';
import { dateTimeUtility } from './skipWeeklyPattern/dateTimeUtility';
export const utcDateTimeUtility = dateTimeUtility(
(date, hh, mm, ss, ms) => new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), hh, mm, ss, ms)),
date => date.getUTCDay(),
date => [date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds()],
utcDay,
utcMillisecond
);
export default (nonTradingUtcHoursPattern) => base(nonTradingUtcHoursPattern, utcDateTimeUtility);