MCPcopy
hub / github.com/chart-kit/react-native-chart-kit / createTimeScale

Function createTimeScale

packages/core/src/scales/time.ts:10–42  ·  view source on GitHub ↗
({
  domain = "auto",
  values = [],
  range
}: CreateTimeScaleOptions)

Source from the content-addressed store, hash-verified

8};
9
10export const createTimeScale = ({
11 domain = "auto",
12 values = [],
13 range
14}: CreateTimeScaleOptions): TimeScale => {
15 const resolvedDomain = resolveTimeDomain(values, domain);
16 const domainMin = resolvedDomain[0].valueOf();
17 const domainSpan = resolvedDomain[1].valueOf() - domainMin;
18 const rangeSpan = range[1] - range[0];
19
20 return {
21 domain: resolvedDomain,
22 range,
23 scale: (value: Date) => {
24 if (domainSpan === 0) {
25 return range[0];
26 }
27
28 return (
29 range[0] + ((value.valueOf() - domainMin) / domainSpan) * rangeSpan
30 );
31 },
32 invert: (value: number) => {
33 if (rangeSpan === 0) {
34 return new Date(domainMin);
35 }
36
37 return new Date(
38 domainMin + ((value - range[0]) / rangeSpan) * domainSpan
39 );
40 }
41 };
42};

Callers 3

scales.test.tsFile · 0.90
buildLineChartXScaleFunction · 0.90

Calls 1

resolveTimeDomainFunction · 0.90

Tested by

no test coverage detected