UNPKG

react-native-chart-kit

Version:

Beautiful React Native charts for dashboards, reports, and data-rich mobile apps.

24 lines (23 loc) 846 B
import { resolveTimeDomain } from "./domain"; export const createTimeScale = ({ domain = "auto", values = [], range }) => { const resolvedDomain = resolveTimeDomain(values, domain); const domainMin = resolvedDomain[0].valueOf(); const domainSpan = resolvedDomain[1].valueOf() - domainMin; const rangeSpan = range[1] - range[0]; return { domain: resolvedDomain, range, scale: (value) => { if (domainSpan === 0) { return range[0]; } return (range[0] + ((value.valueOf() - domainMin) / domainSpan) * rangeSpan); }, invert: (value) => { if (rangeSpan === 0) { return new Date(domainMin); } return new Date(domainMin + ((value - range[0]) / rangeSpan) * domainSpan); } }; };